PageSourceSearch

https://auction-house.ru/bitrix/cache/js/s1/rad/template_a65026c99…92a50fc2fc8c6c67971_v1.js?17877198241585138

js auction-house.ru collected 2026-10-02 05:06:35 UTC 1,585,138 bytes, 50,872 lines download raw bytes

1
2; /* Start:"a:4:{s:4:"full";s:56:"/local/templates/rad/static/js/main.js?17748691961555909";s:6:"source";s:38:"/local/templates/rad/static/js/main.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
3/*! jQuery v3.7.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
4!(function (e, t) {
5  "use strict";
6  "object" == typeof module && "object" == typeof module.exports
7    ? (module.exports = e.document
8        ? t(e, !0)
9        : function (e) {
10            if (!e.document)
11              throw new Error("jQuery requires a window with a document");
12            return t(e);
13          })
14    : t(e);
15})("undefined" != typeof window ? window : this, function (ie, e) {
16  "use strict";
17  var oe = [],
18    r = Object.getPrototypeOf,
19    ae = oe.slice,
20    g = oe.flat
21      ? function (e) {
22          return oe.flat.call(e);
23        }
24      : function (e) {
25          return oe.concat.apply([], e);
26        },
27    s = oe.push,
28    se = oe.indexOf,
29    n = {},
30    i = n.toString,
31    ue = n.hasOwnProperty,
32    o = ue.toString,
33    a = o.call(Object),
34    le = {},
35    v = function (e) {
36      return (
37        "function" == typeof e &&
38        "number" != typeof e.nodeType &&
39        "function" != typeof e.item
40      );
41    },
42    y = function (e) {
43      return null != e && e === e.window;
44    },
45    C = ie.document,
46    u = { type: !0, src: !0, nonce: !0, noModule: !0 };
47  function m(e, t, n) {
48    var r,
49      i,
50      o = (n = n || C).createElement("script");
51    if (((o.text = e), t))
52      for (r in u)
53        (i = t[r] || (t.getAttribute && t.getAttribute(r))) &&
54          o.setAttribute(r, i);
55    n.head.appendChild(o).parentNode.removeChild(o);
56  }
57  function x(e) {
58    return null == e
59      ? e + ""
60      : "object" == typeof e || "function" == typeof e
61      ? n[i.call(e)] || "object"
62      : typeof e;
63  }
64  var t = "3.7.0",
65    l = /HTML$/i,
66    ce = function (e, t) {
67      return new ce.fn.init(e, t);
68    };
69  function c(e) {
70    var t = !!e && "length" in e && e.length,
71      n = x(e);
72    return (
73      !v(e) &&
74      !y(e) &&
75      ("array" === n ||
76        0 === t ||
77        ("number" == typeof t && 0 < t && t - 1 in e))
78    );
79  }
80  function fe(e, t) {
81    return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase();
82  }
83  (ce.fn = ce.prototype =
84    {
85      jquery: t,
86      constructor: ce,
87      length: 0,
88      toArray: function () {
89        return ae.call(this);
90      },
91      get: function (e) {
92        return null == e
93          ? ae.call(this)
94          : e < 0
95          ? this[e + this.length]
96          : this[e];
97      },
98      pushStack: function (e) {
99        var t = ce.merge(this.constructor(), e);
100        return (t.prevObject = this), t;
101      },
102      each: function (e) {
103        return ce.each(this, e);
104      },
105      map: function (n) {
106        return this.pushStack(
107          ce.map(this, function (e, t) {
108            return n.call(e, t, e);
109          })
110        );
111      },
112      slice: function () {
113        return this.pushStack(ae.apply(this, arguments));
114      },
115      first: function () {
116        return this.eq(0);
117      },
118      last: function () {
119        return this.eq(-1);
120      },
121      even: function () {
122        return this.pushStack(
123          ce.grep(this, function (e, t) {
124            return (t + 1) % 2;
125          })
126        );
127      },
128      odd: function () {
129        return this.pushStack(
130          ce.grep(this, function (e, t) {
131            return t % 2;
132          })
133        );
134      },
135      eq: function (e) {
136        var t = this.length,
137          n = +e + (e < 0 ? t : 0);
138        return this.pushStack(0 <= n && n < t ? [this[n]] : []);
139      },
140      end: function () {
141        return this.prevObject || this.constructor();
142      },
143      push: s,
144      sort: oe.sort,
145      splice: oe.splice,
146    }),
147    (ce.extend = ce.fn.extend =
148      function () {
149        var e,
150          t,
151          n,
152          r,
153          i,
154          o,
155          a = arguments[0] || {},
156          s = 1,
157          u = arguments.length,
158          l = !1;
159        for (
160          "boolean" == typeof a && ((l = a), (a = arguments[s] || {}), s++),
161            "object" == typeof a || v(a) || (a = {}),
162            s === u && ((a = this), s--);
163          s < u;
164          s++
165        )
166          if (null != (e = arguments[s]))
167            for (t in e)
168              (r = e[t]),
169                "__proto__" !== t &&
170                  a !== r &&
171                  (l && r && (ce.isPlainObject(r) || (i = Array.isArray(r)))
172                    ? ((n = a[t]),
173                      (o =
174                        i && !Array.isArray(n)
175                          ? []
176                          : i || ce.isPlainObject(n)
177                          ? n
178                          : {}),
179                      (i = !1),
180                      (a[t] = ce.extend(l, o, r)))
181                    : void 0 !== r && (a[t] = r));
182        return a;
183      }),
184    ce.extend({
185      expando: "jQuery" + (t + Math.random()).replace(/\D/g, ""),
186      isReady: !0,
187      error: function (e) {
188        throw new Error(e);
189      },
190      noop: function () {},
191      isPlainObject: function (e) {
192        var t, n;
193        return (
194          !(!e || "[object Object]" !== i.call(e)) &&
195          (!(t = r(e)) ||
196            ("function" ==
197              typeof (n = ue.call(t, "constructor") && t.constructor) &&
198              o.call(n) === a))
199        );
200      },
201      isEmptyObject: function (e) {
202        var t;
203        for (t in e) return !1;
204        return !0;
205      },
206      globalEval: function (e, t, n) {
207        m(e, { nonce: t && t.nonce }, n);
208      },
209      each: function (e, t) {
210        var n,
211          r = 0;
212        if (c(e)) {
213          for (n = e.length; r < n; r++)
214            if (!1 === t.call(e[r], r, e[r])) break;
215        } else for (r in e) if (!1 === t.call(e[r], r, e[r])) break;
216        return e;
217      },
218      text: function (e) {
219        var t,
220          n = "",
221          r = 0,
222          i = e.nodeType;
223        if (i) {
224          if (1 === i || 9 === i || 11 === i) return e.textContent;
225          if (3 === i || 4 === i) return e.nodeValue;
226        } else while ((t = e[r++])) n += ce.text(t);
227        return n;
228      },
229      makeArray: function (e, t) {
230        var n = t || [];
231        return (
232          null != e &&
233            (c(Object(e))
234              ? ce.merge(n, "string" == typeof e ? [e] : e)
235              : s.call(n, e)),
236          n
237        );
238      },
239      inArray: function (e, t, n) {
240        return null == t ? -1 : se.call(t, e, n);
241      },
242      isXMLDoc: function (e) {
243        var t = e && e.namespaceURI,
244          n = e && (e.ownerDocument || e).documentElement;
245        return !l.test(t || (n && n.nodeName) || "HTML");
246      },
247      merge: function (e, t) {
248        for (var n = +t.length, r = 0, i = e.length; r < n; r++) e[i++] = t[r];
249        return (e.length = i), e;
250      },
251      grep: function (e, t, n) {
252        for (var r = [], i = 0, o = e.length, a = !n; i < o; i++)
253          !t(e[i], i) !== a && r.push(e[i]);
254        return r;
255      },
256      map: function (e, t, n) {
257        var r,
258          i,
259          o = 0,
260          a = [];
261        if (c(e))
262          for (r = e.length; o < r; o++)
263            null != (i = t(e[o], o, n)) && a.push(i);
264        else for (o in e) null != (i = t(e[o], o, n)) && a.push(i);
265        return g(a);
266      },
267      guid: 1,
268      support: le,
269    }),
270    "function" == typeof Symbol &&
271      (ce.fn[Symbol.iterator] = oe[Symbol.iterator]),
272    ce.each(
273      "Boolean Number String Function Array Date RegExp Object Error Symbol".split(
274        " "
275      ),
276      function (e, t) {
277        n["[object " + t + "]"] = t.toLowerCase();
278      }
279    );
280  var pe = oe.pop,
281    de = oe.sort,
282    he = oe.splice,
283    ge = "[\\x20\\t\\r\\n\\f]",
284    ve = new RegExp("^" + ge + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ge + "+$", "g");
285  ce.contains = function (e, t) {
286    var n = t && t.parentNode;
287    return (
288      e === n ||
289      !(
290        !n ||
291        1 !== n.nodeType ||
292        !(e.contains
293          ? e.contains(n)
294          : e.compareDocumentPosition && 16 & e.compareDocumentPosition(n))
295      )
296    );
297  };
298  var f = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
299  function p(e, t) {
300    return t
301      ? "\0" === e
302        ? "\ufffd"
303        : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " "
304      : "\\" + e;
305  }
306  ce.escapeSelector = function (e) {
307    return (e + "").replace(f, p);
308  };
309  var ye = C,
310    me = s;
311  !(function () {
312    var e,
313      b,
314      w,
315      o,
316      a,
317      T,
318      r,
319      C,
320      d,
321      i,
322      k = me,
323      S = ce.expando,
324      E = 0,
325      n = 0,
326      s = W(),
327      c = W(),
328      u = W(),
329      h = W(),
330      l = function (e, t) {
331        return e === t && (a = !0), 0;
332      },
333      f =
334        "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
335      t =
336        "(?:\\\\[\\da-fA-F]{1,6}" +
337        ge +
338        "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
339      p =
340        "\\[" +
341        ge +
342        "*(" +
343        t +
344        ")(?:" +
345        ge +
346        "*([*^$|!~]?=)" +
347        ge +
348        "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" +
349        t +
350        "))|)" +
351        ge +
352        "*\\]",
353      g =
354        ":(" +
355        t +
356        ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" +
357        p +
358        ")*)|.*)\\)|)",
359      v = new RegExp(ge + "+", "g"),
360      y = new RegExp("^" + ge + "*," + ge + "*"),
361      m = new RegExp("^" + ge + "*([>+~]|" + ge + ")" + ge + "*"),
362      x = new RegExp(ge + "|>"),
363      j = new RegExp(g),
364      A = new RegExp("^" + t + "$"),
365      D = {
366        ID: new RegExp("^#(" + t + ")"),
367        CLASS: new RegExp("^\\.(" + t + ")"),
368        TAG: new RegExp("^(" + t + "|[*])"),
369        ATTR: new RegExp("^" + p),
370        PSEUDO: new RegExp("^" + g),
371        CHILD: new RegExp(
372          "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
373            ge +
374            "*(even|odd|(([+-]|)(\\d*)n|)" +
375            ge +
376            "*(?:([+-]|)" +
377            ge +
378            "*(\\d+)|))" +
379            ge +
380            "*\\)|)",
381          "i"
382        ),
383        bool: new RegExp("^(?:" + f + ")$", "i"),
384        needsContext: new RegExp(
385          "^" +
386            ge +
387            "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
388            ge +
389            "*((?:-\\d)?\\d*)" +
390            ge +
391            "*\\)|)(?=[^-]|$)",
392          "i"
393        ),
394      },
395      N = /^(?:input|select|textarea|button)$/i,
396      q = /^h\d$/i,
397      L = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
398      H = /[+~]/,
399      O = new RegExp("\\\\[\\da-fA-F]{1,6}" + ge + "?|\\\\([^\\r\\n\\f])", "g"),
400      P = function (e, t) {
401        var n = "0x" + e.slice(1) - 65536;
402        return (
403          t ||
404          (n < 0
405            ? String.fromCharCode(n + 65536)
406            : String.fromCharCode((n >> 10) | 55296, (1023 & n) | 56320))
407        );
408      },
409      R = function () {
410        V();
411      },
412      M = J(
413        function (e) {
414          return !0 === e.disabled && fe(e, "fieldset");
415        },
416        { dir: "parentNode", next: "legend" }
417      );
418    try {
419      k.apply((oe = ae.call(ye.childNodes)), ye.childNodes),
420        oe[ye.childNodes.length].nodeType;
421    } catch (e) {
422      k = {
423        apply: function (e, t) {
424          me.apply(e, ae.call(t));
425        },
426        call: function (e) {
427          me.apply(e, ae.call(arguments, 1));
428        },
429      };
430    }
431    function I(t, e, n, r) {
432      var i,
433        o,
434        a,
435        s,
436        u,
437        l,
438        c,
439        f = e && e.ownerDocument,
440        p = e ? e.nodeType : 9;
441      if (
442        ((n = n || []),
443        "string" != typeof t || !t || (1 !== p && 9 !== p && 11 !== p))
444      )
445        return n;
446      if (!r && (V(e), (e = e || T), C)) {
447        if (11 !== p && (u = L.exec(t)))
448          if ((i = u[1])) {
449            if (9 === p) {
450              if (!(a = e.getElementById(i))) return n;
451              if (a.id === i) return k.call(n, a), n;
452            } else if (
453              f &&
454              (a = f.getElementById(i)) &&
455              I.contains(e, a) &&
456              a.id === i
457            )
458              return k.call(n, a), n;
459          } else {
460            if (u[2]) return k.apply(n, e.getElementsByTagName(t)), n;
461            if ((i = u[3]) && e.getElementsByClassName)
462              return k.apply(n, e.getElementsByClassName(i)), n;
463          }
464        if (!(h[t + " "] || (d && d.test(t)))) {
465          if (((c = t), (f = e), 1 === p && (x.test(t) || m.test(t)))) {
466            ((f = (H.test(t) && z(e.parentNode)) || e) == e && le.scope) ||
467              ((s = e.getAttribute("id"))
468                ? (s = ce.escapeSelector(s))
469                : e.setAttribute("id", (s = S))),
470              (o = (l = Y(t)).length);
471            while (o--) l[o] = (s ? "#" + s : ":scope") + " " + Q(l[o]);
472            c = l.join(",");
473          }
474          try {
475            return k.apply(n, f.querySelectorAll(c)), n;
476          } catch (e) {
477            h(t, !0);
478          } finally {
479            s === S && e.removeAttribute("id");
480          }
481        }
482      }
483      return re(t.replace(ve, "$1"), e, n, r);
484    }
485    function W() {
486      var r = [];
487      return function e(t, n) {
488        return (
489          r.push(t + " ") > b.cacheLength && delete e[r.shift()],
490          (e[t + " "] = n)
491        );
492      };
493    }
494    function F(e) {
495      return (e[S] = !0), e;
496    }
497    function $(e) {
498      var t = T.createElement("fieldset");
499      try {
500        return !!e(t);
501      } catch (e) {
502        return !1;
503      } finally {
504        t.parentNode && t.parentNode.removeChild(t), (t = null);
505      }
506    }
507    function B(t) {
508      return function (e) {
509        return fe(e, "input") && e.type === t;
510      };
511    }
512    function _(t) {
513      return function (e) {
514        return (fe(e, "input") || fe(e, "button")) && e.type === t;
515      };
516    }
517    function X(t) {
518      return function (e) {
519        return "form" in e
520          ? e.parentNode && !1 === e.disabled
521            ? "label" in e
522              ? "label" in e.parentNode
523                ? e.parentNode.disabled === t
524                : e.disabled === t
525              : e.isDisabled === t || (e.isDisabled !== !t && M(e) === t)
526            : e.disabled === t
527          : "label" in e && e.disabled === t;
528      };
529    }
530    function U(a) {
531      return F(function (o) {
532        return (
533          (o = +o),
534          F(function (e, t) {
535            var n,
536              r = a([], e.length, o),
537              i = r.length;
538            while (i--) e[(n = r[i])] && (e[n] = !(t[n] = e[n]));
539          })
540        );
541      });
542    }
543    function z(e) {
544      return e && "undefined" != typeof e.getElementsByTagName && e;
545    }
546    function V(e) {
547      var t,
548        n = e ? e.ownerDocument || e : ye;
549      return (
550        n != T &&
551          9 === n.nodeType &&
552          n.documentElement &&
553          ((r = (T = n).documentElement),
554          (C = !ce.isXMLDoc(T)),
555          (i = r.matches || r.webkitMatchesSelector || r.msMatchesSelector),
556          ye != T &&
557            (t = T.defaultView) &&
558            t.top !== t &&
559            t.addEventListener("unload", R),
560          (le.getById = $(function (e) {
561            return (
562              (r.appendChild(e).id = ce.expando),
563              !T.getElementsByName || !T.getElementsByName(ce.expando).length
564            );
565          })),
566          (le.disconnectedMatch = $(function (e) {
567            return i.call(e, "*");
568          })),
569          (le.scope = $(function () {
570            return T.querySelectorAll(":scope");
571          })),
572          (le.cssHas = $(function () {
573            try {
574              return T.querySelector(":has(*,:jqfake)"), !1;
575            } catch (e) {
576              return !0;
577            }
578          })),
579          le.getById
580            ? ((b.filter.ID = function (e) {
581                var t = e.replace(O, P);
582                return function (e) {
583                  return e.getAttribute("id") === t;
584                };
585              }),
586              (b.find.ID = function (e, t) {
587                if ("undefined" != typeof t.getElementById && C) {
588                  var n = t.getElementById(e);
589                  return n ? [n] : [];
590                }
591              }))
592            : ((b.filter.ID = function (e) {
593                var n = e.replace(O, P);
594                return function (e) {
595                  var t =
596                    "undefined" != typeof e.getAttributeNode &&
597                    e.getAttributeNode("id");
598                  return t && t.value === n;
599                };
600              }),
601              (b.find.ID = function (e, t) {
602                if ("undefined" != typeof t.getElementById && C) {
603                  var n,
604                    r,
605                    i,
606                    o = t.getElementById(e);
607                  if (o) {
608                    if ((n = o.getAttributeNode("id")) && n.value === e)
609                      return [o];
610                    (i = t.getElementsByName(e)), (r = 0);
611                    while ((o = i[r++]))
612                      if ((n = o.getAttributeNode("id")) && n.value === e)
613                        return [o];
614                  }
615                  return [];
616                }
617              })),
618          (b.find.TAG = function (e, t) {
619            return "undefined" != typeof t.getElementsByTagName
620              ? t.getElementsByTagName(e)
621              : t.querySelectorAll(e);
622          }),
623          (b.find.CLASS = function (e, t) {
624            if ("undefined" != typeof t.getElementsByClassName && C)
625              return t.getElementsByClassName(e);
626          }),
627          (d = []),
628          $(function (e) {
629            var t;
630            (r.appendChild(e).innerHTML =
631              "<a id='" +
632              S +
633              "' href='' disabled='disabled'></a><select id='" +
634              S +
635              "-\r\\' disabled='disabled'><option selected=''></option></select>"),
636              e.querySelectorAll("[selected]").length ||
637                d.push("\\[" + ge + "*(?:value|" + f + ")"),
638              e.querySelectorAll("[id~=" + S + "-]").length || d.push("~="),
639              e.querySelectorAll("a#" + S + "+*").length || d.push(".#.+[+~]"),
640              e.querySelectorAll(":checked").length || d.push(":checked"),
641              (t = T.createElement("input")).setAttribute("type", "hidden"),
642              e.appendChild(t).setAttribute("name", "D"),
643              (r.appendChild(e).disabled = !0),
644              2 !== e.querySelectorAll(":disabled").length &&
645                d.push(":enabled", ":disabled"),
646              (t = T.createElement("input")).setAttribute("name", ""),
647              e.appendChild(t),
648              e.querySelectorAll("[name='']").length ||
649                d.push("\\[" + ge + "*name" + ge + "*=" + ge + "*(?:''|\"\")");
650          }),
651          le.cssHas || d.push(":has"),
652          (d = d.length && new RegExp(d.join("|"))),
653          (l = function (e, t) {
654            if (e === t) return (a = !0), 0;
655            var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
656            return (
657              n ||
658              (1 &
659                (n =
660                  (e.ownerDocument || e) == (t.ownerDocument || t)
661                    ? e.compareDocumentPosition(t)
662                    : 1) ||
663              (!le.sortDetached && t.compareDocumentPosition(e) === n)
664                ? e === T || (e.ownerDocument == ye && I.contains(ye, e))
665                  ? -1
666                  : t === T || (t.ownerDocument == ye && I.contains(ye, t))
667                  ? 1
668                  : o
669                  ? se.call(o, e) - se.call(o, t)
670                  : 0
671                : 4 & n
672                ? -1
673                : 1)
674            );
675          })),
676        T
677      );
678    }
679    for (e in ((I.matches = function (e, t) {
680      return I(e, null, null, t);
681    }),
682    (I.matchesSelector = function (e, t) {
683      if ((V(e), C && !h[t + " "] && (!d || !d.test(t))))
684        try {
685          var n = i.call(e, t);
686          if (
687            n ||
688            le.disconnectedMatch ||
689            (e.document && 11 !== e.document.nodeType)
690          )
691            return n;
692        } catch (e) {
693          h(t, !0);
694        }
695      return 0 < I(t, T, null, [e]).length;
696    }),
697    (I.contains = function (e, t) {
698      return (e.ownerDocument || e) != T && V(e), ce.contains(e, t);
699    }),
700    (I.attr = function (e, t) {
701      (e.ownerDocument || e) != T && V(e);
702      var n = b.attrHandle[t.toLowerCase()],
703        r = n && ue.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !C) : void 0;
704      return void 0 !== r ? r : e.getAttribute(t);
705    }),
706    (I.error = function (e) {
707      throw new Error("Syntax error, unrecognized expression: " + e);
708    }),
709    (ce.uniqueSort = function (e) {
710      var t,
711        n = [],
712        r = 0,
713        i = 0;
714      if (
715        ((a = !le.sortStable),
716        (o = !le.sortStable && ae.call(e, 0)),
717        de.call(e, l),
718        a)
719      ) {
720        while ((t = e[i++])) t === e[i] && (r = n.push(i));
721        while (r--) he.call(e, n[r], 1);
722      }
723      return (o = null), e;
724    }),
725    (ce.fn.uniqueSort = function () {
726      return this.pushStack(ce.uniqueSort(ae.apply(this)));
727    }),
728    ((b = ce.expr =
729      {
730        cacheLength: 50,
731        createPseudo: F,
732        match: D,
733        attrHandle: {},
734        find: {},
735        relative: {
736          ">": { dir: "parentNode", first: !0 },
737          " ": { dir: "parentNode" },
738          "+": { dir: "previousSibling", first: !0 },
739          "~": { dir: "previousSibling" },
740        },
741        preFilter: {
742          ATTR: function (e) {
743            return (
744              (e[1] = e[1].replace(O, P)),
745              (e[3] = (e[3] || e[4] || e[5] || "").replace(O, P)),
746              "~=" === e[2] && (e[3] = " " + e[3] + " "),
747              e.slice(0, 4)
748            );
749          },
750          CHILD: function (e) {
751            return (
752              (e[1] = e[1].toLowerCase()),
753              "nth" === e[1].slice(0, 3)
754                ? (e[3] || I.error(e[0]),
755                  (e[4] = +(e[4]
756                    ? e[5] + (e[6] || 1)
757                    : 2 * ("even" === e[3] || "odd" === e[3]))),
758                  (e[5] = +(e[7] + e[8] || "odd" === e[3])))
759                : e[3] && I.error(e[0]),
760              e
761            );
762          },
763          PSEUDO: function (e) {
764            var t,
765              n = !e[6] && e[2];
766            return D.CHILD.test(e[0])
767              ? null
768              : (e[3]
769                  ? (e[2] = e[4] || e[5] || "")
770                  : n &&
771                    j.test(n) &&
772                    (t = Y(n, !0)) &&
773                    (t = n.indexOf(")", n.length - t) - n.length) &&
774                    ((e[0] = e[0].slice(0, t)), (e[2] = n.slice(0, t))),
775                e.slice(0, 3));
776          },
777        },
778        filter: {
779          TAG: function (e) {
780            var t = e.replace(O, P).toLowerCase();
781            return "*" === e
782              ? function () {
783                  return !0;
784                }
785              : function (e) {
786                  return fe(e, t);
787                };
788          },
789          CLASS: function (e) {
790            var t = s[e + " "];
791            return (
792              t ||
793              ((t = new RegExp("(^|" + ge + ")" + e + "(" + ge + "|$)")) &&
794                s(e, function (e) {
795                  return t.test(
796                    ("string" == typeof e.className && e.className) ||
797                      ("undefined" != typeof e.getAttribute &&
798                        e.getAttribute("class")) ||
799                      ""
800                  );
801                }))
802            );
803          },
804          ATTR: function (n, r, i) {
805            return function (e) {
806              var t = I.attr(e, n);
807              return null == t
808                ? "!=" === r
809                : !r ||
810                    ((t += ""),
811                    "=" === r
812                      ? t === i
813                      : "!=" === r
814                      ? t !== i
815                      : "^=" === r
816                      ? i && 0 === t.indexOf(i)
817                      : "*=" === r
818                      ? i && -1 < t.indexOf(i)
819                      : "$=" === r
820                      ? i && t.slice(-i.length) === i
821                      : "~=" === r
822                      ? -1 < (" " + t.replace(v, " ") + " ").indexOf(i)
823                      : "|=" === r &&
824                        (t === i || t.slice(0, i.length + 1) === i + "-"));
825            };
826          },
827          CHILD: function (d, e, t, h, g) {
828            var v = "nth" !== d.slice(0, 3),
829              y = "last" !== d.slice(-4),
830              m = "of-type" === e;
831            return 1 === h && 0 === g
832              ? function (e) {
833                  return !!e.parentNode;
834                }
835              : function (e, t, n) {
836                  var r,
837                    i,
838                    o,
839                    a,
840                    s,
841                    u = v !== y ? "nextSibling" : "previousSibling",
842                    l = e.parentNode,
843                    c = m && e.nodeName.toLowerCase(),
844                    f = !n && !m,
845                    p = !1;
846                  if (l) {
847                    if (v) {
848                      while (u) {
849                        o = e;
850                        while ((o = o[u]))
851                          if (m ? fe(o, c) : 1 === o.nodeType) return !1;
852                        s = u = "only" === d && !s && "nextSibling";
853                      }
854                      return !0;
855                    }
856                    if (((s = [y ? l.firstChild : l.lastChild]), y && f)) {
857                      (p =
858                        (a =
859                          (r = (i = l[S] || (l[S] = {}))[d] || [])[0] === E &&
860                          r[1]) && r[2]),
861                        (o = a && l.childNodes[a]);
862                      while ((o = (++a && o && o[u]) || (p = a = 0) || s.pop()))
863                        if (1 === o.nodeType && ++p && o === e) {
864                          i[d] = [E, a, p];
865                          break;
866                        }
867                    } else if (
868                      (f &&
869                        (p = a =
870                          (r = (i = e[S] || (e[S] = {}))[d] || [])[0] === E &&
871                          r[1]),
872                      !1 === p)
873                    )
874                      while ((o = (++a && o && o[u]) || (p = a = 0) || s.pop()))
875                        if (
876                          (m ? fe(o, c) : 1 === o.nodeType) &&
877                          ++p &&
878                          (f && ((i = o[S] || (o[S] = {}))[d] = [E, p]),
879                          o === e)
880                        )
881                          break;
882                    return (p -= g) === h || (p % h == 0 && 0 <= p / h);
883                  }
884                };
885          },
886          PSEUDO: function (e, o) {
887            var t,
888              a =
889                b.pseudos[e] ||
890                b.setFilters[e.toLowerCase()] ||
891                I.error("unsupported pseudo: " + e);
892            return a[S]
893              ? a(o)
894              : 1 < a.length
895              ? ((t = [e, e, "", o]),
896                b.setFilters.hasOwnProperty(e.toLowerCase())
897                  ? F(function (e, t) {
898                      var n,
899                        r = a(e, o),
900                        i = r.length;
901                      while (i--) e[(n = se.call(e, r[i]))] = !(t[n] = r[i]);
902                    })
903                  : function (e) {
904                      return a(e, 0, t);
905                    })
906              : a;
907          },
908        },
909        pseudos: {
910          not: F(function (e) {
911            var r = [],
912              i = [],
913              s = ne(e.replace(ve, "$1"));
914            return s[S]
915              ? F(function (e, t, n, r) {
916                  var i,
917                    o = s(e, null, r, []),
918                    a = e.length;
919                  while (a--) (i = o[a]) && (e[a] = !(t[a] = i));
920                })
921              : function (e, t, n) {
922                  return (r[0] = e), s(r, null, n, i), (r[0] = null), !i.pop();
923                };
924          }),
925          has: F(function (t) {
926            return function (e) {
927              return 0 < I(t, e).length;
928            };
929          }),
930          contains: F(function (t) {
931            return (
932              (t = t.replace(O, P)),
933              function (e) {
934                return -1 < (e.textContent || ce.text(e)).indexOf(t);
935              }
936            );
937          }),
938          lang: F(function (n) {
939            return (
940              A.test(n || "") || I.error("unsupported lang: " + n),
941              (n = n.replace(O, P).toLowerCase()),
942              function (e) {
943                var t;
944                do {
945                  if (
946                    (t = C
947                      ? e.lang
948                      : e.getAttribute("xml:lang") || e.getAttribute("lang"))
949                  )
950                    return (
951                      (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-")
952                    );
953                } while ((e = e.parentNode) && 1 === e.nodeType);
954                return !1;
955              }
956            );
957          }),
958          target: function (e) {
959            var t = ie.location && ie.location.hash;
960            return t && t.slice(1) === e.id;
961          },
962          root: function (e) {
963            return e === r;
964          },
965          focus: function (e) {
966            return (
967              e ===
968                (function () {
969                  try {
970                    return T.activeElement;
971                  } catch (e) {}
972                })() &&
973              T.hasFocus() &&
974              !!(e.type || e.href || ~e.tabIndex)
975            );
976          },
977          enabled: X(!1),
978          disabled: X(!0),
979          checked: function (e) {
980            return (
981              (fe(e, "input") && !!e.checked) ||
982              (fe(e, "option") && !!e.selected)
983            );
984          },
985          selected: function (e) {
986            return (
987              e.parentNode && e.parentNode.selectedIndex, !0 === e.selected
988            );
989          },
990          empty: function (e) {
991            for (e = e.firstChild; e; e = e.nextSibling)
992              if (e.nodeType < 6) return !1;
993            return !0;
994          },
995          parent: function (e) {
996            return !b.pseudos.empty(e);
997          },
998          header: function (e) {
999            return q.test(e.nodeName);
1000          },
1001          input: function (e) {
1002            return N.test(e.nodeName);
1003          },
1004          button: function (e) {
1005            return (fe(e, "input") && "button" === e.type) || fe(e, "button");
1006          },
1007          text: function (e) {
1008            var t;
1009            return (
1010              fe(e, "input") &&
1011              "text" === e.type &&
1012              (null == (t = e.getAttribute("type")) ||
1013                "text" === t.toLowerCase())
1014            );
1015          },
1016          first: U(function () {
1017            return [0];
1018          }),
1019          last: U(function (e, t) {
1020            return [t - 1];
1021          }),
1022          eq: U(function (e, t, n) {
1023            return [n < 0 ? n + t : n];
1024          }),
1025          even: U(function (e, t) {
1026            for (var n = 0; n < t; n += 2) e.push(n);
1027            return e;
1028          }),
1029          odd: U(function (e, t) {
1030            for (var n = 1; n < t; n += 2) e.push(n);
1031            return e;
1032          }),
1033          lt: U(function (e, t, n) {
1034            var r;
1035            for (r = n < 0 ? n + t : t < n ? t : n; 0 <= --r; ) e.push(r);
1036            return e;
1037          }),
1038          gt: U(function (e, t, n) {
1039            for (var r = n < 0 ? n + t : n; ++r < t; ) e.push(r);
1040            return e;
1041          }),
1042        },
1043      }).pseudos.nth = b.pseudos.eq),
1044    { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }))
1045      b.pseudos[e] = B(e);
1046    for (e in { submit: !0, reset: !0 }) b.pseudos[e] = _(e);
1047    function G() {}
1048    function Y(e, t) {
1049      var n,
1050        r,
1051        i,
1052        o,
1053        a,
1054        s,
1055        u,
1056        l = c[e + " "];
1057      if (l) return t ? 0 : l.slice(0);
1058      (a = e), (s = []), (u = b.preFilter);
1059      while (a) {
1060        for (o in ((n && !(r = y.exec(a))) ||
1061          (r && (a = a.slice(r[0].length) || a), s.push((i = []))),
1062        (n = !1),
1063        (r = m.exec(a)) &&
1064          ((n = r.shift()),
1065          i.push({ value: n, type: r[0].replace(ve, " ") }),
1066          (a = a.slice(n.length))),
1067        b.filter))
1068          !(r = D[o].exec(a)) ||
1069            (u[o] && !(r = u[o](r))) ||
1070            ((n = r.shift()),
1071            i.push({ value: n, type: o, matches: r }),
1072            (a = a.slice(n.length)));
1073        if (!n) break;
1074      }
1075      return t ? a.length : a ? I.error(e) : c(e, s).slice(0);
1076    }
1077    function Q(e) {
1078      for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value;
1079      return r;
1080    }
1081    function J(a, e, t) {
1082      var s = e.dir,
1083        u = e.next,
1084        l = u || s,
1085        c = t && "parentNode" === l,
1086        f = n++;
1087      return e.first
1088        ? function (e, t, n) {
1089            while ((e = e[s])) if (1 === e.nodeType || c) return a(e, t, n);
1090            return !1;
1091          }
1092        : function (e, t, n) {
1093            var r,
1094              i,
1095              o = [E, f];
1096            if (n) {
1097              while ((e = e[s]))
1098                if ((1 === e.nodeType || c) && a(e, t, n)) return !0;
1099            } else
1100              while ((e = e[s]))
1101                if (1 === e.nodeType || c)
1102                  if (((i = e[S] || (e[S] = {})), u && fe(e, u))) e = e[s] || e;
1103                  else {
1104                    if ((r = i[l]) && r[0] === E && r[1] === f)
1105                      return (o[2] = r[2]);
1106                    if (((i[l] = o)[2] = a(e, t, n))) return !0;
1107                  }
1108            return !1;
1109          };
1110    }
1111    function K(i) {
1112      return 1 < i.length
1113        ? function (e, t, n) {
1114            var r = i.length;
1115            while (r--) if (!i[r](e, t, n)) return !1;
1116            return !0;
1117          }
1118        : i[0];
1119    }
1120    function Z(e, t, n, r, i) {
1121      for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++)
1122        (o = e[s]) && ((n && !n(o, r, i)) || (a.push(o), l && t.push(s)));
1123      return a;
1124    }
1125    function ee(d, h, g, v, y, e) {
1126      return (
1127        v && !v[S] && (v = ee(v)),
1128        y && !y[S] && (y = ee(y, e)),
1129        F(function (e, t, n, r) {
1130          var i,
1131            o,
1132            a,
1133            s,
1134            u = [],
1135            l = [],
1136            c = t.length,
1137            f =
1138              e ||
1139              (function (e, t, n) {
1140                for (var r = 0, i = t.length; r < i; r++) I(e, t[r], n);
1141                return n;
1142              })(h || "*", n.nodeType ? [n] : n, []),
1143            p = !d || (!e && h) ? f : Z(f, u, d, n, r);
1144          if (
1145            (g ? g(p, (s = y || (e ? d : c || v) ? [] : t), n, r) : (s = p), v)
1146          ) {
1147            (i = Z(s, l)), v(i, [], n, r), (o = i.length);
1148            while (o--) (a = i[o]) && (s[l[o]] = !(p[l[o]] = a));
1149          }
1150          if (e) {
1151            if (y || d) {
1152              if (y) {
1153                (i = []), (o = s.length);
1154                while (o--) (a = s[o]) && i.push((p[o] = a));
1155                y(null, (s = []), i, r);
1156              }
1157              o = s.length;
1158              while (o--)
1159                (a = s[o]) &&
1160                  -1 < (i = y ? se.call(e, a) : u[o]) &&
1161                  (e[i] = !(t[i] = a));
1162            }
1163          } else (s = Z(s === t ? s.splice(c, s.length) : s)), y ? y(null, t, s, r) : k.apply(t, s);
1164        })
1165      );
1166    }
1167    function te(e) {
1168      for (
1169        var i,
1170          t,
1171          n,
1172          r = e.length,
1173          o = b.relative[e[0].type],
1174          a = o || b.relative[" "],
1175          s = o ? 1 : 0,
1176          u = J(
1177            function (e) {
1178              return e === i;
1179            },
1180            a,
1181            !0
1182          ),
1183          l = J(
1184            function (e) {
1185              return -1 < se.call(i, e);
1186            },
1187            a,
1188            !0
1189          ),
1190          c = [
1191            function (e, t, n) {
1192              var r =
1193                (!o && (n || t != w)) ||
1194                ((i = t).nodeType ? u(e, t, n) : l(e, t, n));
1195              return (i = null), r;
1196            },
1197          ];
1198        s < r;
1199        s++
1200      )
1201        if ((t = b.relative[e[s].type])) c = [J(K(c), t)];
1202        else {
1203          if ((t = b.filter[e[s].type].apply(null, e[s].matches))[S]) {
1204            for (n = ++s; n < r; n++) if (b.relative[e[n].type]) break;
1205            return ee(
1206              1 < s && K(c),
1207              1 < s &&
1208                Q(
1209                  e
1210                    .slice(0, s - 1)
1211                    .concat({ value: " " === e[s - 2].type ? "*" : "" })
1212                ).replace(ve, "$1"),
1213              t,
1214              s < n && te(e.slice(s, n)),
1215              n < r && te((e = e.slice(n))),
1216              n < r && Q(e)
1217            );
1218          }
1219          c.push(t);
1220        }
1221      return K(c);
1222    }
1223    function ne(e, t) {
1224      var n,
1225        v,
1226        y,
1227        m,
1228        x,
1229        r,
1230        i = [],
1231        o = [],
1232        a = u[e + " "];
1233      if (!a) {
1234        t || (t = Y(e)), (n = t.length);
1235        while (n--) (a = te(t[n]))[S] ? i.push(a) : o.push(a);
1236        (a = u(
1237          e,
1238          ((v = o),
1239          (m = 0 < (y = i).length),
1240          (x = 0 < v.length),
1241          (r = function (e, t, n, r, i) {
1242            var o,
1243              a,
1244              s,
1245              u = 0,
1246              l = "0",
1247              c = e && [],
1248              f = [],
1249              p = w,
1250              d = e || (x && b.find.TAG("*", i)),
1251              h = (E += null == p ? 1 : Math.random() || 0.1),
1252              g = d.length;
1253            for (
1254              i && (w = t == T || t || i);
1255              l !== g && null != (o = d[l]);
1256              l++
1257            ) {
1258              if (x && o) {
1259                (a = 0), t || o.ownerDocument == T || (V(o), (n = !C));
1260                while ((s = v[a++]))
1261                  if (s(o, t || T, n)) {
1262                    k.call(r, o);
1263                    break;
1264                  }
1265                i && (E = h);
1266              }
1267              m && ((o = !s && o) && u--, e && c.push(o));
1268            }
1269            if (((u += l), m && l !== u)) {
1270              a = 0;
1271              while ((s = y[a++])) s(c, f, t, n);
1272              if (e) {
1273                if (0 < u) while (l--) c[l] || f[l] || (f[l] = pe.call(r));
1274                f = Z(f);
1275              }
1276              k.apply(r, f),
1277                i && !e && 0 < f.length && 1 < u + y.length && ce.uniqueSort(r);
1278            }
1279            return i && ((E = h), (w = p)), c;
1280          }),
1281          m ? F(r) : r)
1282        )).selector = e;
1283      }
1284      return a;
1285    }
1286    function re(e, t, n, r) {
1287      var i,
1288        o,
1289        a,
1290        s,
1291        u,
1292        l = "function" == typeof e && e,
1293        c = !r && Y((e = l.selector || e));
1294      if (((n = n || []), 1 === c.length)) {
1295        if (
1296          2 < (o = c[0] = c[0].slice(0)).length &&
1297          "ID" === (a = o[0]).type &&
1298          9 === t.nodeType &&
1299          C &&
1300          b.relative[o[1].type]
1301        ) {
1302          if (!(t = (b.find.ID(a.matches[0].replace(O, P), t) || [])[0]))
1303            return n;
1304          l && (t = t.parentNode), (e = e.slice(o.shift().value.length));
1305        }
1306        i = D.needsContext.test(e) ? 0 : o.length;
1307        while (i--) {
1308          if (((a = o[i]), b.relative[(s = a.type)])) break;
1309          if (
1310            (u = b.find[s]) &&
1311            (r = u(
1312              a.matches[0].replace(O, P),
1313              (H.test(o[0].type) && z(t.parentNode)) || t
1314            ))
1315          ) {
1316            if ((o.splice(i, 1), !(e = r.length && Q(o))))
1317              return k.apply(n, r), n;
1318            break;
1319          }
1320        }
1321      }
1322      return (
1323        (l || ne(e, c))(r, t, !C, n, !t || (H.test(e) && z(t.parentNode)) || t),
1324        n
1325      );
1326    }
1327    (G.prototype = b.filters = b.pseudos),
1328      (b.setFilters = new G()),
1329      (le.sortStable = S.split("").sort(l).join("") === S),
1330      V(),
1331      (le.sortDetached = $(function (e) {
1332        return 1 & e.compareDocumentPosition(T.createElement("fieldset"));
1333      })),
1334      (ce.find = I),
1335      (ce.expr[":"] = ce.expr.pseudos),
1336      (ce.unique = ce.uniqueSort),
1337      (I.compile = ne),
1338      (I.select = re),
1339      (I.setDocument = V),
1340      (I.escape = ce.escapeSelector),
1341      (I.getText = ce.text),
1342      (I.isXML = ce.isXMLDoc),
1343      (I.selectors = ce.expr),
1344      (I.support = ce.support),
1345      (I.uniqueSort = ce.uniqueSort);
1346  })();
1347  var d = function (e, t, n) {
1348      var r = [],
1349        i = void 0 !== n;
1350      while ((e = e[t]) && 9 !== e.nodeType)
1351        if (1 === e.nodeType) {
1352          if (i && ce(e).is(n)) break;
1353          r.push(e);
1354        }
1355      return r;
1356    },
1357    h = function (e, t) {
1358      for (var n = []; e; e = e.nextSibling)
1359        1 === e.nodeType && e !== t && n.push(e);
1360      return n;
1361    },
1362    b = ce.expr.match.needsContext,
1363    w = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
1364  function T(e, n, r) {
1365    return v(n)
1366      ? ce.grep(e, function (e, t) {
1367          return !!n.call(e, t, e) !== r;
1368        })
1369      : n.nodeType
1370      ? ce.grep(e, function (e) {
1371          return (e === n) !== r;
1372        })
1373      : "string" != typeof n
1374      ? ce.grep(e, function (e) {
1375          return -1 < se.call(n, e) !== r;
1376        })
1377      : ce.filter(n, e, r);
1378  }
1379  (ce.filter = function (e, t, n) {
1380    var r = t[0];
1381    return (
1382      n && (e = ":not(" + e + ")"),
1383      1 === t.length && 1 === r.nodeType
1384        ? ce.find.matchesSelector(r, e)
1385          ? [r]
1386          : []
1387        : ce.find.matches(
1388            e,
1389            ce.grep(t, function (e) {
1390              return 1 === e.nodeType;
1391            })
1392          )
1393    );
1394  }),
1395    ce.fn.extend({
1396      find: function (e) {
1397        var t,
1398          n,
1399          r = this.length,
1400          i = this;
1401        if ("string" != typeof e)
1402          return this.pushStack(
1403            ce(e).filter(function () {
1404              for (t = 0; t < r; t++) if (ce.contains(i[t], this)) return !0;
1405            })
1406          );
1407        for (n = this.pushStack([]), t = 0; t < r; t++) ce.find(e, i[t], n);
1408        return 1 < r ? ce.uniqueSort(n) : n;
1409      },
1410      filter: function (e) {
1411        return this.pushStack(T(this, e || [], !1));
1412      },
1413      not: function (e) {
1414        return this.pushStack(T(this, e || [], !0));
1415      },
1416      is: function (e) {
1417        return !!T(
1418          this,
1419          "string" == typeof e && b.test(e) ? ce(e) : e || [],
1420          !1
1421        ).length;
1422      },
1423    });
1424  var k,
1425    S = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
1426  ((ce.fn.init = function (e, t, n) {
1427    var r, i;
1428    if (!e) return this;
1429    if (((n = n || k), "string" == typeof e)) {
1430      if (
1431        !(r =
1432          "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length
1433            ? [null, e, null]
1434            : S.exec(e)) ||
1435        (!r[1] && t)
1436      )
1437        return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
1438      if (r[1]) {
1439        if (
1440          ((t = t instanceof ce ? t[0] : t),
1441          ce.merge(
1442            this,
1443            ce.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : C, !0)
1444          ),
1445          w.test(r[1]) && ce.isPlainObject(t))
1446        )
1447          for (r in t) v(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
1448        return this;
1449      }
1450      return (
1451        (i = C.getElementById(r[2])) && ((this[0] = i), (this.length = 1)), this
1452      );
1453    }
1454    return e.nodeType
1455      ? ((this[0] = e), (this.length = 1), this)
1456      : v(e)
1457      ? void 0 !== n.ready
1458        ? n.ready(e)
1459        : e(ce)
1460      : ce.makeArray(e, this);
1461  }).prototype = ce.fn),
1462    (k = ce(C));
1463  var E = /^(?:parents|prev(?:Until|All))/,
1464    j = { children: !0, contents: !0, next: !0, prev: !0 };
1465  function A(e, t) {
1466    while ((e = e[t]) && 1 !== e.nodeType);
1467    return e;
1468  }
1469  ce.fn.extend({
1470    has: function (e) {
1471      var t = ce(e, this),
1472        n = t.length;
1473      return this.filter(function () {
1474        for (var e = 0; e < n; e++) if (ce.contains(this, t[e])) return !0;
1475      });
1476    },
1477    closest: function (e, t) {
1478      var n,
1479        r = 0,
1480        i = this.length,
1481        o = [],
1482        a = "string" != typeof e && ce(e);
1483      if (!b.test(e))
1484        for (; r < i; r++)
1485          for (n = this[r]; n && n !== t; n = n.parentNode)
1486            if (
1487              n.nodeType < 11 &&
1488              (a
1489                ? -1 < a.index(n)
1490                : 1 === n.nodeType && ce.find.matchesSelector(n, e))
1491            ) {
1492              o.push(n);
1493              break;
1494            }
1495      return this.pushStack(1 < o.length ? ce.uniqueSort(o) : o);
1496    },
1497    index: function (e) {
1498      return e
1499        ? "string" == typeof e
1500          ? se.call(ce(e), this[0])
1501          : se.call(this, e.jquery ? e[0] : e)
1502        : this[0] && this[0].parentNode
1503        ? this.first().prevAll().length
1504        : -1;
1505    },
1506    add: function (e, t) {
1507      return this.pushStack(ce.uniqueSort(ce.merge(this.get(), ce(e, t))));
1508    },
1509    addBack: function (e) {
1510      return this.add(null == e ? this.prevObject : this.prevObject.filter(e));
1511    },
1512  }),
1513    ce.each(
1514      {
1515        parent: function (e) {
1516          var t = e.parentNode;
1517          return t && 11 !== t.nodeType ? t : null;
1518        },
1519        parents: function (e) {
1520          return d(e, "parentNode");
1521        },
1522        parentsUntil: function (e, t, n) {
1523          return d(e, "parentNode", n);
1524        },
1525        next: function (e) {
1526          return A(e, "nextSibling");
1527        },
1528        prev: function (e) {
1529          return A(e, "previousSibling");
1530        },
1531        nextAll: function (e) {
1532          return d(e, "nextSibling");
1533        },
1534        prevAll: function (e) {
1535          return d(e, "previousSibling");
1536        },
1537        nextUntil: function (e, t, n) {
1538          return d(e, "nextSibling", n);
1539        },
1540        prevUntil: function (e, t, n) {
1541          return d(e, "previousSibling", n);
1542        },
1543        siblings: function (e) {
1544          return h((e.parentNode || {}).firstChild, e);
1545        },
1546        children: function (e) {
1547          return h(e.firstChild);
1548        },
1549        contents: function (e) {
1550          return null != e.contentDocument && r(e.contentDocument)
1551            ? e.contentDocument
1552            : (fe(e, "template") && (e = e.content || e),
1553              ce.merge([], e.childNodes));
1554        },
1555      },
1556      function (r, i) {
1557        ce.fn[r] = function (e, t) {
1558          var n = ce.map(this, i, e);
1559          return (
1560            "Until" !== r.slice(-5) && (t = e),
1561            t && "string" == typeof t && (n = ce.filter(t, n)),
1562            1 < this.length &&
1563              (j[r] || ce.uniqueSort(n), E.test(r) && n.reverse()),
1564            this.pushStack(n)
1565          );
1566        };
1567      }
1568    );
1569  var D = /[^\x20\t\r\n\f]+/g;
1570  function N(e) {
1571    return e;
1572  }
1573  function q(e) {
1574    throw e;
1575  }
1576  function L(e, t, n, r) {
1577    var i;
1578    try {
1579      e && v((i = e.promise))
1580        ? i.call(e).done(t).fail(n)
1581        : e && v((i = e.then))
1582        ? i.call(e, t, n)
1583        : t.apply(void 0, [e].slice(r));
1584    } catch (e) {
1585      n.apply(void 0, [e]);
1586    }
1587  }
1588  (ce.Callbacks = function (r) {
1589    var e, n;
1590    r =
1591      "string" == typeof r
1592        ? ((e = r),
1593          (n = {}),
1594          ce.each(e.match(D) || [], function (e, t) {
1595            n[t] = !0;
1596          }),
1597          n)
1598        : ce.extend({}, r);
1599    var i,
1600      t,
1601      o,
1602      a,
1603      s = [],
1604      u = [],
1605      l = -1,
1606      c = function () {
1607        for (a = a || r.once, o = i = !0; u.length; l = -1) {
1608          t = u.shift();
1609          while (++l < s.length)
1610            !1 === s[l].apply(t[0], t[1]) &&
1611              r.stopOnFalse &&
1612              ((l = s.length), (t = !1));
1613        }
1614        r.memory || (t = !1), (i = !1), a && (s = t ? [] : "");
1615      },
1616      f = {
1617        add: function () {
1618          return (
1619            s &&
1620              (t && !i && ((l = s.length - 1), u.push(t)),
1621              (function n(e) {
1622                ce.each(e, function (e, t) {
1623                  v(t)
1624                    ? (r.unique && f.has(t)) || s.push(t)
1625                    : t && t.length && "string" !== x(t) && n(t);
1626                });
1627              })(arguments),
1628              t && !i && c()),
1629            this
1630          );
1631        },
1632        remove: function () {
1633          return (
1634            ce.each(arguments, function (e, t) {
1635              var n;
1636              while (-1 < (n = ce.inArray(t, s, n)))
1637                s.splice(n, 1), n <= l && l--;
1638            }),
1639            this
1640          );
1641        },
1642        has: function (e) {
1643          return e ? -1 < ce.inArray(e, s) : 0 < s.length;
1644        },
1645        empty: function () {
1646          return s && (s = []), this;
1647        },
1648        disable: function () {
1649          return (a = u = []), (s = t = ""), this;
1650        },
1651        disabled: function () {
1652          return !s;
1653        },
1654        lock: function () {
1655          return (a = u = []), t || i || (s = t = ""), this;
1656        },
1657        locked: function () {
1658          return !!a;
1659        },
1660        fireWith: function (e, t) {
1661          return (
1662            a ||
1663              ((t = [e, (t = t || []).slice ? t.slice() : t]),
1664              u.push(t),
1665              i || c()),
1666            this
1667          );
1668        },
1669        fire: function () {
1670          return f.fireWith(this, arguments), this;
1671        },
1672        fired: function () {
1673          return !!o;
1674        },
1675      };
1676    return f;
1677  }),
1678    ce.extend({
1679      Deferred: function (e) {
1680        var o = [
1681            [
1682              "notify",
1683              "progress",
1684              ce.Callbacks("memory"),
1685              ce.Callbacks("memory"),
1686              2,
1687            ],
1688            [
1689              "resolve",
1690              "done",
1691              ce.Callbacks("once memory"),
1692              ce.Callbacks("once memory"),
1693              0,
1694              "resolved",
1695            ],
1696            [
1697              "reject",
1698              "fail",
1699              ce.Callbacks("once memory"),
1700              ce.Callbacks("once memory"),
1701              1,
1702              "rejected",
1703            ],
1704          ],
1705          i = "pending",
1706          a = {
1707            state: function () {
1708              return i;
1709            },
1710            always: function () {
1711              return s.done(arguments).fail(arguments), this;
1712            },
1713            catch: function (e) {
1714              return a.then(null, e);
1715            },
1716            pipe: function () {
1717              var i = arguments;
1718              return ce
1719                .Deferred(function (r) {
1720                  ce.each(o, function (e, t) {
1721                    var n = v(i[t[4]]) && i[t[4]];
1722                    s[t[1]](function () {
1723                      var e = n && n.apply(this, arguments);
1724                      e && v(e.promise)
1725                        ? e
1726                            .promise()
1727                            .progress(r.notify)
1728                            .done(r.resolve)
1729                            .fail(r.reject)
1730                        : r[t[0] + "With"](this, n ? [e] : arguments);
1731                    });
1732                  }),
1733                    (i = null);
1734                })
1735                .promise();
1736            },
1737            then: function (t, n, r) {
1738              var u = 0;
1739              function l(i, o, a, s) {
1740                return function () {
1741                  var n = this,
1742                    r = arguments,
1743                    e = function () {
1744                      var e, t;
1745                      if (!(i < u)) {
1746                        if ((e = a.apply(n, r)) === o.promise())
1747                          throw new TypeError("Thenable self-resolution");
1748                        (t =
1749                          e &&
1750                          ("object" == typeof e || "function" == typeof e) &&
1751                          e.then),
1752                          v(t)
1753                            ? s
1754                              ? t.call(e, l(u, o, N, s), l(u, o, q, s))
1755                              : (u++,
1756                                t.call(
1757                                  e,
1758                                  l(u, o, N, s),
1759                                  l(u, o, q, s),
1760                                  l(u, o, N, o.notifyWith)
1761                                ))
1762                            : (a !== N && ((n = void 0), (r = [e])),
1763                              (s || o.resolveWith)(n, r));
1764                      }
1765                    },
1766                    t = s
1767                      ? e
1768                      : function () {
1769                          try {
1770                            e();
1771                          } catch (e) {
1772                            ce.Deferred.exceptionHook &&
1773                              ce.Deferred.exceptionHook(e, t.error),
1774                              u <= i + 1 &&
1775                                (a !== q && ((n = void 0), (r = [e])),
1776                                o.rejectWith(n, r));
1777                          }
1778                        };
1779                  i
1780                    ? t()
1781                    : (ce.Deferred.getErrorHook
1782                        ? (t.error = ce.Deferred.getErrorHook())
1783                        : ce.Deferred.getStackHook &&
1784                          (t.error = ce.Deferred.getStackHook()),
1785                      ie.setTimeout(t));
1786                };
1787              }
1788              return ce
1789                .Deferred(function (e) {
1790                  o[0][3].add(l(0, e, v(r) ? r : N, e.notifyWith)),
1791                    o[1][3].add(l(0, e, v(t) ? t : N)),
1792                    o[2][3].add(l(0, e, v(n) ? n : q));
1793                })
1794                .promise();
1795            },
1796            promise: function (e) {
1797              return null != e ? ce.extend(e, a) : a;
1798            },
1799          },
1800          s = {};
1801        return (
1802          ce.each(o, function (e, t) {
1803            var n = t[2],
1804              r = t[5];
1805            (a[t[1]] = n.add),
1806              r &&
1807                n.add(
1808                  function () {
1809                    i = r;
1810                  },
1811                  o[3 - e][2].disable,
1812                  o[3 - e][3].disable,
1813                  o[0][2].lock,
1814                  o[0][3].lock
1815                ),
1816              n.add(t[3].fire),
1817              (s[t[0]] = function () {
1818                return (
1819                  s[t[0] + "With"](this === s ? void 0 : this, arguments), this
1820                );
1821              }),
1822              (s[t[0] + "With"] = n.fireWith);
1823          }),
1824          a.promise(s),
1825          e && e.call(s, s),
1826          s
1827        );
1828      },
1829      when: function (e) {
1830        var n = arguments.length,
1831          t = n,
1832          r = Array(t),
1833          i = ae.call(arguments),
1834          o = ce.Deferred(),
1835          a = function (t) {
1836            return function (e) {
1837              (r[t] = this),
1838                (i[t] = 1 < arguments.length ? ae.call(arguments) : e),
1839                --n || o.resolveWith(r, i);
1840            };
1841          };
1842        if (
1843          n <= 1 &&
1844          (L(e, o.done(a(t)).resolve, o.reject, !n),
1845          "pending" === o.state() || v(i[t] && i[t].then))
1846        )
1847          return o.then();
1848        while (t--) L(i[t], a(t), o.reject);
1849        return o.promise();
1850      },
1851    });
1852  var H = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
1853  (ce.Deferred.exceptionHook = function (e, t) {
1854    ie.console &&
1855      ie.console.warn &&
1856      e &&
1857      H.test(e.name) &&
1858      ie.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t);
1859  }),
1860    (ce.readyException = function (e) {
1861      ie.setTimeout(function () {
1862        throw e;
1863      });
1864    });
1865  var O = ce.Deferred();
1866  function P() {
1867    C.removeEventListener("DOMContentLoaded", P),
1868      ie.removeEventListener("load", P),
1869      ce.ready();
1870  }
1871  (ce.fn.ready = function (e) {
1872    return (
1873      O.then(e)["catch"](function (e) {
1874        ce.readyException(e);
1875      }),
1876      this
1877    );
1878  }),
1879    ce.extend({
1880      isReady: !1,
1881      readyWait: 1,
1882      ready: function (e) {
1883        (!0 === e ? --ce.readyWait : ce.isReady) ||
1884          ((ce.isReady = !0) !== e && 0 < --ce.readyWait) ||
1885          O.resolveWith(C, [ce]);
1886      },
1887    }),
1888    (ce.ready.then = O.then),
1889    "complete" === C.readyState ||
1890    ("loading" !== C.readyState && !C.documentElement.doScroll)
1891      ? ie.setTimeout(ce.ready)
1892      : (C.addEventListener("DOMContentLoaded", P),
1893        ie.addEventListener("load", P));
1894  var R = function (e, t, n, r, i, o, a) {
1895      var s = 0,
1896        u = e.length,
1897        l = null == n;
1898      if ("object" === x(n))
1899        for (s in ((i = !0), n)) R(e, t, s, n[s], !0, o, a);
1900      else if (
1901        void 0 !== r &&
1902        ((i = !0),
1903        v(r) || (a = !0),
1904        l &&
1905          (a
1906            ? (t.call(e, r), (t = null))
1907            : ((l = t),
1908              (t = function (e, t, n) {
1909                return l.call(ce(e), n);
1910              }))),
1911        t)
1912      )
1913        for (; s < u; s++) t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n)));
1914      return i ? e : l ? t.call(e) : u ? t(e[0], n) : o;
1915    },
1916    M = /^-ms-/,
1917    I = /-([a-z])/g;
1918  function W(e, t) {
1919    return t.toUpperCase();
1920  }
1921  function F(e) {
1922    return e.replace(M, "ms-").replace(I, W);
1923  }
1924  var $ = function (e) {
1925    return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType;
1926  };
1927  function B() {
1928    this.expando = ce.expando + B.uid++;
1929  }
1930  (B.uid = 1),
1931    (B.prototype = {
1932      cache: function (e) {
1933        var t = e[this.expando];
1934        return (
1935          t ||
1936            ((t = {}),
1937            $(e) &&
1938              (e.nodeType
1939                ? (e[this.expando] = t)
1940                : Object.defineProperty(e, this.expando, {
1941                    value: t,
1942                    configurable: !0,
1943                  }))),
1944          t
1945        );
1946      },
1947      set: function (e, t, n) {
1948        var r,
1949          i = this.cache(e);
1950        if ("string" == typeof t) i[F(t)] = n;
1951        else for (r in t) i[F(r)] = t[r];
1952        return i;
1953      },
1954      get: function (e, t) {
1955        return void 0 === t
1956          ? this.cache(e)
1957          : e[this.expando] && e[this.expando][F(t)];
1958      },
1959      access: function (e, t, n) {
1960        return void 0 === t || (t && "string" == typeof t && void 0 === n)
1961          ? this.get(e, t)
1962          : (this.set(e, t, n), void 0 !== n ? n : t);
1963      },
1964      remove: function (e, t) {
1965        var n,
1966          r = e[this.expando];
1967        if (void 0 !== r) {
1968          if (void 0 !== t) {
1969            n = (t = Array.isArray(t)
1970              ? t.map(F)
1971              : (t = F(t)) in r
1972              ? [t]
1973              : t.match(D) || []).length;
1974            while (n--) delete r[t[n]];
1975          }
1976          (void 0 === t || ce.isEmptyObject(r)) &&
1977            (e.nodeType ? (e[this.expando] = void 0) : delete e[this.expando]);
1978        }
1979      },
1980      hasData: function (e) {
1981        var t = e[this.expando];
1982        return void 0 !== t && !ce.isEmptyObject(t);
1983      },
1984    });
1985  var _ = new B(),
1986    X = new B(),
1987    U = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
1988    z = /[A-Z]/g;
1989  function V(e, t, n) {
1990    var r, i;
1991    if (void 0 === n && 1 === e.nodeType)
1992      if (
1993        ((r = "data-" + t.replace(z, "-$&").toLowerCase()),
1994        "string" == typeof (n = e.getAttribute(r)))
1995      ) {
1996        try {
1997          n =
1998            "true" === (i = n) ||
1999            ("false" !== i &&
2000              ("null" === i
2001                ? null
2002                : i === +i + ""
2003                ? +i
2004                : U.test(i)
2005                ? JSON.parse(i)
2006                : i));
2007        } catch (e) {}
2008        X.set(e, t, n);
2009      } else n = void 0;
2010    return n;
2011  }
2012  ce.extend({
2013    hasData: function (e) {
2014      return X.hasData(e) || _.hasData(e);
2015    },
2016    data: function (e, t, n) {
2017      return X.access(e, t, n);
2018    },
2019    removeData: function (e, t) {
2020      X.remove(e, t);
2021    },
2022    _data: function (e, t, n) {
2023      return _.access(e, t, n);
2024    },
2025    _removeData: function (e, t) {
2026      _.remove(e, t);
2027    },
2028  }),
2029    ce.fn.extend({
2030      data: function (n, e) {
2031        var t,
2032          r,
2033          i,
2034          o = this[0],
2035          a = o && o.attributes;
2036        if (void 0 === n) {
2037          if (
2038            this.length &&
2039            ((i = X.get(o)), 1 === o.nodeType && !_.get(o, "hasDataAttrs"))
2040          ) {
2041            t = a.length;
2042            while (t--)
2043              a[t] &&
2044                0 === (r = a[t].name).indexOf("data-") &&
2045                ((r = F(r.slice(5))), V(o, r, i[r]));
2046            _.set(o, "hasDataAttrs", !0);
2047          }
2048          return i;
2049        }
2050        return "object" == typeof n
2051          ? this.each(function () {
2052              X.set(this, n);
2053            })
2054          : R(
2055              this,
2056              function (e) {
2057                var t;
2058                if (o && void 0 === e)
2059                  return void 0 !== (t = X.get(o, n))
2060                    ? t
2061                    : void 0 !== (t = V(o, n))
2062                    ? t
2063                    : void 0;
2064                this.each(function () {
2065                  X.set(this, n, e);
2066                });
2067              },
2068              null,
2069              e,
2070              1 < arguments.length,
2071              null,
2072              !0
2073            );
2074      },
2075      removeData: function (e) {
2076        return this.each(function () {
2077          X.remove(this, e);
2078        });
2079      },
2080    }),
2081    ce.extend({
2082      queue: function (e, t, n) {
2083        var r;
2084        if (e)
2085          return (
2086            (t = (t || "fx") + "queue"),
2087            (r = _.get(e, t)),
2088            n &&
2089              (!r || Array.isArray(n)
2090                ? (r = _.access(e, t, ce.makeArray(n)))
2091                : r.push(n)),
2092            r || []
2093          );
2094      },
2095      dequeue: function (e, t) {
2096        t = t || "fx";
2097        var n = ce.queue(e, t),
2098          r = n.length,
2099          i = n.shift(),
2100          o = ce._queueHooks(e, t);
2101        "inprogress" === i && ((i = n.shift()), r--),
2102          i &&
2103            ("fx" === t && n.unshift("inprogress"),
2104            delete o.stop,
2105            i.call(
2106              e,
2107              function () {
2108                ce.dequeue(e, t);
2109              },
2110              o
2111            )),
2112          !r && o && o.empty.fire();
2113      },
2114      _queueHooks: function (e, t) {
2115        var n = t + "queueHooks";
2116        return (
2117          _.get(e, n) ||
2118          _.access(e, n, {
2119            empty: ce.Callbacks("once memory").add(function () {
2120              _.remove(e, [t + "queue", n]);
2121            }),
2122          })
2123        );
2124      },
2125    }),
2126    ce.fn.extend({
2127      queue: function (t, n) {
2128        var e = 2;
2129        return (
2130          "string" != typeof t && ((n = t), (t = "fx"), e--),
2131          arguments.length < e
2132            ? ce.queue(this[0], t)
2133            : void 0 === n
2134            ? this
2135            : this.each(function () {
2136                var e = ce.queue(this, t, n);
2137                ce._queueHooks(this, t),
2138                  "fx" === t && "inprogress" !== e[0] && ce.dequeue(this, t);
2139              })
2140        );
2141      },
2142      dequeue: function (e) {
2143        return this.each(function () {
2144          ce.dequeue(this, e);
2145        });
2146      },
2147      clearQueue: function (e) {
2148        return this.queue(e || "fx", []);
2149      },
2150      promise: function (e, t) {
2151        var n,
2152          r = 1,
2153          i = ce.Deferred(),
2154          o = this,
2155          a = this.length,
2156          s = function () {
2157            --r || i.resolveWith(o, [o]);
2158          };
2159        "string" != typeof e && ((t = e), (e = void 0)), (e = e || "fx");
2160        while (a--)
2161          (n = _.get(o[a], e + "queueHooks")) &&
2162            n.empty &&
2163            (r++, n.empty.add(s));
2164        return s(), i.promise(t);
2165      },
2166    });
2167  var G = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
2168    Y = new RegExp("^(?:([+-])=|)(" + G + ")([a-z%]*)$", "i"),
2169    Q = ["Top", "Right", "Bottom", "Left"],
2170    J = C.documentElement,
2171    K = function (e) {
2172      return ce.contains(e.ownerDocument, e);
2173    },
2174    Z = { composed: !0 };
2175  J.getRootNode &&
2176    (K = function (e) {
2177      return (
2178        ce.contains(e.ownerDocument, e) || e.getRootNode(Z) === e.ownerDocument
2179      );
2180    });
2181  var ee = function (e, t) {
2182    return (
2183      "none" === (e = t || e).style.display ||
2184      ("" === e.style.display && K(e) && "none" === ce.css(e, "display"))
2185    );
2186  };
2187  function te(e, t, n, r) {
2188    var i,
2189      o,
2190      a = 20,
2191      s = r
2192        ? function () {
2193            return r.cur();
2194          }
2195        : function () {
2196            return ce.css(e, t, "");
2197          },
2198      u = s(),
2199      l = (n && n[3]) || (ce.cssNumber[t] ? "" : "px"),
2200      c =
2201        e.nodeType &&
2202        (ce.cssNumber[t] || ("px" !== l && +u)) &&
2203        Y.exec(ce.css(e, t));
2204    if (c && c[3] !== l) {
2205      (u /= 2), (l = l || c[3]), (c = +u || 1);
2206      while (a--)
2207        ce.style(e, t, c + l),
2208          (1 - o) * (1 - (o = s() / u || 0.5)) <= 0 && (a = 0),
2209          (c /= o);
2210      (c *= 2), ce.style(e, t, c + l), (n = n || []);
2211    }
2212    return (
2213      n &&
2214        ((c = +c || +u || 0),
2215        (i = n[1] ? c + (n[1] + 1) * n[2] : +n[2]),
2216        r && ((r.unit = l), (r.start = c), (r.end = i))),
2217      i
2218    );
2219  }
2220  var ne = {};
2221  function re(e, t) {
2222    for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++)
2223      (r = e[c]).style &&
2224        ((n = r.style.display),
2225        t
2226          ? ("none" === n &&
2227              ((l[c] = _.get(r, "display") || null),
2228              l[c] || (r.style.display = "")),
2229            "" === r.style.display &&
2230              ee(r) &&
2231              (l[c] =
2232                ((u = a = o = void 0),
2233                (a = (i = r).ownerDocument),
2234                (s = i.nodeName),
2235                (u = ne[s]) ||
2236                  ((o = a.body.appendChild(a.createElement(s))),
2237                  (u = ce.css(o, "display")),
2238                  o.parentNode.removeChild(o),
2239                  "none" === u && (u = "block"),
2240                  (ne[s] = u)))))
2241          : "none" !== n && ((l[c] = "none"), _.set(r, "display", n)));
2242    for (c = 0; c < f; c++) null != l[c] && (e[c].style.display = l[c]);
2243    return e;
2244  }
2245  ce.fn.extend({
2246    show: function () {
2247      return re(this, !0);
2248    },
2249    hide: function () {
2250      return re(this);
2251    },
2252    toggle: function (e) {
2253      return "boolean" == typeof e
2254        ? e
2255          ? this.show()
2256          : this.hide()
2257        : this.each(function () {
2258            ee(this) ? ce(this).show() : ce(this).hide();
2259          });
2260    },
2261  });
2262  var xe,
2263    be,
2264    we = /^(?:checkbox|radio)$/i,
2265    Te = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i,
2266    Ce = /^$|^module$|\/(?:java|ecma)script/i;
2267  (xe = C.createDocumentFragment().appendChild(C.createElement("div"))),
2268    (be = C.createElement("input")).setAttribute("type", "radio"),
2269    be.setAttribute("checked", "checked"),
2270    be.setAttribute("name", "t"),
2271    xe.appendChild(be),
2272    (le.checkClone = xe.cloneNode(!0).cloneNode(!0).lastChild.checked),
2273    (xe.innerHTML = "<textarea>x</textarea>"),
2274    (le.noCloneChecked = !!xe.cloneNode(!0).lastChild.defaultValue),
2275    (xe.innerHTML = "<option></option>"),
2276    (le.option = !!xe.lastChild);
2277  var ke = {
2278    thead: [1, "<table>", "</table>"],
2279    col: [2, "<table><colgroup>", "</colgroup></table>"],
2280    tr: [2, "<table><tbody>", "</tbody></table>"],
2281    td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
2282    _default: [0, "", ""],
2283  };
2284  function Se(e, t) {
2285    var n;
2286    return (
2287      (n =
2288        "undefined" != typeof e.getElementsByTagName
2289          ? e.getElementsByTagName(t || "*")
2290          : "undefined" != typeof e.querySelectorAll
2291          ? e.querySelectorAll(t || "*")
2292          : []),
2293      void 0 === t || (t && fe(e, t)) ? ce.merge([e], n) : n
2294    );
2295  }
2296  function Ee(e, t) {
2297    for (var n = 0, r = e.length; n < r; n++)
2298      _.set(e[n], "globalEval", !t || _.get(t[n], "globalEval"));
2299  }
2300  (ke.tbody = ke.tfoot = ke.colgroup = ke.caption = ke.thead),
2301    (ke.th = ke.td),
2302    le.option ||
2303      (ke.optgroup = ke.option =
2304        [1, "<select multiple='multiple'>", "</select>"]);
2305  var je = /<|&#?\w+;/;
2306  function Ae(e, t, n, r, i) {
2307    for (
2308      var o,
2309        a,
2310        s,
2311        u,
2312        l,
2313        c,
2314        f = t.createDocumentFragment(),
2315        p = [],
2316        d = 0,
2317        h = e.length;
2318      d < h;
2319      d++
2320    )
2321      if ((o = e[d]) || 0 === o)
2322        if ("object" === x(o)) ce.merge(p, o.nodeType ? [o] : o);
2323        else if (je.test(o)) {
2324          (a = a || f.appendChild(t.createElement("div"))),
2325            (s = (Te.exec(o) || ["", ""])[1].toLowerCase()),
2326            (u = ke[s] || ke._default),
2327            (a.innerHTML = u[1] + ce.htmlPrefilter(o) + u[2]),
2328            (c = u[0]);
2329          while (c--) a = a.lastChild;
2330          ce.merge(p, a.childNodes), ((a = f.firstChild).textContent = "");
2331        } else p.push(t.createTextNode(o));
2332    (f.textContent = ""), (d = 0);
2333    while ((o = p[d++]))
2334      if (r && -1 < ce.inArray(o, r)) i && i.push(o);
2335      else if (
2336        ((l = K(o)), (a = Se(f.appendChild(o), "script")), l && Ee(a), n)
2337      ) {
2338        c = 0;
2339        while ((o = a[c++])) Ce.test(o.type || "") && n.push(o);
2340      }
2341    return f;
2342  }
2343  var De = /^([^.]*)(?:\.(.+)|)/;
2344  function Ne() {
2345    return !0;
2346  }
2347  function qe() {
2348    return !1;
2349  }
2350  function Le(e, t, n, r, i, o) {
2351    var a, s;
2352    if ("object" == typeof t) {
2353      for (s in ("string" != typeof n && ((r = r || n), (n = void 0)), t))
2354        Le(e, s, n, r, t[s], o);
2355      return e;
2356    }
2357    if (
2358      (null == r && null == i
2359        ? ((i = n), (r = n = void 0))
2360        : null == i &&
2361          ("string" == typeof n
2362            ? ((i = r), (r = void 0))
2363            : ((i = r), (r = n), (n = void 0))),
2364      !1 === i)
2365    )
2366      i = qe;
2367    else if (!i) return e;
2368    return (
2369      1 === o &&
2370        ((a = i),
2371        ((i = function (e) {
2372          return ce().off(e), a.apply(this, arguments);
2373        }).guid = a.guid || (a.guid = ce.guid++))),
2374      e.each(function () {
2375        ce.event.add(this, t, i, r, n);
2376      })
2377    );
2378  }
2379  function He(e, r, t) {
2380    t
2381      ? (_.set(e, r, !1),
2382        ce.event.add(e, r, {
2383          namespace: !1,
2384          handler: function (e) {
2385            var t,
2386              n = _.get(this, r);
2387            if (1 & e.isTrigger && this[r]) {
2388              if (n)
2389                (ce.event.special[r] || {}).delegateType && e.stopPropagation();
2390              else if (
2391                ((n = ae.call(arguments)),
2392                _.set(this, r, n),
2393                this[r](),
2394                (t = _.get(this, r)),
2395                _.set(this, r, !1),
2396                n !== t)
2397              )
2398                return e.stopImmediatePropagation(), e.preventDefault(), t;
2399            } else
2400              n &&
2401                (_.set(this, r, ce.event.trigger(n[0], n.slice(1), this)),
2402                e.stopPropagation(),
2403                (e.isImmediatePropagationStopped = Ne));
2404          },
2405        }))
2406      : void 0 === _.get(e, r) && ce.event.add(e, r, Ne);
2407  }
2408  (ce.event = {
2409    global: {},
2410    add: function (t, e, n, r, i) {
2411      var o,
2412        a,
2413        s,
2414        u,
2415        l,
2416        c,
2417        f,
2418        p,
2419        d,
2420        h,
2421        g,
2422        v = _.get(t);
2423      if ($(t)) {
2424        n.handler && ((n = (o = n).handler), (i = o.selector)),
2425          i && ce.find.matchesSelector(J, i),
2426          n.guid || (n.guid = ce.guid++),
2427          (u = v.events) || (u = v.events = Object.create(null)),
2428          (a = v.handle) ||
2429            (a = v.handle =
2430              function (e) {
2431                return "undefined" != typeof ce && ce.event.triggered !== e.type
2432                  ? ce.event.dispatch.apply(t, arguments)
2433                  : void 0;
2434              }),
2435          (l = (e = (e || "").match(D) || [""]).length);
2436        while (l--)
2437          (d = g = (s = De.exec(e[l]) || [])[1]),
2438            (h = (s[2] || "").split(".").sort()),
2439            d &&
2440              ((f = ce.event.special[d] || {}),
2441              (d = (i ? f.delegateType : f.bindType) || d),
2442              (f = ce.event.special[d] || {}),
2443              (c = ce.extend(
2444                {
2445                  type: d,
2446                  origType: g,
2447                  data: r,
2448                  handler: n,
2449                  guid: n.guid,
2450                  selector: i,
2451                  needsContext: i && ce.expr.match.needsContext.test(i),
2452                  namespace: h.join("."),
2453                },
2454                o
2455              )),
2456              (p = u[d]) ||
2457                (((p = u[d] = []).delegateCount = 0),
2458                (f.setup && !1 !== f.setup.call(t, r, h, a)) ||
2459                  (t.addEventListener && t.addEventListener(d, a))),
2460              f.add &&
2461                (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)),
2462              i ? p.splice(p.delegateCount++, 0, c) : p.push(c),
2463              (ce.event.global[d] = !0));
2464      }
2465    },
2466    remove: function (e, t, n, r, i) {
2467      var o,
2468        a,
2469        s,
2470        u,
2471        l,
2472        c,
2473        f,
2474        p,
2475        d,
2476        h,
2477        g,
2478        v = _.hasData(e) && _.get(e);
2479      if (v && (u = v.events)) {
2480        l = (t = (t || "").match(D) || [""]).length;
2481        while (l--)
2482          if (
2483            ((d = g = (s = De.exec(t[l]) || [])[1]),
2484            (h = (s[2] || "").split(".").sort()),
2485            d)
2486          ) {
2487            (f = ce.event.special[d] || {}),
2488              (p = u[(d = (r ? f.delegateType : f.bindType) || d)] || []),
2489              (s =
2490                s[2] &&
2491                new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)")),
2492              (a = o = p.length);
2493            while (o--)
2494              (c = p[o]),
2495                (!i && g !== c.origType) ||
2496                  (n && n.guid !== c.guid) ||
2497                  (s && !s.test(c.namespace)) ||
2498                  (r && r !== c.selector && ("**" !== r || !c.selector)) ||
2499                  (p.splice(o, 1),
2500                  c.selector && p.delegateCount--,
2501                  f.remove && f.remove.call(e, c));
2502            a &&
2503              !p.length &&
2504              ((f.teardown && !1 !== f.teardown.call(e, h, v.handle)) ||
2505                ce.removeEvent(e, d, v.handle),
2506              delete u[d]);
2507          } else for (d in u) ce.event.remove(e, d + t[l], n, r, !0);
2508        ce.isEmptyObject(u) && _.remove(e, "handle events");
2509      }
2510    },
2511    dispatch: function (e) {
2512      var t,
2513        n,
2514        r,
2515        i,
2516        o,
2517        a,
2518        s = new Array(arguments.length),
2519        u = ce.event.fix(e),
2520        l = (_.get(this, "events") || Object.create(null))[u.type] || [],
2521        c = ce.event.special[u.type] || {};
2522      for (s[0] = u, t = 1; t < arguments.length; t++) s[t] = arguments[t];
2523      if (
2524        ((u.delegateTarget = this),
2525        !c.preDispatch || !1 !== c.preDispatch.call(this, u))
2526      ) {
2527        (a = ce.event.handlers.call(this, u, l)), (t = 0);
2528        while ((i = a[t++]) && !u.isPropagationStopped()) {
2529          (u.currentTarget = i.elem), (n = 0);
2530          while ((o = i.handlers[n++]) && !u.isImmediatePropagationStopped())
2531            (u.rnamespace &&
2532              !1 !== o.namespace &&
2533              !u.rnamespace.test(o.namespace)) ||
2534              ((u.handleObj = o),
2535              (u.data = o.data),
2536              void 0 !==
2537                (r = (
2538                  (ce.event.special[o.origType] || {}).handle || o.handler
2539                ).apply(i.elem, s)) &&
2540                !1 === (u.result = r) &&
2541                (u.preventDefault(), u.stopPropagation()));
2542        }
2543        return c.postDispatch && c.postDispatch.call(this, u), u.result;
2544      }
2545    },
2546    handlers: function (e, t) {
2547      var n,
2548        r,
2549        i,
2550        o,
2551        a,
2552        s = [],
2553        u = t.delegateCount,
2554        l = e.target;
2555      if (u && l.nodeType && !("click" === e.type && 1 <= e.button))
2556        for (; l !== this; l = l.parentNode || this)
2557          if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) {
2558            for (o = [], a = {}, n = 0; n < u; n++)
2559              void 0 === a[(i = (r = t[n]).selector + " ")] &&
2560                (a[i] = r.needsContext
2561                  ? -1 < ce(i, this).index(l)
2562                  : ce.find(i, this, null, [l]).length),
2563                a[i] && o.push(r);
2564            o.length && s.push({ elem: l, handlers: o });
2565          }
2566      return (
2567        (l = this), u < t.length && s.push({ elem: l, handlers: t.slice(u) }), s
2568      );
2569    },
2570    addProp: function (t, e) {
2571      Object.defineProperty(ce.Event.prototype, t, {
2572        enumerable: !0,
2573        configurable: !0,
2574        get: v(e)
2575          ? function () {
2576              if (this.originalEvent) return e(this.originalEvent);
2577            }
2578          : function () {
2579              if (this.originalEvent) return this.originalEvent[t];
2580            },
2581        set: function (e) {
2582          Object.defineProperty(this, t, {
2583            enumerable: !0,
2584            configurable: !0,
2585            writable: !0,
2586            value: e,
2587          });
2588        },
2589      });
2590    },
2591    fix: function (e) {
2592      return e[ce.expando] ? e : new ce.Event(e);
2593    },
2594    special: {
2595      load: { noBubble: !0 },
2596      click: {
2597        setup: function (e) {
2598          var t = this || e;
2599          return (
2600            we.test(t.type) && t.click && fe(t, "input") && He(t, "click", !0),
2601            !1
2602          );
2603        },
2604        trigger: function (e) {
2605          var t = this || e;
2606          return (
2607            we.test(t.type) && t.click && fe(t, "input") && He(t, "click"), !0
2608          );
2609        },
2610        _default: function (e) {
2611          var t = e.target;
2612          return (
2613            (we.test(t.type) &&
2614              t.click &&
2615              fe(t, "input") &&
2616              _.get(t, "click")) ||
2617            fe(t, "a")
2618          );
2619        },
2620      },
2621      beforeunload: {
2622        postDispatch: function (e) {
2623          void 0 !== e.result &&
2624            e.originalEvent &&
2625            (e.originalEvent.returnValue = e.result);
2626        },
2627      },
2628    },
2629  }),
2630    (ce.removeEvent = function (e, t, n) {
2631      e.removeEventListener && e.removeEventListener(t, n);
2632    }),
2633    (ce.Event = function (e, t) {
2634      if (!(this instanceof ce.Event)) return new ce.Event(e, t);
2635      e && e.type
2636        ? ((this.originalEvent = e),
2637          (this.type = e.type),
2638          (this.isDefaultPrevented =
2639            e.defaultPrevented ||
2640            (void 0 === e.defaultPrevented && !1 === e.returnValue)
2641              ? Ne
2642              : qe),
2643          (this.target =
2644            e.target && 3 === e.target.nodeType
2645              ? e.target.parentNode
2646              : e.target),
2647          (this.currentTarget = e.currentTarget),
2648          (this.relatedTarget = e.relatedTarget))
2649        : (this.type = e),
2650        t && ce.extend(this, t),
2651        (this.timeStamp = (e && e.timeStamp) || Date.now()),
2652        (this[ce.expando] = !0);
2653    }),
2654    (ce.Event.prototype = {
2655      constructor: ce.Event,
2656      isDefaultPrevented: qe,
2657      isPropagationStopped: qe,
2658      isImmediatePropagationStopped: qe,
2659      isSimulated: !1,
2660      preventDefault: function () {
2661        var e = this.originalEvent;
2662        (this.isDefaultPrevented = Ne),
2663          e && !this.isSimulated && e.preventDefault();
2664      },
2665      stopPropagation: function () {
2666        var e = this.originalEvent;
2667        (this.isPropagationStopped = Ne),
2668          e && !this.isSimulated && e.stopPropagation();
2669      },
2670      stopImmediatePropagation: function () {
2671        var e = this.originalEvent;
2672        (this.isImmediatePropagationStopped = Ne),
2673          e && !this.isSimulated && e.stopImmediatePropagation(),
2674          this.stopPropagation();
2675      },
2676    }),
2677    ce.each(
2678      {
2679        altKey: !0,
2680        bubbles: !0,
2681        cancelable: !0,
2682        changedTouches: !0,
2683        ctrlKey: !0,
2684        detail: !0,
2685        eventPhase: !0,
2686        metaKey: !0,
2687        pageX: !0,
2688        pageY: !0,
2689        shiftKey: !0,
2690        view: !0,
2691        char: !0,
2692        code: !0,
2693        charCode: !0,
2694        key: !0,
2695        keyCode: !0,
2696        button: !0,
2697        buttons: !0,
2698        clientX: !0,
2699        clientY: !0,
2700        offsetX: !0,
2701        offsetY: !0,
2702        pointerId: !0,
2703        pointerType: !0,
2704        screenX: !0,
2705        screenY: !0,
2706        targetTouches: !0,
2707        toElement: !0,
2708        touches: !0,
2709        which: !0,
2710      },
2711      ce.event.addProp
2712    ),
2713    ce.each({ focus: "focusin", blur: "focusout" }, function (r, i) {
2714      function o(e) {
2715        if (C.documentMode) {
2716          var t = _.get(this, "handle"),
2717            n = ce.event.fix(e);
2718          (n.type = "focusin" === e.type ? "focus" : "blur"),
2719            (n.isSimulated = !0),
2720            t(e),
2721            n.target === n.currentTarget && t(n);
2722        } else ce.event.simulate(i, e.target, ce.event.fix(e));
2723      }
2724      (ce.event.special[r] = {
2725        setup: function () {
2726          var e;
2727          if ((He(this, r, !0), !C.documentMode)) return !1;
2728          (e = _.get(this, i)) || this.addEventListener(i, o),
2729            _.set(this, i, (e || 0) + 1);
2730        },
2731        trigger: function () {
2732          return He(this, r), !0;
2733        },
2734        teardown: function () {
2735          var e;
2736          if (!C.documentMode) return !1;
2737          (e = _.get(this, i) - 1)
2738            ? _.set(this, i, e)
2739            : (this.removeEventListener(i, o), _.remove(this, i));
2740        },
2741        _default: function (e) {
2742          return _.get(e.target, r);
2743        },
2744        delegateType: i,
2745      }),
2746        (ce.event.special[i] = {
2747          setup: function () {
2748            var e = this.ownerDocument || this.document || this,
2749              t = C.documentMode ? this : e,
2750              n = _.get(t, i);
2751            n ||
2752              (C.documentMode
2753                ? this.addEventListener(i, o)
2754                : e.addEventListener(r, o, !0)),
2755              _.set(t, i, (n || 0) + 1);
2756          },
2757          teardown: function () {
2758            var e = this.ownerDocument || this.document || this,
2759              t = C.documentMode ? this : e,
2760              n = _.get(t, i) - 1;
2761            n
2762              ? _.set(t, i, n)
2763              : (C.documentMode
2764                  ? this.removeEventListener(i, o)
2765                  : e.removeEventListener(r, o, !0),
2766                _.remove(t, i));
2767          },
2768        });
2769    }),
2770    ce.each(
2771      {
2772        mouseenter: "mouseover",
2773        mouseleave: "mouseout",
2774        pointerenter: "pointerover",
2775        pointerleave: "pointerout",
2776      },
2777      function (e, i) {
2778        ce.event.special[e] = {
2779          delegateType: i,
2780          bindType: i,
2781          handle: function (e) {
2782            var t,
2783              n = e.relatedTarget,
2784              r = e.handleObj;
2785            return (
2786              (n && (n === this || ce.contains(this, n))) ||
2787                ((e.type = r.origType),
2788                (t = r.handler.apply(this, arguments)),
2789                (e.type = i)),
2790              t
2791            );
2792          },
2793        };
2794      }
2795    ),
2796    ce.fn.extend({
2797      on: function (e, t, n, r) {
2798        return Le(this, e, t, n, r);
2799      },
2800      one: function (e, t, n, r) {
2801        return Le(this, e, t, n, r, 1);
2802      },
2803      off: function (e, t, n) {
2804        var r, i;
2805        if (e && e.preventDefault && e.handleObj)
2806          return (
2807            (r = e.handleObj),
2808            ce(e.delegateTarget).off(
2809              r.namespace ? r.origType + "." + r.namespace : r.origType,
2810              r.selector,
2811              r.handler
2812            ),
2813            this
2814          );
2815        if ("object" == typeof e) {
2816          for (i in e) this.off(i, t, e[i]);
2817          return this;
2818        }
2819        return (
2820          (!1 !== t && "function" != typeof t) || ((n = t), (t = void 0)),
2821          !1 === n && (n = qe),
2822          this.each(function () {
2823            ce.event.remove(this, e, n, t);
2824          })
2825        );
2826      },
2827    });
2828  var Oe = /<script|<style|<link/i,
2829    Pe = /checked\s*(?:[^=]|=\s*.checked.)/i,
2830    Re = /^\s*<!\[CDATA\[|\]\]>\s*$/g;
2831  function Me(e, t) {
2832    return (
2833      (fe(e, "table") &&
2834        fe(11 !== t.nodeType ? t : t.firstChild, "tr") &&
2835        ce(e).children("tbody")[0]) ||
2836      e
2837    );
2838  }
2839  function Ie(e) {
2840    return (e.type = (null !== e.getAttribute("type")) + "/" + e.type), e;
2841  }
2842  function We(e) {
2843    return (
2844      "true/" === (e.type || "").slice(0, 5)
2845        ? (e.type = e.type.slice(5))
2846        : e.removeAttribute("type"),
2847      e
2848    );
2849  }
2850  function Fe(e, t) {
2851    var n, r, i, o, a, s;
2852    if (1 === t.nodeType) {
2853      if (_.hasData(e) && (s = _.get(e).events))
2854        for (i in (_.remove(t, "handle events"), s))
2855          for (n = 0, r = s[i].length; n < r; n++) ce.event.add(t, i, s[i][n]);
2856      X.hasData(e) && ((o = X.access(e)), (a = ce.extend({}, o)), X.set(t, a));
2857    }
2858  }
2859  function $e(n, r, i, o) {
2860    r = g(r);
2861    var e,
2862      t,
2863      a,
2864      s,
2865      u,
2866      l,
2867      c = 0,
2868      f = n.length,
2869      p = f - 1,
2870      d = r[0],
2871      h = v(d);
2872    if (h || (1 < f && "string" == typeof d && !le.checkClone && Pe.test(d)))
2873      return n.each(function (e) {
2874        var t = n.eq(e);
2875        h && (r[0] = d.call(this, e, t.html())), $e(t, r, i, o);
2876      });
2877    if (
2878      f &&
2879      ((t = (e = Ae(r, n[0].ownerDocument, !1, n, o)).firstChild),
2880      1 === e.childNodes.length && (e = t),
2881      t || o)
2882    ) {
2883      for (s = (a = ce.map(Se(e, "script"), Ie)).length; c < f; c++)
2884        (u = e),
2885          c !== p &&
2886            ((u = ce.clone(u, !0, !0)), s && ce.merge(a, Se(u, "script"))),
2887          i.call(n[c], u, c);
2888      if (s)
2889        for (
2890          l = a[a.length - 1].ownerDocument, ce.map(a, We), c = 0;
2891          c < s;
2892          c++
2893        )
2894          (u = a[c]),
2895            Ce.test(u.type || "") &&
2896              !_.access(u, "globalEval") &&
2897              ce.contains(l, u) &&
2898              (u.src && "module" !== (u.type || "").toLowerCase()
2899                ? ce._evalUrl &&
2900                  !u.noModule &&
2901                  ce._evalUrl(
2902                    u.src,
2903                    { nonce: u.nonce || u.getAttribute("nonce") },
2904                    l
2905                  )
2906                : m(u.textContent.replace(Re, ""), u, l));
2907    }
2908    return n;
2909  }
2910  function Be(e, t, n) {
2911    for (var r, i = t ? ce.filter(t, e) : e, o = 0; null != (r = i[o]); o++)
2912      n || 1 !== r.nodeType || ce.cleanData(Se(r)),
2913        r.parentNode &&
2914          (n && K(r) && Ee(Se(r, "script")), r.parentNode.removeChild(r));
2915    return e;
2916  }
2917  ce.extend({
2918    htmlPrefilter: function (e) {
2919      return e;
2920    },
2921    clone: function (e, t, n) {
2922      var r,
2923        i,
2924        o,
2925        a,
2926        s,
2927        u,
2928        l,
2929        c = e.cloneNode(!0),
2930        f = K(e);
2931      if (
2932        !(
2933          le.noCloneChecked ||
2934          (1 !== e.nodeType && 11 !== e.nodeType) ||
2935          ce.isXMLDoc(e)
2936        )
2937      )
2938        for (a = Se(c), r = 0, i = (o = Se(e)).length; r < i; r++)
2939          (s = o[r]),
2940            (u = a[r]),
2941            void 0,
2942            "input" === (l = u.nodeName.toLowerCase()) && we.test(s.type)
2943              ? (u.checked = s.checked)
2944              : ("input" !== l && "textarea" !== l) ||
2945                (u.defaultValue = s.defaultValue);
2946      if (t)
2947        if (n)
2948          for (o = o || Se(e), a = a || Se(c), r = 0, i = o.length; r < i; r++)
2949            Fe(o[r], a[r]);
2950        else Fe(e, c);
2951      return (
2952        0 < (a = Se(c, "script")).length && Ee(a, !f && Se(e, "script")), c
2953      );
2954    },
2955    cleanData: function (e) {
2956      for (var t, n, r, i = ce.event.special, o = 0; void 0 !== (n = e[o]); o++)
2957        if ($(n)) {
2958          if ((t = n[_.expando])) {
2959            if (t.events)
2960              for (r in t.events)
2961                i[r] ? ce.event.remove(n, r) : ce.removeEvent(n, r, t.handle);
2962            n[_.expando] = void 0;
2963          }
2964          n[X.expando] && (n[X.expando] = void 0);
2965        }
2966    },
2967  }),
2968    ce.fn.extend({
2969      detach: function (e) {
2970        return Be(this, e, !0);
2971      },
2972      remove: function (e) {
2973        return Be(this, e);
2974      },
2975      text: function (e) {
2976        return R(
2977          this,
2978          function (e) {
2979            return void 0 === e
2980              ? ce.text(this)
2981              : this.empty().each(function () {
2982                  (1 !== this.nodeType &&
2983                    11 !== this.nodeType &&
2984                    9 !== this.nodeType) ||
2985                    (this.textContent = e);
2986                });
2987          },
2988          null,
2989          e,
2990          arguments.length
2991        );
2992      },
2993      append: function () {
2994        return $e(this, arguments, function (e) {
2995          (1 !== this.nodeType &&
2996            11 !== this.nodeType &&
2997            9 !== this.nodeType) ||
2998            Me(this, e).appendChild(e);
2999        });
3000      },
3001      prepend: function () {
3002        return $e(this, arguments, function (e) {
3003          if (
3004            1 === this.nodeType ||
3005            11 === this.nodeType ||
3006            9 === this.nodeType
3007          ) {
3008            var t = Me(this, e);
3009            t.insertBefore(e, t.firstChild);
3010          }
3011        });
3012      },
3013      before: function () {
3014        return $e(this, arguments, function (e) {
3015          this.parentNode && this.parentNode.insertBefore(e, this);
3016        });
3017      },
3018      after: function () {
3019        return $e(this, arguments, function (e) {
3020          this.parentNode && this.parentNode.insertBefore(e, this.nextSibling);
3021        });
3022      },
3023      empty: function () {
3024        for (var e, t = 0; null != (e = this[t]); t++)
3025          1 === e.nodeType && (ce.cleanData(Se(e, !1)), (e.textContent = ""));
3026        return this;
3027      },
3028      clone: function (e, t) {
3029        return (
3030          (e = null != e && e),
3031          (t = null == t ? e : t),
3032          this.map(function () {
3033            return ce.clone(this, e, t);
3034          })
3035        );
3036      },
3037      html: function (e) {
3038        return R(
3039          this,
3040          function (e) {
3041            var t = this[0] || {},
3042              n = 0,
3043              r = this.length;
3044            if (void 0 === e && 1 === t.nodeType) return t.innerHTML;
3045            if (
3046              "string" == typeof e &&
3047              !Oe.test(e) &&
3048              !ke[(Te.exec(e) || ["", ""])[1].toLowerCase()]
3049            ) {
3050              e = ce.htmlPrefilter(e);
3051              try {
3052                for (; n < r; n++)
3053                  1 === (t = this[n] || {}).nodeType &&
3054                    (ce.cleanData(Se(t, !1)), (t.innerHTML = e));
3055                t = 0;
3056              } catch (e) {}
3057            }
3058            t && this.empty().append(e);
3059          },
3060          null,
3061          e,
3062          arguments.length
3063        );
3064      },
3065      replaceWith: function () {
3066        var n = [];
3067        return $e(
3068          this,
3069          arguments,
3070          function (e) {
3071            var t = this.parentNode;
3072            ce.inArray(this, n) < 0 &&
3073              (ce.cleanData(Se(this)), t && t.replaceChild(e, this));
3074          },
3075          n
3076        );
3077      },
3078    }),
3079    ce.each(
3080      {
3081        appendTo: "append",
3082        prependTo: "prepend",
3083        insertBefore: "before",
3084        insertAfter: "after",
3085        replaceAll: "replaceWith",
3086      },
3087      function (e, a) {
3088        ce.fn[e] = function (e) {
3089          for (var t, n = [], r = ce(e), i = r.length - 1, o = 0; o <= i; o++)
3090            (t = o === i ? this : this.clone(!0)),
3091              ce(r[o])[a](t),
3092              s.apply(n, t.get());
3093          return this.pushStack(n);
3094        };
3095      }
3096    );
3097  var _e = new RegExp("^(" + G + ")(?!px)[a-z%]+$", "i"),
3098    Xe = /^--/,
3099    Ue = function (e) {
3100      var t = e.ownerDocument.defaultView;
3101      return (t && t.opener) || (t = ie), t.getComputedStyle(e);
3102    },
3103    ze = function (e, t, n) {
3104      var r,
3105        i,
3106        o = {};
3107      for (i in t) (o[i] = e.style[i]), (e.style[i] = t[i]);
3108      for (i in ((r = n.call(e)), t)) e.style[i] = o[i];
3109      return r;
3110    },
3111    Ve = new RegExp(Q.join("|"), "i");
3112  function Ge(e, t, n) {
3113    var r,
3114      i,
3115      o,
3116      a,
3117      s = Xe.test(t),
3118      u = e.style;
3119    return (
3120      (n = n || Ue(e)) &&
3121        ((a = n.getPropertyValue(t) || n[t]),
3122        s && a && (a = a.replace(ve, "$1") || void 0),
3123        "" !== a || K(e) || (a = ce.style(e, t)),
3124        !le.pixelBoxStyles() &&
3125          _e.test(a) &&
3126          Ve.test(t) &&
3127          ((r = u.width),
3128          (i = u.minWidth),
3129          (o = u.maxWidth),
3130          (u.minWidth = u.maxWidth = u.width = a),
3131          (a = n.width),
3132          (u.width = r),
3133          (u.minWidth = i),
3134          (u.maxWidth = o))),
3135      void 0 !== a ? a + "" : a
3136    );
3137  }
3138  function Ye(e, t) {
3139    return {
3140      get: function () {
3141        if (!e()) return (this.get = t).apply(this, arguments);
3142        delete this.get;
3143      },
3144    };
3145  }
3146  !(function () {
3147    function e() {
3148      if (l) {
3149        (u.style.cssText =
3150          "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0"),
3151          (l.style.cssText =
3152            "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%"),
3153          J.appendChild(u).appendChild(l);
3154        var e = ie.getComputedStyle(l);
3155        (n = "1%" !== e.top),
3156          (s = 12 === t(e.marginLeft)),
3157          (l.style.right = "60%"),
3158          (o = 36 === t(e.right)),
3159          (r = 36 === t(e.width)),
3160          (l.style.position = "absolute"),
3161          (i = 12 === t(l.offsetWidth / 3)),
3162          J.removeChild(u),
3163          (l = null);
3164      }
3165    }
3166    function t(e) {
3167      return Math.round(parseFloat(e));
3168    }
3169    var n,
3170      r,
3171      i,
3172      o,
3173      a,
3174      s,
3175      u = C.createElement("div"),
3176      l = C.createElement("div");
3177    l.style &&
3178      ((l.style.backgroundClip = "content-box"),
3179      (l.cloneNode(!0).style.backgroundClip = ""),
3180      (le.clearCloneStyle = "content-box" === l.style.backgroundClip),
3181      ce.extend(le, {
3182        boxSizingReliable: function () {
3183          return e(), r;
3184        },
3185        pixelBoxStyles: function () {
3186          return e(), o;
3187        },
3188        pixelPosition: function () {
3189          return e(), n;
3190        },
3191        reliableMarginLeft: function () {
3192          return e(), s;
3193        },
3194        scrollboxSize: function () {
3195          return e(), i;
3196        },
3197        reliableTrDimensions: function () {
3198          var e, t, n, r;
3199          return (
3200            null == a &&
3201              ((e = C.createElement("table")),
3202              (t = C.createElement("tr")),
3203              (n = C.createElement("div")),
3204              (e.style.cssText =
3205                "position:absolute;left:-11111px;border-collapse:separate"),
3206              (t.style.cssText = "border:1px solid"),
3207              (t.style.height = "1px"),
3208              (n.style.height = "9px"),
3209              (n.style.display = "block"),
3210              J.appendChild(e).appendChild(t).appendChild(n),
3211              (r = ie.getComputedStyle(t)),
3212              (a =
3213                parseInt(r.height, 10) +
3214                  parseInt(r.borderTopWidth, 10) +
3215                  parseInt(r.borderBottomWidth, 10) ===
3216                t.offsetHeight),
3217              J.removeChild(e)),
3218            a
3219          );
3220        },
3221      }));
3222  })();
3223  var Qe = ["Webkit", "Moz", "ms"],
3224    Je = C.createElement("div").style,
3225    Ke = {};
3226  function Ze(e) {
3227    var t = ce.cssProps[e] || Ke[e];
3228    return (
3229      t ||
3230      (e in Je
3231        ? e
3232        : (Ke[e] =
3233            (function (e) {
3234              var t = e[0].toUpperCase() + e.slice(1),
3235                n = Qe.length;
3236              while (n--) if ((e = Qe[n] + t) in Je) return e;
3237            })(e) || e))
3238    );
3239  }
3240  var et = /^(none|table(?!-c[ea]).+)/,
3241    tt = { position: "absolute", visibility: "hidden", display: "block" },
3242    nt = { letterSpacing: "0", fontWeight: "400" };
3243  function rt(e, t, n) {
3244    var r = Y.exec(t);
3245    return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t;
3246  }
3247  function it(e, t, n, r, i, o) {
3248    var a = "width" === t ? 1 : 0,
3249      s = 0,
3250      u = 0,
3251      l = 0;
3252    if (n === (r ? "border" : "content")) return 0;
3253    for (; a < 4; a += 2)
3254      "margin" === n && (l += ce.css(e, n + Q[a], !0, i)),
3255        r
3256          ? ("content" === n && (u -= ce.css(e, "padding" + Q[a], !0, i)),
3257            "margin" !== n &&
3258              (u -= ce.css(e, "border" + Q[a] + "Width", !0, i)))
3259          : ((u += ce.css(e, "padding" + Q[a], !0, i)),
3260            "padding" !== n
3261              ? (u += ce.css(e, "border" + Q[a] + "Width", !0, i))
3262              : (s += ce.css(e, "border" + Q[a] + "Width", !0, i)));
3263    return (
3264      !r &&
3265        0 <= o &&
3266        (u +=
3267          Math.max(
3268            0,
3269            Math.ceil(
3270              e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - 0.5
3271            )
3272          ) || 0),
3273      u + l
3274    );
3275  }
3276  function ot(e, t, n) {
3277    var r = Ue(e),
3278      i =
3279        (!le.boxSizingReliable() || n) &&
3280        "border-box" === ce.css(e, "boxSizing", !1, r),
3281      o = i,
3282      a = Ge(e, t, r),
3283      s = "offset" + t[0].toUpperCase() + t.slice(1);
3284    if (_e.test(a)) {
3285      if (!n) return a;
3286      a = "auto";
3287    }
3288    return (
3289      ((!le.boxSizingReliable() && i) ||
3290        (!le.reliableTrDimensions() && fe(e, "tr")) ||
3291        "auto" === a ||
3292        (!parseFloat(a) && "inline" === ce.css(e, "display", !1, r))) &&
3293        e.getClientRects().length &&
3294        ((i = "border-box" === ce.css(e, "boxSizing", !1, r)),
3295        (o = s in e) && (a = e[s])),
3296      (a = parseFloat(a) || 0) +
3297        it(e, t, n || (i ? "border" : "content"), o, r, a) +
3298        "px"
3299    );
3300  }
3301  function at(e, t, n, r, i) {
3302    return new at.prototype.init(e, t, n, r, i);
3303  }
3304  ce.extend({
3305    cssHooks: {
3306      opacity: {
3307        get: function (e, t) {
3308          if (t) {
3309            var n = Ge(e, "opacity");
3310            return "" === n ? "1" : n;
3311          }
3312        },
3313      },
3314    },
3315    cssNumber: {
3316      animationIterationCount: !0,
3317      aspectRatio: !0,
3318      borderImageSlice: !0,
3319      columnCount: !0,
3320      flexGrow: !0,
3321      flexShrink: !0,
3322      fontWeight: !0,
3323      gridArea: !0,
3324      gridColumn: !0,
3325      gridColumnEnd: !0,
3326      gridColumnStart: !0,
3327      gridRow: !0,
3328      gridRowEnd: !0,
3329      gridRowStart: !0,
3330      lineHeight: !0,
3331      opacity: !0,
3332      order: !0,
3333      orphans: !0,
3334      scale: !0,
3335      widows: !0,
3336      zIndex: !0,
3337      zoom: !0,
3338      fillOpacity: !0,
3339      floodOpacity: !0,
3340      stopOpacity: !0,
3341      strokeMiterlimit: !0,
3342      strokeOpacity: !0,
3343    },
3344    cssProps: {},
3345    style: function (e, t, n, r) {
3346      if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
3347        var i,
3348          o,
3349          a,
3350          s = F(t),
3351          u = Xe.test(t),
3352          l = e.style;
3353        if (
3354          (u || (t = Ze(s)),
3355          (a = ce.cssHooks[t] || ce.cssHooks[s]),
3356          void 0 === n)
3357        )
3358          return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t];
3359        "string" === (o = typeof n) &&
3360          (i = Y.exec(n)) &&
3361          i[1] &&
3362          ((n = te(e, t, i)), (o = "number")),
3363          null != n &&
3364            n == n &&
3365            ("number" !== o ||
3366              u ||
3367              (n += (i && i[3]) || (ce.cssNumber[s] ? "" : "px")),
3368            le.clearCloneStyle ||
3369              "" !== n ||
3370              0 !== t.indexOf("background") ||
3371              (l[t] = "inherit"),
3372            (a && "set" in a && void 0 === (n = a.set(e, n, r))) ||
3373              (u ? l.setProperty(t, n) : (l[t] = n)));
3374      }
3375    },
3376    css: function (e, t, n, r) {
3377      var i,
3378        o,
3379        a,
3380        s = F(t);
3381      return (
3382        Xe.test(t) || (t = Ze(s)),
3383        (a = ce.cssHooks[t] || ce.cssHooks[s]) &&
3384          "get" in a &&
3385          (i = a.get(e, !0, n)),
3386        void 0 === i && (i = Ge(e, t, r)),
3387        "normal" === i && t in nt && (i = nt[t]),
3388        "" === n || n
3389          ? ((o = parseFloat(i)), !0 === n || isFinite(o) ? o || 0 : i)
3390          : i
3391      );
3392    },
3393  }),
3394    ce.each(["height", "width"], function (e, u) {
3395      ce.cssHooks[u] = {
3396        get: function (e, t, n) {
3397          if (t)
3398            return !et.test(ce.css(e, "display")) ||
3399              (e.getClientRects().length && e.getBoundingClientRect().width)
3400              ? ot(e, u, n)
3401              : ze(e, tt, function () {
3402                  return ot(e, u, n);
3403                });
3404        },
3405        set: function (e, t, n) {
3406          var r,
3407            i = Ue(e),
3408            o = !le.scrollboxSize() && "absolute" === i.position,
3409            a = (o || n) && "border-box" === ce.css(e, "boxSizing", !1, i),
3410            s = n ? it(e, u, n, a, i) : 0;
3411          return (
3412            a &&
3413              o &&
3414              (s -= Math.ceil(
3415                e["offset" + u[0].toUpperCase() + u.slice(1)] -
3416                  parseFloat(i[u]) -
3417                  it(e, u, "border", !1, i) -
3418                  0.5
3419              )),
3420            s &&
3421              (r = Y.exec(t)) &&
3422              "px" !== (r[3] || "px") &&
3423              ((e.style[u] = t), (t = ce.css(e, u))),
3424            rt(0, t, s)
3425          );
3426        },
3427      };
3428    }),
3429    (ce.cssHooks.marginLeft = Ye(le.reliableMarginLeft, function (e, t) {
3430      if (t)
3431        return (
3432          (parseFloat(Ge(e, "marginLeft")) ||
3433            e.getBoundingClientRect().left -
3434              ze(e, { marginLeft: 0 }, function () {
3435                return e.getBoundingClientRect().left;
3436              })) + "px"
3437        );
3438    })),
3439    ce.each({ margin: "", padding: "", border: "Width" }, function (i, o) {
3440      (ce.cssHooks[i + o] = {
3441        expand: function (e) {
3442          for (
3443            var t = 0, n = {}, r = "string" == typeof e ? e.split(" ") : [e];
3444            t < 4;
3445            t++
3446          )
3447            n[i + Q[t] + o] = r[t] || r[t - 2] || r[0];
3448          return n;
3449        },
3450      }),
3451        "margin" !== i && (ce.cssHooks[i + o].set = rt);
3452    }),
3453    ce.fn.extend({
3454      css: function (e, t) {
3455        return R(
3456          this,
3457          function (e, t, n) {
3458            var r,
3459              i,
3460              o = {},
3461              a = 0;
3462            if (Array.isArray(t)) {
3463              for (r = Ue(e), i = t.length; a < i; a++)
3464                o[t[a]] = ce.css(e, t[a], !1, r);
3465              return o;
3466            }
3467            return void 0 !== n ? ce.style(e, t, n) : ce.css(e, t);
3468          },
3469          e,
3470          t,
3471          1 < arguments.length
3472        );
3473      },
3474    }),
3475    (((ce.Tween = at).prototype = {
3476      constructor: at,
3477      init: function (e, t, n, r, i, o) {
3478        (this.elem = e),
3479          (this.prop = n),
3480          (this.easing = i || ce.easing._default),
3481          (this.options = t),
3482          (this.start = this.now = this.cur()),
3483          (this.end = r),
3484          (this.unit = o || (ce.cssNumber[n] ? "" : "px"));
3485      },
3486      cur: function () {
3487        var e = at.propHooks[this.prop];
3488        return e && e.get ? e.get(this) : at.propHooks._default.get(this);
3489      },
3490      run: function (e) {
3491        var t,
3492          n = at.propHooks[this.prop];
3493        return (
3494          this.options.duration
3495            ? (this.pos = t =
3496                ce.easing[this.easing](
3497                  e,
3498                  this.options.duration * e,
3499                  0,
3500                  1,
3501                  this.options.duration
3502                ))
3503            : (this.pos = t = e),
3504          (this.now = (this.end - this.start) * t + this.start),
3505          this.options.step &&
3506            this.options.step.call(this.elem, this.now, this),
3507          n && n.set ? n.set(this) : at.propHooks._default.set(this),
3508          this
3509        );
3510      },
3511    }).init.prototype = at.prototype),
3512    ((at.propHooks = {
3513      _default: {
3514        get: function (e) {
3515          var t;
3516          return 1 !== e.elem.nodeType ||
3517            (null != e.elem[e.prop] && null == e.elem.style[e.prop])
3518            ? e.elem[e.prop]
3519            : (t = ce.css(e.elem, e.prop, "")) && "auto" !== t
3520            ? t
3521            : 0;
3522        },
3523        set: function (e) {
3524          ce.fx.step[e.prop]
3525            ? ce.fx.step[e.prop](e)
3526            : 1 !== e.elem.nodeType ||
3527              (!ce.cssHooks[e.prop] && null == e.elem.style[Ze(e.prop)])
3528            ? (e.elem[e.prop] = e.now)
3529            : ce.style(e.elem, e.prop, e.now + e.unit);
3530        },
3531      },
3532    }).scrollTop = at.propHooks.scrollLeft =
3533      {
3534        set: function (e) {
3535          e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now);
3536        },
3537      }),
3538    (ce.easing = {
3539      linear: function (e) {
3540        return e;
3541      },
3542      swing: function (e) {
3543        return 0.5 - Math.cos(e * Math.PI) / 2;
3544      },
3545      _default: "swing",
3546    }),
3547    (ce.fx = at.prototype.init),
3548    (ce.fx.step = {});
3549  var st,
3550    ut,
3551    lt,
3552    ct,
3553    ft = /^(?:toggle|show|hide)$/,
3554    pt = /queueHooks$/;
3555  function dt() {
3556    ut &&
3557      (!1 === C.hidden && ie.requestAnimationFrame
3558        ? ie.requestAnimationFrame(dt)
3559        : ie.setTimeout(dt, ce.fx.interval),
3560      ce.fx.tick());
3561  }
3562  function ht() {
3563    return (
3564      ie.setTimeout(function () {
3565        st = void 0;
3566      }),
3567      (st = Date.now())
3568    );
3569  }
3570  function gt(e, t) {
3571    var n,
3572      r = 0,
3573      i = { height: e };
3574    for (t = t ? 1 : 0; r < 4; r += 2 - t)
3575      i["margin" + (n = Q[r])] = i["padding" + n] = e;
3576    return t && (i.opacity = i.width = e), i;
3577  }
3578  function vt(e, t, n) {
3579    for (
3580      var r,
3581        i = (yt.tweeners[t] || []).concat(yt.tweeners["*"]),
3582        o = 0,
3583        a = i.length;
3584      o < a;
3585      o++
3586    )
3587      if ((r = i[o].call(n, t, e))) return r;
3588  }
3589  function yt(o, e, t) {
3590    var n,
3591      a,
3592      r = 0,
3593      i = yt.prefilters.length,
3594      s = ce.Deferred().always(function () {
3595        delete u.elem;
3596      }),
3597      u = function () {
3598        if (a) return !1;
3599        for (
3600          var e = st || ht(),
3601            t = Math.max(0, l.startTime + l.duration - e),
3602            n = 1 - (t / l.duration || 0),
3603            r = 0,
3604            i = l.tweens.length;
3605          r < i;
3606          r++
3607        )
3608          l.tweens[r].run(n);
3609        return (
3610          s.notifyWith(o, [l, n, t]),
3611          n < 1 && i
3612            ? t
3613            : (i || s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l]), !1)
3614        );
3615      },
3616      l = s.promise({
3617        elem: o,
3618        props: ce.extend({}, e),
3619        opts: ce.extend(
3620          !0,
3621          { specialEasing: {}, easing: ce.easing._default },
3622          t
3623        ),
3624        originalProperties: e,
3625        originalOptions: t,
3626        startTime: st || ht(),
3627        duration: t.duration,
3628        tweens: [],
3629        createTween: function (e, t) {
3630          var n = ce.Tween(
3631            o,
3632            l.opts,
3633            e,
3634            t,
3635            l.opts.specialEasing[e] || l.opts.easing
3636          );
3637          return l.tweens.push(n), n;
3638        },
3639        stop: function (e) {
3640          var t = 0,
3641            n = e ? l.tweens.length : 0;
3642          if (a) return this;
3643          for (a = !0; t < n; t++) l.tweens[t].run(1);
3644          return (
3645            e
3646              ? (s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l, e]))
3647              : s.rejectWith(o, [l, e]),
3648            this
3649          );
3650        },
3651      }),
3652      c = l.props;
3653    for (
3654      !(function (e, t) {
3655        var n, r, i, o, a;
3656        for (n in e)
3657          if (
3658            ((i = t[(r = F(n))]),
3659            (o = e[n]),
3660            Array.isArray(o) && ((i = o[1]), (o = e[n] = o[0])),
3661            n !== r && ((e[r] = o), delete e[n]),
3662            (a = ce.cssHooks[r]) && ("expand" in a))
3663          )
3664            for (n in ((o = a.expand(o)), delete e[r], o))
3665              (n in e) || ((e[n] = o[n]), (t[n] = i));
3666          else t[r] = i;
3667      })(c, l.opts.specialEasing);
3668      r < i;
3669      r++
3670    )
3671      if ((n = yt.prefilters[r].call(l, o, c, l.opts)))
3672        return (
3673          v(n.stop) &&
3674            (ce._queueHooks(l.elem, l.opts.queue).stop = n.stop.bind(n)),
3675          n
3676        );
3677    return (
3678      ce.map(c, vt, l),
3679      v(l.opts.start) && l.opts.start.call(o, l),
3680      l
3681        .progress(l.opts.progress)
3682        .done(l.opts.done, l.opts.complete)
3683        .fail(l.opts.fail)
3684        .always(l.opts.always),
3685      ce.fx.timer(ce.extend(u, { elem: o, anim: l, queue: l.opts.queue })),
3686      l
3687    );
3688  }
3689  (ce.Animation = ce.extend(yt, {
3690    tweeners: {
3691      "*": [
3692        function (e, t) {
3693          var n = this.createTween(e, t);
3694          return te(n.elem, e, Y.exec(t), n), n;
3695        },
3696      ],
3697    },
3698    tweener: function (e, t) {
3699      v(e) ? ((t = e), (e = ["*"])) : (e = e.match(D));
3700      for (var n, r = 0, i = e.length; r < i; r++)
3701        (n = e[r]),
3702          (yt.tweeners[n] = yt.tweeners[n] || []),
3703          yt.tweeners[n].unshift(t);
3704    },
3705    prefilters: [
3706      function (e, t, n) {
3707        var r,
3708          i,
3709          o,
3710          a,
3711          s,
3712          u,
3713          l,
3714          c,
3715          f = "width" in t || "height" in t,
3716          p = this,
3717          d = {},
3718          h = e.style,
3719          g = e.nodeType && ee(e),
3720          v = _.get(e, "fxshow");
3721        for (r in (n.queue ||
3722          (null == (a = ce._queueHooks(e, "fx")).unqueued &&
3723            ((a.unqueued = 0),
3724            (s = a.empty.fire),
3725            (a.empty.fire = function () {
3726              a.unqueued || s();
3727            })),
3728          a.unqueued++,
3729          p.always(function () {
3730            p.always(function () {
3731              a.unqueued--, ce.queue(e, "fx").length || a.empty.fire();
3732            });
3733          })),
3734        t))
3735          if (((i = t[r]), ft.test(i))) {
3736            if (
3737              (delete t[r],
3738              (o = o || "toggle" === i),
3739              i === (g ? "hide" : "show"))
3740            ) {
3741              if ("show" !== i || !v || void 0 === v[r]) continue;
3742              g = !0;
3743            }
3744            d[r] = (v && v[r]) || ce.style(e, r);
3745          }
3746        if ((u = !ce.isEmptyObject(t)) || !ce.isEmptyObject(d))
3747          for (r in (f &&
3748            1 === e.nodeType &&
3749            ((n.overflow = [h.overflow, h.overflowX, h.overflowY]),
3750            null == (l = v && v.display) && (l = _.get(e, "display")),
3751            "none" === (c = ce.css(e, "display")) &&
3752              (l
3753                ? (c = l)
3754                : (re([e], !0),
3755                  (l = e.style.display || l),
3756                  (c = ce.css(e, "display")),
3757                  re([e]))),
3758            ("inline" === c || ("inline-block" === c && null != l)) &&
3759              "none" === ce.css(e, "float") &&
3760              (u ||
3761                (p.done(function () {
3762                  h.display = l;
3763                }),
3764                null == l && ((c = h.display), (l = "none" === c ? "" : c))),
3765              (h.display = "inline-block"))),
3766          n.overflow &&
3767            ((h.overflow = "hidden"),
3768            p.always(function () {
3769              (h.overflow = n.overflow[0]),
3770                (h.overflowX = n.overflow[1]),
3771                (h.overflowY = n.overflow[2]);
3772            })),
3773          (u = !1),
3774          d))
3775            u ||
3776              (v
3777                ? "hidden" in v && (g = v.hidden)
3778                : (v = _.access(e, "fxshow", { display: l })),
3779              o && (v.hidden = !g),
3780              g && re([e], !0),
3781              p.done(function () {
3782                for (r in (g || re([e]), _.remove(e, "fxshow"), d))
3783                  ce.style(e, r, d[r]);
3784              })),
3785              (u = vt(g ? v[r] : 0, r, p)),
3786              r in v ||
3787                ((v[r] = u.start), g && ((u.end = u.start), (u.start = 0)));
3788      },
3789    ],
3790    prefilter: function (e, t) {
3791      t ? yt.prefilters.unshift(e) : yt.prefilters.push(e);
3792    },
3793  })),
3794    (ce.speed = function (e, t, n) {
3795      var r =
3796        e && "object" == typeof e
3797          ? ce.extend({}, e)
3798          : {
3799              complete: n || (!n && t) || (v(e) && e),
3800              duration: e,
3801              easing: (n && t) || (t && !v(t) && t),
3802            };
3803      return (
3804        ce.fx.off
3805          ? (r.duration = 0)
3806          : "number" != typeof r.duration &&
3807            (r.duration in ce.fx.speeds
3808              ? (r.duration = ce.fx.speeds[r.duration])
3809              : (r.duration = ce.fx.speeds._default)),
3810        (null != r.queue && !0 !== r.queue) || (r.queue = "fx"),
3811        (r.old = r.complete),
3812        (r.complete = function () {
3813          v(r.old) && r.old.call(this), r.queue && ce.dequeue(this, r.queue);
3814        }),
3815        r
3816      );
3817    }),
3818    ce.fn.extend({
3819      fadeTo: function (e, t, n, r) {
3820        return this.filter(ee)
3821          .css("opacity", 0)
3822          .show()
3823          .end()
3824          .animate({ opacity: t }, e, n, r);
3825      },
3826      animate: function (t, e, n, r) {
3827        var i = ce.isEmptyObject(t),
3828          o = ce.speed(e, n, r),
3829          a = function () {
3830            var e = yt(this, ce.extend({}, t), o);
3831            (i || _.get(this, "finish")) && e.stop(!0);
3832          };
3833        return (
3834          (a.finish = a),
3835          i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a)
3836        );
3837      },
3838      stop: function (i, e, o) {
3839        var a = function (e) {
3840          var t = e.stop;
3841          delete e.stop, t(o);
3842        };
3843        return (
3844          "string" != typeof i && ((o = e), (e = i), (i = void 0)),
3845          e && this.queue(i || "fx", []),
3846          this.each(function () {
3847            var e = !0,
3848              t = null != i && i + "queueHooks",
3849              n = ce.timers,
3850              r = _.get(this);
3851            if (t) r[t] && r[t].stop && a(r[t]);
3852            else for (t in r) r[t] && r[t].stop && pt.test(t) && a(r[t]);
3853            for (t = n.length; t--; )
3854              n[t].elem !== this ||
3855                (null != i && n[t].queue !== i) ||
3856                (n[t].anim.stop(o), (e = !1), n.splice(t, 1));
3857            (!e && o) || ce.dequeue(this, i);
3858          })
3859        );
3860      },
3861      finish: function (a) {
3862        return (
3863          !1 !== a && (a = a || "fx"),
3864          this.each(function () {
3865            var e,
3866              t = _.get(this),
3867              n = t[a + "queue"],
3868              r = t[a + "queueHooks"],
3869              i = ce.timers,
3870              o = n ? n.length : 0;
3871            for (
3872              t.finish = !0,
3873                ce.queue(this, a, []),
3874                r && r.stop && r.stop.call(this, !0),
3875                e = i.length;
3876              e--;
3877
3878            )
3879              i[e].elem === this &&
3880                i[e].queue === a &&
3881                (i[e].anim.stop(!0), i.splice(e, 1));
3882            for (e = 0; e < o; e++)
3883              n[e] && n[e].finish && n[e].finish.call(this);
3884            delete t.finish;
3885          })
3886        );
3887      },
3888    }),
3889    ce.each(["toggle", "show", "hide"], function (e, r) {
3890      var i = ce.fn[r];
3891      ce.fn[r] = function (e, t, n) {
3892        return null == e || "boolean" == typeof e
3893          ? i.apply(this, arguments)
3894          : this.animate(gt(r, !0), e, t, n);
3895      };
3896    }),
3897    ce.each(
3898      {
3899        slideDown: gt("show"),
3900        slideUp: gt("hide"),
3901        slideToggle: gt("toggle"),
3902        fadeIn: { opacity: "show" },
3903        fadeOut: { opacity: "hide" },
3904        fadeToggle: { opacity: "toggle" },
3905      },
3906      function (e, r) {
3907        ce.fn[e] = function (e, t, n) {
3908          return this.animate(r, e, t, n);
3909        };
3910      }
3911    ),
3912    (ce.timers = []),
3913    (ce.fx.tick = function () {
3914      var e,
3915        t = 0,
3916        n = ce.timers;
3917      for (st = Date.now(); t < n.length; t++)
3918        (e = n[t])() || n[t] !== e || n.splice(t--, 1);
3919      n.length || ce.fx.stop(), (st = void 0);
3920    }),
3921    (ce.fx.timer = function (e) {
3922      ce.timers.push(e), ce.fx.start();
3923    }),
3924    (ce.fx.interval = 13),
3925    (ce.fx.start = function () {
3926      ut || ((ut = !0), dt());
3927    }),
3928    (ce.fx.stop = function () {
3929      ut = null;
3930    }),
3931    (ce.fx.speeds = { slow: 600, fast: 200, _default: 400 }),
3932    (ce.fn.delay = function (r, e) {
3933      return (
3934        (r = (ce.fx && ce.fx.speeds[r]) || r),
3935        (e = e || "fx"),
3936        this.queue(e, function (e, t) {
3937          var n = ie.setTimeout(e, r);
3938          t.stop = function () {
3939            ie.clearTimeout(n);
3940          };
3941        })
3942      );
3943    }),
3944    (lt = C.createElement("input")),
3945    (ct = C.createElement("select").appendChild(C.createElement("option"))),
3946    (lt.type = "checkbox"),
3947    (le.checkOn = "" !== lt.value),
3948    (le.optSelected = ct.selected),
3949    ((lt = C.createElement("input")).value = "t"),
3950    (lt.type = "radio"),
3951    (le.radioValue = "t" === lt.value);
3952  var mt,
3953    xt = ce.expr.attrHandle;
3954  ce.fn.extend({
3955    attr: function (e, t) {
3956      return R(this, ce.attr, e, t, 1 < arguments.length);
3957    },
3958    removeAttr: function (e) {
3959      return this.each(function () {
3960        ce.removeAttr(this, e);
3961      });
3962    },
3963  }),
3964    ce.extend({
3965      attr: function (e, t, n) {
3966        var r,
3967          i,
3968          o = e.nodeType;
3969        if (3 !== o && 8 !== o && 2 !== o)
3970          return "undefined" == typeof e.getAttribute
3971            ? ce.prop(e, t, n)
3972            : ((1 === o && ce.isXMLDoc(e)) ||
3973                (i =
3974                  ce.attrHooks[t.toLowerCase()] ||
3975                  (ce.expr.match.bool.test(t) ? mt : void 0)),
3976              void 0 !== n
3977                ? null === n
3978                  ? void ce.removeAttr(e, t)
3979                  : i && "set" in i && void 0 !== (r = i.set(e, n, t))
3980                  ? r
3981                  : (e.setAttribute(t, n + ""), n)
3982                : i && "get" in i && null !== (r = i.get(e, t))
3983                ? r
3984                : null == (r = ce.find.attr(e, t))
3985                ? void 0
3986                : r);
3987      },
3988      attrHooks: {
3989        type: {
3990          set: function (e, t) {
3991            if (!le.radioValue && "radio" === t && fe(e, "input")) {
3992              var n = e.value;
3993              return e.setAttribute("type", t), n && (e.value = n), t;
3994            }
3995          },
3996        },
3997      },
3998      removeAttr: function (e, t) {
3999        var n,
4000          r = 0,
4001          i = t && t.match(D);
4002        if (i && 1 === e.nodeType) while ((n = i[r++])) e.removeAttribute(n);
4003      },
4004    }),
4005    (mt = {
4006      set: function (e, t, n) {
4007        return !1 === t ? ce.removeAttr(e, n) : e.setAttribute(n, n), n;
4008      },
4009    }),
4010    ce.each(ce.expr.match.bool.source.match(/\w+/g), function (e, t) {
4011      var a = xt[t] || ce.find.attr;
4012      xt[t] = function (e, t, n) {
4013        var r,
4014          i,
4015          o = t.toLowerCase();
4016        return (
4017          n ||
4018            ((i = xt[o]),
4019            (xt[o] = r),
4020            (r = null != a(e, t, n) ? o : null),
4021            (xt[o] = i)),
4022          r
4023        );
4024      };
4025    });
4026  var bt = /^(?:input|select|textarea|button)$/i,
4027    wt = /^(?:a|area)$/i;
4028  function Tt(e) {
4029    return (e.match(D) || []).join(" ");
4030  }
4031  function Ct(e) {
4032    return (e.getAttribute && e.getAttribute("class")) || "";
4033  }
4034  function kt(e) {
4035    return Array.isArray(e) ? e : ("string" == typeof e && e.match(D)) || [];
4036  }
4037  ce.fn.extend({
4038    prop: function (e, t) {
4039      return R(this, ce.prop, e, t, 1 < arguments.length);
4040    },
4041    removeProp: function (e) {
4042      return this.each(function () {
4043        delete this[ce.propFix[e] || e];
4044      });
4045    },
4046  }),
4047    ce.extend({
4048      prop: function (e, t, n) {
4049        var r,
4050          i,
4051          o = e.nodeType;
4052        if (3 !== o && 8 !== o && 2 !== o)
4053          return (
4054            (1 === o && ce.isXMLDoc(e)) ||
4055              ((t = ce.propFix[t] || t), (i = ce.propHooks[t])),
4056            void 0 !== n
4057              ? i && "set" in i && void 0 !== (r = i.set(e, n, t))
4058                ? r
4059                : (e[t] = n)
4060              : i && "get" in i && null !== (r = i.get(e, t))
4061              ? r
4062              : e[t]
4063          );
4064      },
4065      propHooks: {
4066        tabIndex: {
4067          get: function (e) {
4068            var t = ce.find.attr(e, "tabindex");
4069            return t
4070              ? parseInt(t, 10)
4071              : bt.test(e.nodeName) || (wt.test(e.nodeName) && e.href)
4072              ? 0
4073              : -1;
4074          },
4075        },
4076      },
4077      propFix: { for: "htmlFor", class: "className" },
4078    }),
4079    le.optSelected ||
4080      (ce.propHooks.selected = {
4081        get: function (e) {
4082          var t = e.parentNode;
4083          return t && t.parentNode && t.parentNode.selectedIndex, null;
4084        },
4085        set: function (e) {
4086          var t = e.parentNode;
4087          t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex);
4088        },
4089      }),
4090    ce.each(
4091      [
4092        "tabIndex",
4093        "readOnly",
4094        "maxLength",
4095        "cellSpacing",
4096        "cellPadding",
4097        "rowSpan",
4098        "colSpan",
4099        "useMap",
4100        "frameBorder",
4101        "contentEditable",
4102      ],
4103      function () {
4104        ce.propFix[this.toLowerCase()] = this;
4105      }
4106    ),
4107    ce.fn.extend({
4108      addClass: function (t) {
4109        var e, n, r, i, o, a;
4110        return v(t)
4111          ? this.each(function (e) {
4112              ce(this).addClass(t.call(this, e, Ct(this)));
4113            })
4114          : (e = kt(t)).length
4115          ? this.each(function () {
4116              if (
4117                ((r = Ct(this)), (n = 1 === this.nodeType && " " + Tt(r) + " "))
4118              ) {
4119                for (o = 0; o < e.length; o++)
4120                  (i = e[o]), n.indexOf(" " + i + " ") < 0 && (n += i + " ");
4121                (a = Tt(n)), r !== a && this.setAttribute("class", a);
4122              }
4123            })
4124          : this;
4125      },
4126      removeClass: function (t) {
4127        var e, n, r, i, o, a;
4128        return v(t)
4129          ? this.each(function (e) {
4130              ce(this).removeClass(t.call(this, e, Ct(this)));
4131            })
4132          : arguments.length
4133          ? (e = kt(t)).length
4134            ? this.each(function () {
4135                if (
4136                  ((r = Ct(this)),
4137                  (n = 1 === this.nodeType && " " + Tt(r) + " "))
4138                ) {
4139                  for (o = 0; o < e.length; o++) {
4140                    i = e[o];
4141                    while (-1 < n.indexOf(" " + i + " "))
4142                      n = n.replace(" " + i + " ", " ");
4143                  }
4144                  (a = Tt(n)), r !== a && this.setAttribute("class", a);
4145                }
4146              })
4147            : this
4148          : this.attr("class", "");
4149      },
4150      toggleClass: function (t, n) {
4151        var e,
4152          r,
4153          i,
4154          o,
4155          a = typeof t,
4156          s = "string" === a || Array.isArray(t);
4157        return v(t)
4158          ? this.each(function (e) {
4159              ce(this).toggleClass(t.call(this, e, Ct(this), n), n);
4160            })
4161          : "boolean" == typeof n && s
4162          ? n
4163            ? this.addClass(t)
4164            : this.removeClass(t)
4165          : ((e = kt(t)),
4166            this.each(function () {
4167              if (s)
4168                for (o = ce(this), i = 0; i < e.length; i++)
4169                  (r = e[i]), o.hasClass(r) ? o.removeClass(r) : o.addClass(r);
4170              else
4171                (void 0 !== t && "boolean" !== a) ||
4172                  ((r = Ct(this)) && _.set(this, "__className__", r),
4173                  this.setAttribute &&
4174                    this.setAttribute(
4175                      "class",
4176                      r || !1 === t ? "" : _.get(this, "__className__") || ""
4177                    ));
4178            }));
4179      },
4180      hasClass: function (e) {
4181        var t,
4182          n,
4183          r = 0;
4184        t = " " + e + " ";
4185        while ((n = this[r++]))
4186          if (1 === n.nodeType && -1 < (" " + Tt(Ct(n)) + " ").indexOf(t))
4187            return !0;
4188        return !1;
4189      },
4190    });
4191  var St = /\r/g;
4192  ce.fn.extend({
4193    val: function (n) {
4194      var r,
4195        e,
4196        i,
4197        t = this[0];
4198      return arguments.length
4199        ? ((i = v(n)),
4200          this.each(function (e) {
4201            var t;
4202            1 === this.nodeType &&
4203              (null == (t = i ? n.call(this, e, ce(this).val()) : n)
4204                ? (t = "")
4205                : "number" == typeof t
4206                ? (t += "")
4207                : Array.isArray(t) &&
4208                  (t = ce.map(t, function (e) {
4209                    return null == e ? "" : e + "";
4210                  })),
4211              ((r =
4212                ce.valHooks[this.type] ||
4213                ce.valHooks[this.nodeName.toLowerCase()]) &&
4214                "set" in r &&
4215                void 0 !== r.set(this, t, "value")) ||
4216                (this.value = t));
4217          }))
4218        : t
4219        ? (r = ce.valHooks[t.type] || ce.valHooks[t.nodeName.toLowerCase()]) &&
4220          "get" in r &&
4221          void 0 !== (e = r.get(t, "value"))
4222          ? e
4223          : "string" == typeof (e = t.value)
4224          ? e.replace(St, "")
4225          : null == e
4226          ? ""
4227          : e
4228        : void 0;
4229    },
4230  }),
4231    ce.extend({
4232      valHooks: {
4233        option: {
4234          get: function (e) {
4235            var t = ce.find.attr(e, "value");
4236            return null != t ? t : Tt(ce.text(e));
4237          },
4238        },
4239        select: {
4240          get: function (e) {
4241            var t,
4242              n,
4243              r,
4244              i = e.options,
4245              o = e.selectedIndex,
4246              a = "select-one" === e.type,
4247              s = a ? null : [],
4248              u = a ? o + 1 : i.length;
4249            for (r = o < 0 ? u : a ? o : 0; r < u; r++)
4250              if (
4251                ((n = i[r]).selected || r === o) &&
4252                !n.disabled &&
4253                (!n.parentNode.disabled || !fe(n.parentNode, "optgroup"))
4254              ) {
4255                if (((t = ce(n).val()), a)) return t;
4256                s.push(t);
4257              }
4258            return s;
4259          },
4260          set: function (e, t) {
4261            var n,
4262              r,
4263              i = e.options,
4264              o = ce.makeArray(t),
4265              a = i.length;
4266            while (a--)
4267              ((r = i[a]).selected =
4268                -1 < ce.inArray(ce.valHooks.option.get(r), o)) && (n = !0);
4269            return n || (e.selectedIndex = -1), o;
4270          },
4271        },
4272      },
4273    }),
4274    ce.each(["radio", "checkbox"], function () {
4275      (ce.valHooks[this] = {
4276        set: function (e, t) {
4277          if (Array.isArray(t))
4278            return (e.checked = -1 < ce.inArray(ce(e).val(), t));
4279        },
4280      }),
4281        le.checkOn ||
4282          (ce.valHooks[this].get = function (e) {
4283            return null === e.getAttribute("value") ? "on" : e.value;
4284          });
4285    });
4286  var Et = ie.location,
4287    jt = { guid: Date.now() },
4288    At = /\?/;
4289  ce.parseXML = function (e) {
4290    var t, n;
4291    if (!e || "string" != typeof e) return null;
4292    try {
4293      t = new ie.DOMParser().parseFromString(e, "text/xml");
4294    } catch (e) {}
4295    return (
4296      (n = t && t.getElementsByTagName("parsererror")[0]),
4297      (t && !n) ||
4298        ce.error(
4299          "Invalid XML: " +
4300            (n
4301              ? ce
4302                  .map(n.childNodes, function (e) {
4303                    return e.textContent;
4304                  })
4305                  .join("\n")
4306              : e)
4307        ),
4308      t
4309    );
4310  };
4311  var Dt = /^(?:focusinfocus|focusoutblur)$/,
4312    Nt = function (e) {
4313      e.stopPropagation();
4314    };
4315  ce.extend(ce.event, {
4316    trigger: function (e, t, n, r) {
4317      var i,
4318        o,
4319        a,
4320        s,
4321        u,
4322        l,
4323        c,
4324        f,
4325        p = [n || C],
4326        d = ue.call(e, "type") ? e.type : e,
4327        h = ue.call(e, "namespace") ? e.namespace.split(".") : [];
4328      if (
4329        ((o = f = a = n = n || C),
4330        3 !== n.nodeType &&
4331          8 !== n.nodeType &&
4332          !Dt.test(d + ce.event.triggered) &&
4333          (-1 < d.indexOf(".") && ((d = (h = d.split(".")).shift()), h.sort()),
4334          (u = d.indexOf(":") < 0 && "on" + d),
4335          ((e = e[ce.expando]
4336            ? e
4337            : new ce.Event(d, "object" == typeof e && e)).isTrigger = r
4338            ? 2
4339            : 3),
4340          (e.namespace = h.join(".")),
4341          (e.rnamespace = e.namespace
4342            ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)")
4343            : null),
4344          (e.result = void 0),
4345          e.target || (e.target = n),
4346          (t = null == t ? [e] : ce.makeArray(t, [e])),
4347          (c = ce.event.special[d] || {}),
4348          r || !c.trigger || !1 !== c.trigger.apply(n, t)))
4349      ) {
4350        if (!r && !c.noBubble && !y(n)) {
4351          for (
4352            s = c.delegateType || d, Dt.test(s + d) || (o = o.parentNode);
4353            o;
4354            o = o.parentNode
4355          )
4356            p.push(o), (a = o);
4357          a === (n.ownerDocument || C) &&
4358            p.push(a.defaultView || a.parentWindow || ie);
4359        }
4360        i = 0;
4361        while ((o = p[i++]) && !e.isPropagationStopped())
4362          (f = o),
4363            (e.type = 1 < i ? s : c.bindType || d),
4364            (l =
4365              (_.get(o, "events") || Object.create(null))[e.type] &&
4366              _.get(o, "handle")) && l.apply(o, t),
4367            (l = u && o[u]) &&
4368              l.apply &&
4369              $(o) &&
4370              ((e.result = l.apply(o, t)),
4371              !1 === e.result && e.preventDefault());
4372        return (
4373          (e.type = d),
4374          r ||
4375            e.isDefaultPrevented() ||
4376            (c._default && !1 !== c._default.apply(p.pop(), t)) ||
4377            !$(n) ||
4378            (u &&
4379              v(n[d]) &&
4380              !y(n) &&
4381              ((a = n[u]) && (n[u] = null),
4382              (ce.event.triggered = d),
4383              e.isPropagationStopped() && f.addEventListener(d, Nt),
4384              n[d](),
4385              e.isPropagationStopped() && f.removeEventListener(d, Nt),
4386              (ce.event.triggered = void 0),
4387              a && (n[u] = a))),
4388          e.result
4389        );
4390      }
4391    },
4392    simulate: function (e, t, n) {
4393      var r = ce.extend(new ce.Event(), n, { type: e, isSimulated: !0 });
4394      ce.event.trigger(r, null, t);
4395    },
4396  }),
4397    ce.fn.extend({
4398      trigger: function (e, t) {
4399        return this.each(function () {
4400          ce.event.trigger(e, t, this);
4401        });
4402      },
4403      triggerHandler: function (e, t) {
4404        var n = this[0];
4405        if (n) return ce.event.trigger(e, t, n, !0);
4406      },
4407    });
4408  var qt = /\[\]$/,
4409    Lt = /\r?\n/g,
4410    Ht = /^(?:submit|button|image|reset|file)$/i,
4411    Ot = /^(?:input|select|textarea|keygen)/i;
4412  function Pt(n, e, r, i) {
4413    var t;
4414    if (Array.isArray(e))
4415      ce.each(e, function (e, t) {
4416        r || qt.test(n)
4417          ? i(n, t)
4418          : Pt(
4419              n + "[" + ("object" == typeof t && null != t ? e : "") + "]",
4420              t,
4421              r,
4422              i
4423            );
4424      });
4425    else if (r || "object" !== x(e)) i(n, e);
4426    else for (t in e) Pt(n + "[" + t + "]", e[t], r, i);
4427  }
4428  (ce.param = function (e, t) {
4429    var n,
4430      r = [],
4431      i = function (e, t) {
4432        var n = v(t) ? t() : t;
4433        r[r.length] =
4434          encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n);
4435      };
4436    if (null == e) return "";
4437    if (Array.isArray(e) || (e.jquery && !ce.isPlainObject(e)))
4438      ce.each(e, function () {
4439        i(this.name, this.value);
4440      });
4441    else for (n in e) Pt(n, e[n], t, i);
4442    return r.join("&");
4443  }),
4444    ce.fn.extend({
4445      serialize: function () {
4446        return ce.param(this.serializeArray());
4447      },
4448      serializeArray: function () {
4449        return this.map(function () {
4450          var e = ce.prop(this, "elements");
4451          return e ? ce.makeArray(e) : this;
4452        })
4453          .filter(function () {
4454            var e = this.type;
4455            return (
4456              this.name &&
4457              !ce(this).is(":disabled") &&
4458              Ot.test(this.nodeName) &&
4459              !Ht.test(e) &&
4460              (this.checked || !we.test(e))
4461            );
4462          })
4463          .map(function (e, t) {
4464            var n = ce(this).val();
4465            return null == n
4466              ? null
4467              : Array.isArray(n)
4468              ? ce.map(n, function (e) {
4469                  return { name: t.name, value: e.replace(Lt, "\r\n") };
4470                })
4471              : { name: t.name, value: n.replace(Lt, "\r\n") };
4472          })
4473          .get();
4474      },
4475    });
4476  var Rt = /%20/g,
4477    Mt = /#.*$/,
4478    It = /([?&])_=[^&]*/,
4479    Wt = /^(.*?):[ \t]*([^\r\n]*)$/gm,
4480    Ft = /^(?:GET|HEAD)$/,
4481    $t = /^\/\//,
4482    Bt = {},
4483    _t = {},
4484    Xt = "*/".concat("*"),
4485    Ut = C.createElement("a");
4486  function zt(o) {
4487    return function (e, t) {
4488      "string" != typeof e && ((t = e), (e = "*"));
4489      var n,
4490        r = 0,
4491        i = e.toLowerCase().match(D) || [];
4492      if (v(t))
4493        while ((n = i[r++]))
4494          "+" === n[0]
4495            ? ((n = n.slice(1) || "*"), (o[n] = o[n] || []).unshift(t))
4496            : (o[n] = o[n] || []).push(t);
4497    };
4498  }
4499  function Vt(t, i, o, a) {
4500    var s = {},
4501      u = t === _t;
4502    function l(e) {
4503      var r;
4504      return (
4505        (s[e] = !0),
4506        ce.each(t[e] || [], function (e, t) {
4507          var n = t(i, o, a);
4508          return "string" != typeof n || u || s[n]
4509            ? u
4510              ? !(r = n)
4511              : void 0
4512            : (i.dataTypes.unshift(n), l(n), !1);
4513        }),
4514        r
4515      );
4516    }
4517    return l(i.dataTypes[0]) || (!s["*"] && l("*"));
4518  }
4519  function Gt(e, t) {
4520    var n,
4521      r,
4522      i = ce.ajaxSettings.flatOptions || {};
4523    for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]);
4524    return r && ce.extend(!0, e, r), e;
4525  }
4526  (Ut.href = Et.href),
4527    ce.extend({
4528      active: 0,
4529      lastModified: {},
4530      etag: {},
4531      ajaxSettings: {
4532        url: Et.href,
4533        type: "GET",
4534        isLocal:
4535          /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(
4536            Et.protocol
4537          ),
4538        global: !0,
4539        processData: !0,
4540        async: !0,
4541        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
4542        accepts: {
4543          "*": Xt,
4544          text: "text/plain",
4545          html: "text/html",
4546          xml: "application/xml, text/xml",
4547          json: "application/json, text/javascript",
4548        },
4549        contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ },
4550        responseFields: {
4551          xml: "responseXML",
4552          text: "responseText",
4553          json: "responseJSON",
4554        },
4555        converters: {
4556          "* text": String,
4557          "text html": !0,
4558          "text json": JSON.parse,
4559          "text xml": ce.parseXML,
4560        },
4561        flatOptions: { url: !0, context: !0 },
4562      },
4563      ajaxSetup: function (e, t) {
4564        return t ? Gt(Gt(e, ce.ajaxSettings), t) : Gt(ce.ajaxSettings, e);
4565      },
4566      ajaxPrefilter: zt(Bt),
4567      ajaxTransport: zt(_t),
4568      ajax: function (e, t) {
4569        "object" == typeof e && ((t = e), (e = void 0)), (t = t || {});
4570        var c,
4571          f,
4572          p,
4573          n,
4574          d,
4575          r,
4576          h,
4577          g,
4578          i,
4579          o,
4580          v = ce.ajaxSetup({}, t),
4581          y = v.context || v,
4582          m = v.context && (y.nodeType || y.jquery) ? ce(y) : ce.event,
4583          x = ce.Deferred(),
4584          b = ce.Callbacks("once memory"),
4585          w = v.statusCode || {},
4586          a = {},
4587          s = {},
4588          u = "canceled",
4589          T = {
4590            readyState: 0,
4591            getResponseHeader: function (e) {
4592              var t;
4593              if (h) {
4594                if (!n) {
4595                  n = {};
4596                  while ((t = Wt.exec(p)))
4597                    n[t[1].toLowerCase() + " "] = (
4598                      n[t[1].toLowerCase() + " "] || []
4599                    ).concat(t[2]);
4600                }
4601                t = n[e.toLowerCase() + " "];
4602              }
4603              return null == t ? null : t.join(", ");
4604            },
4605            getAllResponseHeaders: function () {
4606              return h ? p : null;
4607            },
4608            setRequestHeader: function (e, t) {
4609              return (
4610                null == h &&
4611                  ((e = s[e.toLowerCase()] = s[e.toLowerCase()] || e),
4612                  (a[e] = t)),
4613                this
4614              );
4615            },
4616            overrideMimeType: function (e) {
4617              return null == h && (v.mimeType = e), this;
4618            },
4619            statusCode: function (e) {
4620              var t;
4621              if (e)
4622                if (h) T.always(e[T.status]);
4623                else for (t in e) w[t] = [w[t], e[t]];
4624              return this;
4625            },
4626            abort: function (e) {
4627              var t = e || u;
4628              return c && c.abort(t), l(0, t), this;
4629            },
4630          };
4631        if (
4632          (x.promise(T),
4633          (v.url = ((e || v.url || Et.href) + "").replace(
4634            $t,
4635            Et.protocol + "//"
4636          )),
4637          (v.type = t.method || t.type || v.method || v.type),
4638          (v.dataTypes = (v.dataType || "*").toLowerCase().match(D) || [""]),
4639          null == v.crossDomain)
4640        ) {
4641          r = C.createElement("a");
4642          try {
4643            (r.href = v.url),
4644              (r.href = r.href),
4645              (v.crossDomain =
4646                Ut.protocol + "//" + Ut.host != r.protocol + "//" + r.host);
4647          } catch (e) {
4648            v.crossDomain = !0;
4649          }
4650        }
4651        if (
4652          (v.data &&
4653            v.processData &&
4654            "string" != typeof v.data &&
4655            (v.data = ce.param(v.data, v.traditional)),
4656          Vt(Bt, v, t, T),
4657          h)
4658        )
4659          return T;
4660        for (i in ((g = ce.event && v.global) &&
4661          0 == ce.active++ &&
4662          ce.event.trigger("ajaxStart"),
4663        (v.type = v.type.toUpperCase()),
4664        (v.hasContent = !Ft.test(v.type)),
4665        (f = v.url.replace(Mt, "")),
4666        v.hasContent
4667          ? v.data &&
4668            v.processData &&
4669            0 ===
4670              (v.contentType || "").indexOf(
4671                "application/x-www-form-urlencoded"
4672              ) &&
4673            (v.data = v.data.replace(Rt, "+"))
4674          : ((o = v.url.slice(f.length)),
4675            v.data &&
4676              (v.processData || "string" == typeof v.data) &&
4677              ((f += (At.test(f) ? "&" : "?") + v.data), delete v.data),
4678            !1 === v.cache &&
4679              ((f = f.replace(It, "$1")),
4680              (o = (At.test(f) ? "&" : "?") + "_=" + jt.guid++ + o)),
4681            (v.url = f + o)),
4682        v.ifModified &&
4683          (ce.lastModified[f] &&
4684            T.setRequestHeader("If-Modified-Since", ce.lastModified[f]),
4685          ce.etag[f] && T.setRequestHeader("If-None-Match", ce.etag[f])),
4686        ((v.data && v.hasContent && !1 !== v.contentType) || t.contentType) &&
4687          T.setRequestHeader("Content-Type", v.contentType),
4688        T.setRequestHeader(
4689          "Accept",
4690          v.dataTypes[0] && v.accepts[v.dataTypes[0]]
4691            ? v.accepts[v.dataTypes[0]] +
4692                ("*" !== v.dataTypes[0] ? ", " + Xt + "; q=0.01" : "")
4693            : v.accepts["*"]
4694        ),
4695        v.headers))
4696          T.setRequestHeader(i, v.headers[i]);
4697        if (v.beforeSend && (!1 === v.beforeSend.call(y, T, v) || h))
4698          return T.abort();
4699        if (
4700          ((u = "abort"),
4701          b.add(v.complete),
4702          T.done(v.success),
4703          T.fail(v.error),
4704          (c = Vt(_t, v, t, T)))
4705        ) {
4706          if (((T.readyState = 1), g && m.trigger("ajaxSend", [T, v]), h))
4707            return T;
4708          v.async &&
4709            0 < v.timeout &&
4710            (d = ie.setTimeout(function () {
4711              T.abort("timeout");
4712            }, v.timeout));
4713          try {
4714            (h = !1), c.send(a, l);
4715          } catch (e) {
4716            if (h) throw e;
4717            l(-1, e);
4718          }
4719        } else l(-1, "No Transport");
4720        function l(e, t, n, r) {
4721          var i,
4722            o,
4723            a,
4724            s,
4725            u,
4726            l = t;
4727          h ||
4728            ((h = !0),
4729            d && ie.clearTimeout(d),
4730            (c = void 0),
4731            (p = r || ""),
4732            (T.readyState = 0 < e ? 4 : 0),
4733            (i = (200 <= e && e < 300) || 304 === e),
4734            n &&
4735              (s = (function (e, t, n) {
4736                var r,
4737                  i,
4738                  o,
4739                  a,
4740                  s = e.contents,
4741                  u = e.dataTypes;
4742                while ("*" === u[0])
4743                  u.shift(),
4744                    void 0 === r &&
4745                      (r = e.mimeType || t.getResponseHeader("Content-Type"));
4746                if (r)
4747                  for (i in s)
4748                    if (s[i] && s[i].test(r)) {
4749                      u.unshift(i);
4750                      break;
4751                    }
4752                if (u[0] in n) o = u[0];
4753                else {
4754                  for (i in n) {
4755                    if (!u[0] || e.converters[i + " " + u[0]]) {
4756                      o = i;
4757                      break;
4758                    }
4759                    a || (a = i);
4760                  }
4761                  o = o || a;
4762                }
4763                if (o) return o !== u[0] && u.unshift(o), n[o];
4764              })(v, T, n)),
4765            !i &&
4766              -1 < ce.inArray("script", v.dataTypes) &&
4767              ce.inArray("json", v.dataTypes) < 0 &&
4768              (v.converters["text script"] = function () {}),
4769            (s = (function (e, t, n, r) {
4770              var i,
4771                o,
4772                a,
4773                s,
4774                u,
4775                l = {},
4776                c = e.dataTypes.slice();
4777              if (c[1])
4778                for (a in e.converters) l[a.toLowerCase()] = e.converters[a];
4779              o = c.shift();
4780              while (o)
4781                if (
4782                  (e.responseFields[o] && (n[e.responseFields[o]] = t),
4783                  !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)),
4784                  (u = o),
4785                  (o = c.shift()))
4786                )
4787                  if ("*" === o) o = u;
4788                  else if ("*" !== u && u !== o) {
4789                    if (!(a = l[u + " " + o] || l["* " + o]))
4790                      for (i in l)
4791                        if (
4792                          (s = i.split(" "))[1] === o &&
4793                          (a = l[u + " " + s[0]] || l["* " + s[0]])
4794                        ) {
4795                          !0 === a
4796                            ? (a = l[i])
4797                            : !0 !== l[i] && ((o = s[0]), c.unshift(s[1]));
4798                          break;
4799                        }
4800                    if (!0 !== a)
4801                      if (a && e["throws"]) t = a(t);
4802                      else
4803                        try {
4804                          t = a(t);
4805                        } catch (e) {
4806                          return {
4807                            state: "parsererror",
4808                            error: a
4809                              ? e
4810                              : "No conversion from " + u + " to " + o,
4811                          };
4812                        }
4813                  }
4814              return { state: "success", data: t };
4815            })(v, s, T, i)),
4816            i
4817              ? (v.ifModified &&
4818                  ((u = T.getResponseHeader("Last-Modified")) &&
4819                    (ce.lastModified[f] = u),
4820                  (u = T.getResponseHeader("etag")) && (ce.etag[f] = u)),
4821                204 === e || "HEAD" === v.type
4822                  ? (l = "nocontent")
4823                  : 304 === e
4824                  ? (l = "notmodified")
4825                  : ((l = s.state), (o = s.data), (i = !(a = s.error))))
4826              : ((a = l), (!e && l) || ((l = "error"), e < 0 && (e = 0))),
4827            (T.status = e),
4828            (T.statusText = (t || l) + ""),
4829            i ? x.resolveWith(y, [o, l, T]) : x.rejectWith(y, [T, l, a]),
4830            T.statusCode(w),
4831            (w = void 0),
4832            g && m.trigger(i ? "ajaxSuccess" : "ajaxError", [T, v, i ? o : a
4832]),
4833            b.fireWith(y, [T, l]),
4834            g &&
4835              (m.trigger("ajaxComplete", [T, v]),
4836              --ce.active || ce.event.trigger("ajaxStop")));
4837        }
4838        return T;
4839      },
4840      getJSON: function (e, t, n) {
4841        return ce.get(e, t, n, "json");
4842      },
4843      getScript: function (e, t) {
4844        return ce.get(e, void 0, t, "script");
4845      },
4846    }),
4847    ce.each(["get", "post"], function (e, i) {
4848      ce[i] = function (e, t, n, r) {
4849        return (
4850          v(t) && ((r = r || n), (n = t), (t = void 0)),
4851          ce.ajax(
4852            ce.extend(
4853              { url: e, type: i, dataType: r, data: t, success: n },
4854              ce.isPlainObject(e) && e
4855            )
4856          )
4857        );
4858      };
4859    }),
4860    ce.ajaxPrefilter(function (e) {
4861      var t;
4862      for (t in e.headers)
4863        "content-type" === t.toLowerCase() &&
4864          (e.contentType = e.headers[t] || "");
4865    }),
4866    (ce._evalUrl = function (e, t, n) {
4867      return ce.ajax({
4868        url: e,
4869        type: "GET",
4870        dataType: "script",
4871        cache: !0,
4872        async: !1,
4873        global: !1,
4874        converters: { "text script": function () {} },
4875        dataFilter: function (e) {
4876          ce.globalEval(e, t, n);
4877        },
4878      });
4879    }),
4880    ce.fn.extend({
4881      wrapAll: function (e) {
4882        var t;
4883        return (
4884          this[0] &&
4885            (v(e) && (e = e.call(this[0])),
4886            (t = ce(e, this[0].ownerDocument).eq(0).clone(!0)),
4887            this[0].parentNode && t.insertBefore(this[0]),
4888            t
4889              .map(function () {
4890                var e = this;
4891                while (e.firstElementChild) e = e.firstElementChild;
4892                return e;
4893              })
4894              .append(this)),
4895          this
4896        );
4897      },
4898      wrapInner: function (n) {
4899        return v(n)
4900          ? this.each(function (e) {
4901              ce(this).wrapInner(n.call(this, e));
4902            })
4903          : this.each(function () {
4904              var e = ce(this),
4905                t = e.contents();
4906              t.length ? t.wrapAll(n) : e.append(n);
4907            });
4908      },
4909      wrap: function (t) {
4910        var n = v(t);
4911        return this.each(function (e) {
4912          ce(this).wrapAll(n ? t.call(this, e) : t);
4913        });
4914      },
4915      unwrap: function (e) {
4916        return (
4917          this.parent(e)
4918            .not("body")
4919            .each(function () {
4920              ce(this).replaceWith(this.childNodes);
4921            }),
4922          this
4923        );
4924      },
4925    }),
4926    (ce.expr.pseudos.hidden = function (e) {
4927      return !ce.expr.pseudos.visible(e);
4928    }),
4929    (ce.expr.pseudos.visible = function (e) {
4930      return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length);
4931    }),
4932    (ce.ajaxSettings.xhr = function () {
4933      try {
4934        return new ie.XMLHttpRequest();
4935      } catch (e) {}
4936    });
4937  var Yt = { 0: 200, 1223: 204 },
4938    Qt = ce.ajaxSettings.xhr();
4939  (le.cors = !!Qt && "withCredentials" in Qt),
4940    (le.ajax = Qt = !!Qt),
4941    ce.ajaxTransport(function (i) {
4942      var o, a;
4943      if (le.cors || (Qt && !i.crossDomain))
4944        return {
4945          send: function (e, t) {
4946            var n,
4947              r = i.xhr();
4948            if (
4949              (r.open(i.type, i.url, i.async, i.username, i.password),
4950              i.xhrFields)
4951            )
4952              for (n in i.xhrFields) r[n] = i.xhrFields[n];
4953            for (n in (i.mimeType &&
4954              r.overrideMimeType &&
4955              r.overrideMimeType(i.mimeType),
4956            i.crossDomain ||
4957              e["X-Requested-With"] ||
4958              (e["X-Requested-With"] = "XMLHttpRequest"),
4959            e))
4960              r.setRequestHeader(n, e[n]);
4961            (o = function (e) {
4962              return function () {
4963                o &&
4964                  ((o =
4965                    a =
4966                    r.onload =
4967                    r.onerror =
4968                    r.onabort =
4969                    r.ontimeout =
4970                    r.onreadystatechange =
4971                      null),
4972                  "abort" === e
4973                    ? r.abort()
4974                    : "error" === e
4975                    ? "number" != typeof r.status
4976                      ? t(0, "error")
4977                      : t(r.status, r.statusText)
4978                    : t(
4979                        Yt[r.status] || r.status,
4980                        r.statusText,
4981                        "text" !== (r.responseType || "text") ||
4982                          "string" != typeof r.responseText
4983                          ? { binary: r.response }
4984                          : { text: r.responseText },
4985                        r.getAllResponseHeaders()
4986                      ));
4987              };
4988            }),
4989              (r.onload = o()),
4990              (a = r.onerror = r.ontimeout = o("error")),
4991              void 0 !== r.onabort
4992                ? (r.onabort = a)
4993                : (r.onreadystatechange = function () {
4994                    4 === r.readyState &&
4995                      ie.setTimeout(function () {
4996                        o && a();
4997                      });
4998                  }),
4999              (o = o("abort"));
5000            try {
5001              r.send((i.hasContent && i.data) || null);
5002            } catch (e) {
5003              if (o) throw e;
5004            }
5005          },
5006          abort: function () {
5007            o && o();
5008          },
5009        };
5010    }),
5011    ce.ajaxPrefilter(function (e) {
5012      e.crossDomain && (e.contents.script = !1);
5013    }),
5014    ce.ajaxSetup({
5015      accepts: {
5016        script:
5017          "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript",
5018      },
5019      contents: { script: /\b(?:java|ecma)script\b/ },
5020      converters: {
5021        "text script": function (e) {
5022          return ce.globalEval(e), e;
5023        },
5024      },
5025    }),
5026    ce.ajaxPrefilter("script", function (e) {
5027      void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET");
5028    }),
5029    ce.ajaxTransport("script", function (n) {
5030      var r, i;
5031      if (n.crossDomain || n.scriptAttrs)
5032        return {
5033          send: function (e, t) {
5034            (r = ce("<script>")
5035              .attr(n.scriptAttrs || {})
5036              .prop({ charset: n.scriptCharset, src: n.url })
5037              .on(
5038                "load error",
5039                (i = function (e) {
5040                  r.remove(),
5041                    (i = null),
5042                    e && t("error" === e.type ? 404 : 200, e.type);
5043                })
5044              )),
5045              C.head.appendChild(r[0]);
5046          },
5047          abort: function () {
5048            i && i();
5049          },
5050        };
5051    });
5052  var Jt,
5053    Kt = [],
5054    Zt = /(=)\?(?=&|$)|\?\?/;
5055  ce.ajaxSetup({
5056    jsonp: "callback",
5057    jsonpCallback: function () {
5058      var e = Kt.pop() || ce.expando + "_" + jt.guid++;
5059      return (this[e] = !0), e;
5060    },
5061  }),
5062    ce.ajaxPrefilter("json jsonp", function (e, t, n) {
5063      var r,
5064        i,
5065        o,
5066        a =
5067          !1 !== e.jsonp &&
5068          (Zt.test(e.url)
5069            ? "url"
5070            : "string" == typeof e.data &&
5071              0 ===
5072                (e.contentType || "").indexOf(
5073                  "application/x-www-form-urlencoded"
5074                ) &&
5075              Zt.test(e.data) &&
5076              "data");
5077      if (a || "jsonp" === e.dataTypes[0])
5078        return (
5079          (r = e.jsonpCallback =
5080            v(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback),
5081          a
5082            ? (e[a] = e[a].replace(Zt, "$1" + r))
5083            : !1 !== e.jsonp &&
5084              (e.url += (At.test(e.url) ? "&" : "?") + e.jsonp + "=" + r),
5085          (e.converters["script json"] = function () {
5086            return o || ce.error(r + " was not called"), o[0];
5087          }),
5088          (e.dataTypes[0] = "json"),
5089          (i = ie[r]),
5090          (ie[r] = function () {
5091            o = arguments;
5092          }),
5093          n.always(function () {
5094            void 0 === i ? ce(ie).removeProp(r) : (ie[r] = i),
5095              e[r] && ((e.jsonpCallback = t.jsonpCallback), Kt.push(r)),
5096              o && v(i) && i(o[0]),
5097              (o = i = void 0);
5098          }),
5099          "script"
5100        );
5101    }),
5102    (le.createHTMLDocument =
5103      (((Jt = C.implementation.createHTMLDocument("").body).innerHTML =
5104        "<form></form><form></form>"),
5105      2 === Jt.childNodes.length)),
5106    (ce.parseHTML = function (e, t, n) {
5107      return "string" != typeof e
5108        ? []
5109        : ("boolean" == typeof t && ((n = t), (t = !1)),
5110          t ||
5111            (le.createHTMLDocument
5112              ? (((r = (t =
5113                  C.implementation.createHTMLDocument("")).createElement(
5114                  "base"
5115                )).href = C.location.href),
5116                t.head.appendChild(r))
5117              : (t = C)),
5118          (o = !n && []),
5119          (i = w.exec(e))
5120            ? [t.createElement(i[1])]
5121            : ((i = Ae([e], t, o)),
5122              o && o.length && ce(o).remove(),
5123              ce.merge([], i.childNodes)));
5124      var r, i, o;
5125    }),
5126    (ce.fn.load = function (e, t, n) {
5127      var r,
5128        i,
5129        o,
5130        a = this,
5131        s = e.indexOf(" ");
5132      return (
5133        -1 < s && ((r = Tt(e.slice(s))), (e = e.slice(0, s))),
5134        v(t)
5135          ? ((n = t), (t = void 0))
5136          : t && "object" == typeof t && (i = "POST"),
5137        0 < a.length &&
5138          ce
5139            .ajax({ url: e, type: i || "GET", dataType: "html", data: t })
5140            .done(function (e) {
5141              (o = arguments),
5142                a.html(r ? ce("<div>").append(ce.parseHTML(e)).find(r) : e);
5143            })
5144            .always(
5145              n &&
5146                function (e, t) {
5147                  a.each(function () {
5148                    n.apply(this, o || [e.responseText, t, e]);
5149                  });
5150                }
5151            ),
5152        this
5153      );
5154    }),
5155    (ce.expr.pseudos.animated = function (t) {
5156      return ce.grep(ce.timers, function (e) {
5157        return t === e.elem;
5158      }).length;
5159    }),
5160    (ce.offset = {
5161      setOffset: function (e, t, n) {
5162        var r,
5163          i,
5164          o,
5165          a,
5166          s,
5167          u,
5168          l = ce.css(e, "position"),
5169          c = ce(e),
5170          f = {};
5171        "static" === l && (e.style.position = "relative"),
5172          (s = c.offset()),
5173          (o = ce.css(e, "top")),
5174          (u = ce.css(e, "left")),
5175          ("absolute" === l || "fixed" === l) && -1 < (o + u).indexOf("auto")
5176            ? ((a = (r = c.position()).top), (i = r.left))
5177            : ((a = parseFloat(o) || 0), (i = parseFloat(u) || 0)),
5178          v(t) && (t = t.call(e, n, ce.extend({}, s))),
5179          null != t.top && (f.top = t.top - s.top + a),
5180          null != t.left && (f.left = t.left - s.left + i),
5181          "using" in t ? t.using.call(e, f) : c.css(f);
5182      },
5183    }),
5184    ce.fn.extend({
5185      offset: function (t) {
5186        if (arguments.length)
5187          return void 0 === t
5188            ? this
5189            : this.each(function (e) {
5190                ce.offset.setOffset(this, t, e);
5191              });
5192        var e,
5193          n,
5194          r = this[0];
5195        return r
5196          ? r.getClientRects().length
5197            ? ((e = r.getBoundingClientRect()),
5198              (n = r.ownerDocument.defaultView),
5199              { top: e.top + n.pageYOffset, left: e.left + n.pageXOffset })
5200            : { top: 0, left: 0 }
5201          : void 0;
5202      },
5203      position: function () {
5204        if (this[0]) {
5205          var e,
5206            t,
5207            n,
5208            r = this[0],
5209            i = { top: 0, left: 0 };
5210          if ("fixed" === ce.css(r, "position")) t = r.getBoundingClientRect();
5211          else {
5212            (t = this.offset()),
5213              (n = r.ownerDocument),
5214              (e = r.offsetParent || n.documentElement);
5215            while (
5216              e &&
5217              (e === n.body || e === n.documentElement) &&
5218              "static" === ce.css(e, "position")
5219            )
5220              e = e.parentNode;
5221            e &&
5222              e !== r &&
5223              1 === e.nodeType &&
5224              (((i = ce(e).offset()).top += ce.css(e, "borderTopWidth", !0)),
5225              (i.left += ce.css(e, "borderLeftWidth", !0)));
5226          }
5227          return {
5228            top: t.top - i.top - ce.css(r, "marginTop", !0),
5229            left: t.left - i.left - ce.css(r, "marginLeft", !0),
5230          };
5231        }
5232      },
5233      offsetParent: function () {
5234        return this.map(function () {
5235          var e = this.offsetParent;
5236          while (e && "static" === ce.css(e, "position")) e = e.offsetParent;
5237          return e || J;
5238        });
5239      },
5240    }),
5241    ce.each(
5242      { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" },
5243      function (t, i) {
5244        var o = "pageYOffset" === i;
5245        ce.fn[t] = function (e) {
5246          return R(
5247            this,
5248            function (e, t, n) {
5249              var r;
5250              if (
5251                (y(e) ? (r = e) : 9 === e.nodeType && (r = e.defaultView),
5252                void 0 === n)
5253              )
5254                return r ? r[i] : e[t];
5255              r
5256                ? r.scrollTo(o ? r.pageXOffset : n, o ? n : r.pageYOffset)
5257                : (e[t] = n);
5258            },
5259            t,
5260            e,
5261            arguments.length
5262          );
5263        };
5264      }
5265    ),
5266    ce.each(["top", "left"], function (e, n) {
5267      ce.cssHooks[n] = Ye(le.pixelPosition, function (e, t) {
5268        if (t)
5269          return (t = Ge(e, n)), _e.test(t) ? ce(e).position()[n] + "px" : t;
5270      });
5271    }),
5272    ce.each({ Height: "height", Width: "width" }, function (a, s) {
5273      ce.each(
5274        { padding: "inner" + a, content: s, "": "outer" + a },
5275        function (r, o) {
5276          ce.fn[o] = function (e, t) {
5277            var n = arguments.length && (r || "boolean" != typeof e),
5278              i = r || (!0 === e || !0 === t ? "margin" : "border");
5279            return R(
5280              this,
5281              function (e, t, n) {
5282                var r;
5283                return y(e)
5284                  ? 0 === o.indexOf("outer")
5285                    ? e["inner" + a]
5286                    : e.document.documentElement["client" + a]
5287                  : 9 === e.nodeType
5288                  ? ((r = e.documentElement),
5289                    Math.max(
5290                      e.body["scroll" + a],
5291                      r["scroll" + a],
5292                      e.body["offset" + a],
5293                      r["offset" + a],
5294                      r["client" + a]
5295                    ))
5296                  : void 0 === n
5297                  ? ce.css(e, t, i)
5298                  : ce.style(e, t, n, i);
5299              },
5300              s,
5301              n ? e : void 0,
5302              n
5303            );
5304          };
5305        }
5306      );
5307    }),
5308    ce.each(
5309      [
5310        "ajaxStart",
5311        "ajaxStop",
5312        "ajaxComplete",
5313        "ajaxError",
5314        "ajaxSuccess",
5315        "ajaxSend",
5316      ],
5317      function (e, t) {
5318        ce.fn[t] = function (e) {
5319          return this.on(t, e);
5320        };
5321      }
5322    ),
5323    ce.fn.extend({
5324      bind: function (e, t, n) {
5325        return this.on(e, null, t, n);
5326      },
5327      unbind: function (e, t) {
5328        return this.off(e, null, t);
5329      },
5330      delegate: function (e, t, n, r) {
5331        return this.on(t, e, n, r);
5332      },
5333      undelegate: function (e, t, n) {
5334        return 1 === arguments.length
5335          ? this.off(e, "**")
5336          : this.off(t, e || "**", n);
5337      },
5338      hover: function (e, t) {
5339        return this.mouseenter(e).mouseleave(t || e);
5340      },
5341    }),
5342    ce.each(
5343      "blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(
5344        " "
5345      ),
5346      function (e, n) {
5347        ce.fn[n] = function (e, t) {
5348          return 0 < arguments.length
5349            ? this.on(n, null, e, t)
5350            : this.trigger(n);
5351        };
5352      }
5353    );
5354  var en = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
5355  (ce.proxy = function (e, t) {
5356    var n, r, i;
5357    if (("string" == typeof t && ((n = e[t]), (t = e), (e = n)), v(e)))
5358      return (
5359        (r = ae.call(arguments, 2)),
5360        ((i = function () {
5361          return e.apply(t || this, r.concat(ae.call(arguments)));
5362        }).guid = e.guid =
5363          e.guid || ce.guid++),
5364        i
5365      );
5366  }),
5367    (ce.holdReady = function (e) {
5368      e ? ce.readyWait++ : ce.ready(!0);
5369    }),
5370    (ce.isArray = Array.isArray),
5371    (ce.parseJSON = JSON.parse),
5372    (ce.nodeName = fe),
5373    (ce.isFunction = v),
5374    (ce.isWindow = y),
5375    (ce.camelCase = F),
5376    (ce.type = x),
5377    (ce.now = Date.now),
5378    (ce.isNumeric = function (e) {
5379      var t = ce.type(e);
5380      return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e));
5381    }),
5382    (ce.trim = function (e) {
5383      return null == e ? "" : (e + "").replace(en, "$1");
5384    }),
5385    "function" == typeof define &&
5386      define.amd &&
5387      define("jquery", [], function () {
5388        return ce;
5389      });
5390  var tn = ie.jQuery,
5391    nn = ie.$;
5392  return (
5393    (ce.noConflict = function (e) {
5394      return (
5395        ie.$ === ce && (ie.$ = nn),
5396        e && ie.jQuery === ce && (ie.jQuery = tn),
5397        ce
5398      );
5399    }),
5400    "undefined" == typeof e && (ie.jQuery = ie.$ = ce),
5401    ce
5402  );
5403});
5404//! moment.js
5405//! version : 2.16.0
5406//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
5407//! license : MIT
5408//! momentjs.com
5409!(function (a, b) {
5410  "object" == typeof exports && "undefined" != typeof module
5411    ? (module.exports = b())
5412    : "function" == typeof define && define.amd
5413    ? define(b)
5414    : (a.moment = b());
5415})(this, function () {
5416  "use strict";
5417  function a() {
5418    return od.apply(null, arguments);
5419  }
5420  // This is done to register the method called with moment()
5421  // without creating circular dependencies.
5422  function b(a) {
5423    od = a;
5424  }
5425  function c(a) {
5426    return (
5427      a instanceof Array ||
5428      "[object Array]" === Object.prototype.toString.call(a)
5429    );
5430  }
5431  function d(a) {
5432    // IE8 will treat undefined and null as object if it wasn't for
5433    // input != null
5434    return null != a && "[object Object]" === Object.prototype.toString.call(a);
5435  }
5436  function e(a) {
5437    var b;
5438    // even if its not own property I'd still call it non-empty
5439    for (b in a) return !1;
5440    return !0;
5441  }
5442  function f(a) {
5443    return (
5444      "number" == typeof value ||
5445      "[object Number]" === Object.prototype.toString.call(a)
5446    );
5447  }
5448  function g(a) {
5449    return (
5450      a instanceof Date || "[object Date]" === Object.prototype.toString.call(a)
5451    );
5452  }
5453  function h(a, b) {
5454    var c,
5455      d = [];
5456    for (c = 0; c < a.length; ++c) d.push(b(a[c], c));
5457    return d;
5458  }
5459  function i(a, b) {
5460    return Object.prototype.hasOwnProperty.call(a, b);
5461  }
5462  function j(a, b) {
5463    for (var c in b) i(b, c) && (a[c] = b[c]);
5464    return (
5465      i(b, "toString") && (a.toString = b.toString),
5466      i(b, "valueOf") && (a.valueOf = b.valueOf),
5467      a
5468    );
5469  }
5470  function k(a, b, c, d) {
5471    return rb(a, b, c, d, !0).utc();
5472  }
5473  function l() {
5474    // We need to deep clone this object.
5475    return {
5476      empty: !1,
5477      unusedTokens: [],
5478      unusedInput: [],
5479      overflow: -2,
5480      charsLeftOver: 0,
5481      nullInput: !1,
5482      invalidMonth: null,
5483      invalidFormat: !1,
5484      userInvalidated: !1,
5485      iso: !1,
5486      parsedDateParts: [],
5487      meridiem: null,
5488    };
5489  }
5490  function m(a) {
5491    return null == a._pf && (a._pf = l()), a._pf;
5492  }
5493  function n(a) {
5494    if (null == a._isValid) {
5495      var b = m(a),
5496        c = qd.call(b.parsedDateParts, function (a) {
5497          return null != a;
5498        }),
5499        d =
5500          !isNaN(a._d.getTime()) &&
5501          b.overflow < 0 &&
5502          !b.empty &&
5503          !b.invalidMonth &&
5504          !b.invalidWeekday &&
5505          !b.nullInput &&
5506          !b.invalidFormat &&
5507          !b.userInvalidated &&
5508          (!b.meridiem || (b.meridiem && c));
5509      if (
5510        (a._strict &&
5511          (d =
5512            d &&
5513            0 === b.charsLeftOver &&
5514            0 === b.unusedTokens.length &&
5515            void 0 === b.bigHour),
5516        null != Object.isFrozen && Object.isFrozen(a))
5517      )
5518        return d;
5519      a._isValid = d;
5520    }
5521    return a._isValid;
5522  }
5523  function o(a) {
5524    var b = k(NaN);
5525    return null != a ? j(m(b), a) : (m(b).userInvalidated = !0), b;
5526  }
5527  function p(a) {
5528    return void 0 === a;
5529  }
5530  function q(a, b) {
5531    var c, d, e;
5532    if (
5533      (p(b._isAMomentObject) || (a._isAMomentObject = b._isAMomentObject),
5534      p(b._i) || (a._i = b._i),
5535      p(b._f) || (a._f = b._f),
5536      p(b._l) || (a._l = b._l),
5537      p(b._strict) || (a._strict = b._strict),
5538      p(b._tzm) || (a._tzm = b._tzm),
5539      p(b._isUTC) || (a._isUTC = b._isUTC),
5540      p(b._offset) || (a._offset = b._offset),
5541      p(b._pf) || (a._pf = m(b)),
5542      p(b._locale) || (a._locale = b._locale),
5543      rd.length > 0)
5544    )
5545      for (c in rd) (d = rd[c]), (e = b[d]), p(e) || (a[d] = e);
5546    return a;
5547  }
5548  // Moment prototype object
5549  function r(b) {
5550    q(this, b),
5551      (this._d = new Date(null != b._d ? b._d.getTime() : NaN)),
5552      // Prevent infinite loop in case updateOffset creates new moment
5553      // objects.
5554      sd === !1 && ((sd = !0), a.updateOffset(this), (sd = !1));
5555  }
5556  function s(a) {
5557    return a instanceof r || (null != a && null != a._isAMomentObject);
5558  }
5559  function t(a) {
5560    return a < 0 ? Math.ceil(a) || 0 : Math.floor(a);
5561  }
5562  function u(a) {
5563    var b = +a,
5564      c = 0;
5565    return 0 !== b && isFinite(b) && (c = t(b)), c;
5566  }
5567  // compare two arrays, return the number of differences
5568  function v(a, b, c) {
5569    var d,
5570      e = Math.min(a.length, b.length),
5571      f = Math.abs(a.length - b.length),
5572      g = 0;
5573    for (d = 0; d < e; d++)
5574      ((c && a[d] !== b[d]) || (!c && u(a[d]) !== u(b[d]))) && g++;
5575    return g + f;
5576  }
5577  function w(b) {
5578    a.suppressDeprecationWarnings === !1 &&
5579      "undefined" != typeof console &&
5580      console.warn &&
5581      console.warn("Deprecation warning: " + b);
5582  }
5583  function x(b, c) {
5584    var d = !0;
5585    return j(function () {
5586      if ((null != a.deprecationHandler && a.deprecationHandler(null, b), d)) {
5587        for (var e, f = [], g = 0; g < arguments.length; g++) {
5588          if (((e = ""), "object" == typeof arguments[g])) {
5589            e += "\n[" + g + "] ";
5590            for (var h in arguments[0]) e += h + ": " + arguments[0][h] + ", ";
5591            e = e.slice(0, -2);
5592          } else e = arguments[g];
5593          f.push(e);
5594        }
5595        w(
5596          b +
5597            "\nArguments: " +
5598            Array.prototype.slice.call(f).join("") +
5599            "\n" +
5600            new Error().stack
5601        ),
5602          (d = !1);
5603      }
5604      return c.apply(this, arguments);
5605    }, c);
5606  }
5607  function y(b, c) {
5608    null != a.deprecationHandler && a.deprecationHandler(b, c),
5609      td[b] || (w(c), (td[b] = !0));
5610  }
5611  function z(a) {
5612    return (
5613      a instanceof Function ||
5614      "[object Function]" === Object.prototype.toString.call(a)
5615    );
5616  }
5617  function A(a) {
5618    var b, c;
5619    for (c in a) (b = a[c]), z(b) ? (this[c] = b) : (this["_" + c] = b);
5620    (this._config = a),
5621      // Lenient ordinal parsing accepts just a number in addition to
5622      // number + (possibly) stuff coming from _ordinalParseLenient.
5623      (this._ordinalParseLenient = new RegExp(
5624        this._ordinalParse.source + "|" + /\d{1,2}/.source
5625      ));
5626  }
5627  function B(a, b) {
5628    var c,
5629      e = j({}, a);
5630    for (c in b)
5631      i(b, c) &&
5632        (d(a[c]) && d(b[c])
5633          ? ((e[c] = {}), j(e[c], a[c]), j(e[c], b[c]))
5634          : null != b[c]
5635          ? (e[c] = b[c])
5636          : delete e[c]);
5637    for (c in a)
5638      i(a, c) &&
5639        !i(b, c) &&
5640        d(a[c]) &&
5641        // make sure changes to properties don't modify parent config
5642        (e[c] = j({}, e[c]));
5643    return e;
5644  }
5645  function C(a) {
5646    null != a && this.set(a);
5647  }
5648  function D(a, b, c) {
5649    var d = this._calendar[a] || this._calendar.sameElse;
5650    return z(d) ? d.call(b, c) : d;
5651  }
5652  function E(a) {
5653    var b = this._longDateFormat[a],
5654      c = this._longDateFormat[a.toUpperCase()];
5655    return b || !c
5656      ? b
5657      : ((this._longDateFormat[a] = c.replace(/MMMM|MM|DD|dddd/g, function (a) {
5658          return a.slice(1);
5659        })),
5660        this._longDateFormat[a]);
5661  }
5662  function F() {
5663    return this._invalidDate;
5664  }
5665  function G(a) {
5666    return this._ordinal.replace("%d", a);
5667  }
5668  function H(a, b, c, d) {
5669    var e = this._relativeTime[c];
5670    return z(e) ? e(a, b, c, d) : e.replace(/%d/i, a);
5671  }
5672  function I(a, b) {
5673    var c = this._relativeTime[a > 0 ? "future" : "past"];
5674    return z(c) ? c(b) : c.replace(/%s/i, b);
5675  }
5676  function J(a, b) {
5677    var c = a.toLowerCase();
5678    Dd[c] = Dd[c + "s"] = Dd[b] = a;
5679  }
5680  function K(a) {
5681    return "string" == typeof a ? Dd[a] || Dd[a.toLowerCase()] : void 0;
5682  }
5683  function L(a) {
5684    var b,
5685      c,
5686      d = {};
5687    for (c in a) i(a, c) && ((b = K(c)), b && (d[b] = a[c]));
5688    return d;
5689  }
5690  function M(a, b) {
5691    Ed[a] = b;
5692  }
5693  function N(a) {
5694    var b = [];
5695    for (var c in a) b.push({ unit: c, priority: Ed[c] });
5696    return (
5697      b.sort(function (a, b) {
5698        return a.priority - b.priority;
5699      }),
5700      b
5701    );
5702  }
5703  function O(b, c) {
5704    return function (d) {
5705      return null != d
5706        ? (Q(this, b, d), a.updateOffset(this, c), this)
5707        : P(this, b);
5708    };
5709  }
5710  function P(a, b) {
5711    return a.isValid() ? a._d["get" + (a._isUTC ? "UTC" : "") + b]() : NaN;
5712  }
5713  function Q(a, b, c) {
5714    a.isValid() && a._d["set" + (a._isUTC ? "UTC" : "") + b](c);
5715  }
5716  // MOMENTS
5717  function R(a) {
5718    return (a = K(a)), z(this[a]) ? this[a]() : this;
5719  }
5720  function S(a, b) {
5721    if ("object" == typeof a) {
5722      a = L(a);
5723      for (var c = N(a), d = 0; d < c.length; d++)
5724        this[c[d].unit](a[c[d].unit]);
5725    } else if (((a = K(a)), z(this[a]))) return this[a](b);
5726    return this;
5727  }
5728  function T(a, b, c) {
5729    var d = "" + Math.abs(a),
5730      e = b - d.length,
5731      f = a >= 0;
5732    return (
5733      (f ? (c ? "+" : "") : "-") +
5734      Math.pow(10, Math.max(0, e)).toString().substr(1) +
5735      d
5736    );
5737  }
5738  // token:    'M'
5739  // padded:   ['MM', 2]
5740  // ordinal:  'Mo'
5741  // callback: function () { this.month() + 1 }
5742  function U(a, b, c, d) {
5743    var e = d;
5744    "string" == typeof d &&
5745      (e = function () {
5746        return this[d]();
5747      }),
5748      a && (Id[a] = e),
5749      b &&
5750        (Id[b[0]] = function () {
5751          return T(e.apply(this, arguments), b[1], b[2]);
5752        }),
5753      c &&
5754        (Id[c] = function () {
5755          return this.localeData().ordinal(e.apply(this, arguments), a);
5756        });
5757  }
5758  function V(a) {
5759    return a.match(/\[[\s\S]/)
5760      ? a.replace(/^\[|\]$/g, "")
5761      : a.replace(/\\/g, "");
5762  }
5763  function W(a) {
5764    var b,
5765      c,
5766      d = a.match(Fd);
5767    for (b = 0, c = d.length; b < c; b++)
5768      Id[d[b]] ? (d[b] = Id[d[b]]) : (d[b] = V(d[b]));
5769    return function (b) {
5770      var e,
5771        f = "";
5772      for (e = 0; e < c; e++)
5773        f += d[e] instanceof Function ? d[e].call(b, a) : d[e];
5774      return f;
5775    };
5776  }
5777  // format date using native date object
5778  function X(a, b) {
5779    return a.isValid()
5780      ? ((b = Y(b, a.localeData())), (Hd[b] = Hd[b] || W(b)), Hd[b](a))
5781      : a.localeData().invalidDate();
5782  }
5783  function Y(a, b) {
5784    function c(a) {
5785      return b.longDateFormat(a) || a;
5786    }
5787    var d = 5;
5788    for (Gd.lastIndex = 0; d >= 0 && Gd.test(a); )
5789      (a = a.replace(Gd, c)), (Gd.lastIndex = 0), (d -= 1);
5790    return a;
5791  }
5792  function Z(a, b, c) {
5793    $d[a] = z(b)
5794      ? b
5795      : function (a, d) {
5796          return a && c ? c : b;
5797        };
5798  }
5799  function $(a, b) {
5800    return i($d, a) ? $d[a](b._strict, b._locale) : new RegExp(_(a));
5801  }
5802  // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
5803  function _(a) {
5804    return aa(
5805      a
5806        .replace("\\", "")
5807        .replace(
5808          /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,
5809          function (a, b, c, d, e) {
5810            return b || c || d || e;
5811          }
5812        )
5813    );
5814  }
5815  function aa(a) {
5816    return a.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
5817  }
5818  function ba(a, b) {
5819    var c,
5820      d = b;
5821    for (
5822      "string" == typeof a && (a = [a]),
5823        f(b) &&
5824          (d = function (a, c) {
5825            c[b] = u(a);
5826          }),
5827        c = 0;
5828      c < a.length;
5829      c++
5830    )
5831      _d[a[c]] = d;
5832  }
5833  function ca(a, b) {
5834    ba(a, function (a, c, d, e) {
5835      (d._w = d._w || {}), b(a, d._w, d, e);
5836    });
5837  }
5838  function da(a, b, c) {
5839    null != b && i(_d, a) && _d[a](b, c._a, c, a);
5840  }
5841  function ea(a, b) {
5842    return new Date(Date.UTC(a, b + 1, 0)).getUTCDate();
5843  }
5844  function fa(a, b) {
5845    return a
5846      ? c(this._months)
5847        ? this._months[a.month()]
5848        : this._months[
5849            (this._months.isFormat || ke).test(b) ? "format" : "standalone"
5850          ][a.month()]
5851      : this._months;
5852  }
5853  function ga(a, b) {
5854    return a
5855      ? c(this._monthsShort)
5856        ? this._monthsShort[a.month()]
5857        : this._monthsShort[ke.test(b) ? "format" : "standalone"][a.month()]
5858      : this._monthsShort;
5859  }
5860  function ha(a, b, c) {
5861    var d,
5862      e,
5863      f,
5864      g = a.toLocaleLowerCase();
5865    if (!this._monthsParse)
5866      for (
5867        // this is not used
5868        this._monthsParse = [],
5869          this._longMonthsParse = [],
5870          this._shortMonthsParse = [],
5871          d = 0;
5872        d < 12;
5873        ++d
5874      )
5875        (f = k([2e3, d])),
5876          (this._shortMonthsParse[d] = this.monthsShort(
5877            f,
5878            ""
5879          ).toLocaleLowerCase()),
5880          (this._longMonthsParse[d] = this.months(f, "").toLocaleLowerCase());
5881    return c
5882      ? "MMM" === b
5883        ? ((e = je.call(this._shortMonthsParse, g)), e !== -1 ? e : null)
5884        : ((e = je.call(this._longMonthsParse, g)), e !== -1 ? e : null)
5885      : "MMM" === b
5886      ? ((e = je.call(this._shortMonthsParse, g)),
5887        e !== -1
5888          ? e
5889          : ((e = je.call(this._longMonthsParse, g)), e !== -1 ? e : null))
5890      : ((e = je.call(this._longMonthsParse, g)),
5891        e !== -1
5892          ? e
5893          : ((e = je.call(this._shortMonthsParse, g)), e !== -1 ? e : null));
5894  }
5895  function ia(a, b, c) {
5896    var d, e, f;
5897    if (this._monthsParseExact) return ha.call(this, a, b, c);
5898    // TODO: add sorting
5899    // Sorting makes sure if one month (or abbr) is a prefix of another
5900    // see sorting in computeMonthsParse
5901    for (
5902      this._monthsParse ||
5903        ((this._monthsParse = []),
5904        (this._longMonthsParse = []),
5905        (this._shortMonthsParse = [])),
5906        d = 0;
5907      d < 12;
5908      d++
5909    ) {
5910      // test the regex
5911      if (
5912        // make the regex if we don't have it already
5913        ((e = k([2e3, d])),
5914        c &&
5915          !this._longMonthsParse[d] &&
5916          ((this._longMonthsParse[d] = new RegExp(
5917            "^" + this.months(e, "").replace(".", "") + "$",
5918            "i"
5919          )),
5920          (this._shortMonthsParse[d] = new RegExp(
5921            "^" + this.monthsShort(e, "").replace(".", "") + "$",
5922            "i"
5923          ))),
5924        c ||
5925          this._monthsParse[d] ||
5926          ((f = "^" + this.months(e, "") + "|^" + this.monthsShort(e, "")),
5927          (this._monthsParse[d] = new RegExp(f.replace(".", ""), "i"))),
5928        c && "MMMM" === b && this._longMonthsParse[d].test(a))
5929      )
5930        return d;
5931      if (c && "MMM" === b && this._shortMonthsParse[d].test(a)) return d;
5932      if (!c && this._monthsParse[d].test(a)) return d;
5933    }
5934  }
5935  // MOMENTS
5936  function ja(a, b) {
5937    var c;
5938    if (!a.isValid())
5939      // No op
5940      return a;
5941    if ("string" == typeof b)
5942      if (/^\d+$/.test(b)) b = u(b);
5943      // TODO: Another silent failure?
5944      else if (((b = a.localeData().monthsParse(b)), !f(b))) return a;
5945    return (
5946      (c = Math.min(a.date(), ea(a.year(), b))),
5947      a._d["set" + (a._isUTC ? "UTC" : "") + "Month"](b, c),
5948      a
5949    );
5950  }
5951  function ka(b) {
5952    return null != b
5953      ? (ja(this, b), a.updateOffset(this, !0), this)
5954      : P(this, "Month");
5955  }
5956  function la() {
5957    return ea(this.year(), this.month());
5958  }
5959  function ma(a) {
5960    return this._monthsParseExact
5961      ? (i(this, "_monthsRegex") || oa.call(this),
5962        a ? this._monthsShortStrictRegex : this._monthsShortRegex)
5963      : (i(this, "_monthsShortRegex") || (this._monthsShortRegex = ne),
5964        this._monthsShortStrictRegex && a
5965          ? this._monthsShortStrictRegex
5966          : this._monthsShortRegex);
5967  }
5968  function na(a) {
5969    return this._monthsParseExact
5970      ? (i(this, "_monthsRegex") || oa.call(this),
5971        a ? this._monthsStrictRegex : this._monthsRegex)
5972      : (i(this, "_monthsRegex") || (this._monthsRegex = oe),
5973        this._monthsStrictRegex && a
5974          ? this._monthsStrictRegex
5975          : this._monthsRegex);
5976  }
5977  function oa() {
5978    function a(a, b) {
5979      return b.length - a.length;
5980    }
5981    var b,
5982      c,
5983      d = [],
5984      e = [],
5985      f = [];
5986    for (b = 0; b < 12; b++)
5987      // make the regex if we don't have it already
5988      (c = k([2e3, b])),
5989        d.push(this.monthsShort(c, "")),
5990        e.push(this.months(c, "")),
5991        f.push(this.months(c, "")),
5992        f.push(this.monthsShort(c, ""));
5993    for (
5994      // Sorting makes sure if one month (or abbr) is a prefix of another it
5995      // will match the longer piece.
5996      d.sort(a), e.sort(a), f.sort(a), b = 0;
5997      b < 12;
5998      b++
5999    )
6000      (d[b] = aa(d[b])), (e[b] = aa(e[b]));
6001    for (b = 0; b < 24; b++) f[b] = aa(f[b]);
6002    (this._monthsRegex = new RegExp("^(" + f.join("|") + ")", "i")),
6003      (this._monthsShortRegex = this._monthsRegex),
6004      (this._monthsStrictRegex = new RegExp("^(" + e.join("|") + ")", "i")),
6005      (this._monthsShortStrictRegex = new RegExp(
6006        "^(" + d.join("|") + ")",
6007        "i"
6008      ));
6009  }
6010  // HELPERS
6011  function pa(a) {
6012    return qa(a) ? 366 : 365;
6013  }
6014  function qa(a) {
6015    return (a % 4 === 0 && a % 100 !== 0) || a % 400 === 0;
6016  }
6017  function ra() {
6018    return qa(this.year());
6019  }
6020  function sa(a, b, c, d, e, f, g) {
6021    //can't just apply() to create a date:
6022    //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
6023    var h = new Date(a, b, c, d, e, f, g);
6024    //the date constructor remaps years 0-99 to 1900-1999
6025    return (
6026      a < 100 && a >= 0 && isFinite(h.getFullYear()) && h.setFullYear(a), h
6027    );
6028  }
6029  function ta(a) {
6030    var b = new Date(Date.UTC.apply(null, arguments));
6031    //the Date.UTC function remaps years 0-99 to 1900-1999
6032    return (
6033      a < 100 && a >= 0 && isFinite(b.getUTCFullYear()) && b.setUTCFullYear(a),
6034      b
6035    );
6036  }
6037  // start-of-first-week - start-of-year
6038  function ua(a, b, c) {
6039    var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
6040      d = 7 + b - c,
6041      // first-week day local weekday -- which local weekday is fwd
6042      e = (7 + ta(a, 0, d).getUTCDay() - b) % 7;
6043    return -e + d - 1;
6044  }
6045  //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
6046  function va(a, b, c, d, e) {
6047    var f,
6048      g,
6049      h = (7 + c - d) % 7,
6050      i = ua(a, d, e),
6051      j = 1 + 7 * (b - 1) + h + i;
6052    return (
6053      j <= 0
6054        ? ((f = a - 1), (g = pa(f) + j))
6055        : j > pa(a)
6056        ? ((f = a + 1), (g = j - pa(a)))
6057        : ((f = a), (g = j)),
6058      { year: f, dayOfYear: g }
6059    );
6060  }
6061  function wa(a, b, c) {
6062    var d,
6063      e,
6064      f = ua(a.year(), b, c),
6065      g = Math.floor((a.dayOfYear() - f - 1) / 7) + 1;
6066    return (
6067      g < 1
6068        ? ((e = a.year() - 1), (d = g + xa(e, b, c)))
6069        : g > xa(a.year(), b, c)
6070        ? ((d = g - xa(a.year(), b, c)), (e = a.year() + 1))
6071        : ((e = a.year()), (d = g)),
6072      { week: d, year: e }
6073    );
6074  }
6075  function xa(a, b, c) {
6076    var d = ua(a, b, c),
6077      e = ua(a + 1, b, c);
6078    return (pa(a) - d + e) / 7;
6079  }
6080  // HELPERS
6081  // LOCALES
6082  function ya(a) {
6083    return wa(a, this._week.dow, this._week.doy).week;
6084  }
6085  function za() {
6086    return this._week.dow;
6087  }
6088  function Aa() {
6089    return this._week.doy;
6090  }
6091  // MOMENTS
6092  function Ba(a) {
6093    var b = this.localeData().week(this);
6094    return null == a ? b : this.add(7 * (a - b), "d");
6095  }
6096  function Ca(a) {
6097    var b = wa(this, 1, 4).week;
6098    return null == a ? b : this.add(7 * (a - b), "d");
6099  }
6100  // HELPERS
6101  function Da(a, b) {
6102    return "string" != typeof a
6103      ? a
6104      : isNaN(a)
6105      ? ((a = b.weekdaysParse(a)), "number" == typeof a ? a : null)
6106      : parseInt(a, 10);
6107  }
6108  function Ea(a, b) {
6109    return "string" == typeof a
6110      ? b.weekdaysParse(a) % 7 || 7
6111      : isNaN(a)
6112      ? null
6113      : a;
6114  }
6115  function Fa(a, b) {
6116    return a
6117      ? c(this._weekdays)
6118        ? this._weekdays[a.day()]
6119        : this._weekdays[
6120            this._weekdays.isFormat.test(b) ? "format" : "standalone"
6121          ][a.day()]
6122      : this._weekdays;
6123  }
6124  function Ga(a) {
6125    return a ? this._weekdaysShort[a.day()] : this._weekdaysShort;
6126  }
6127  function Ha(a) {
6128    return a ? this._weekdaysMin[a.day()] : this._weekdaysMin;
6129  }
6130  function Ia(a, b, c) {
6131    var d,
6132      e,
6133      f,
6134      g = a.toLocaleLowerCase();
6135    if (!this._weekdaysParse)
6136      for (
6137        this._weekdaysParse = [],
6138          this._shortWeekdaysParse = [],
6139          this._minWeekdaysParse = [],
6140          d = 0;
6141        d < 7;
6142        ++d
6143      )
6144        (f = k([2e3, 1]).day(d)),
6145          (this._minWeekdaysParse[d] = this.weekdaysMin(
6146            f,
6147            ""
6148          ).toLocaleLowerCase()),
6149          (this._shortWeekdaysParse[d] = this.weekdaysShort(
6150            f,
6151            ""
6152          ).toLocaleLowerCase()),
6153          (this._weekdaysParse[d] = this.weekdays(f, "").toLocaleLowerCase());
6154    return c
6155      ? "dddd" === b
6156        ? ((e = je.call(this._weekdaysParse, g)), e !== -1 ? e : null)
6157        : "ddd" === b
6158        ? ((e = je.call(this._shortWeekdaysParse, g)), e !== -1 ? e : null)
6159        : ((e = je.call(this._minWeekdaysParse, g)), e !== -1 ? e : null)
6160      : "dddd" === b
6161      ? ((e = je.call(this._weekdaysParse, g)),
6162        e !== -1
6163          ? e
6164          : ((e = je.call(this._shortWeekdaysParse, g)),
6165            e !== -1
6166              ? e
6167              : ((e = je.call(this._minWeekdaysParse, g)),
6168                e !== -1 ? e : null)))
6169      : "ddd" === b
6170      ? ((e = je.call(this._shortWeekdaysParse, g)),
6171        e !== -1
6172          ? e
6173          : ((e = je.call(this._weekdaysParse, g)),
6174            e !== -1
6175              ? e
6176              : ((e = je.call(this._minWeekdaysParse, g)),
6177                e !== -1 ? e : null)))
6178      : ((e = je.call(this._minWeekdaysParse, g)),
6179        e !== -1
6180          ? e
6181          : ((e = je.call(this._weekdaysParse, g)),
6182            e !== -1
6183              ? e
6184              : ((e = je.call(this._shortWeekdaysParse, g)),
6185                e !== -1 ? e : null)));
6186  }
6187  function Ja(a, b, c) {
6188    var d, e, f;
6189    if (this._weekdaysParseExact) return Ia.call(this, a, b, c);
6190    for (
6191      this._weekdaysParse ||
6192        ((this._weekdaysParse = []),
6193        (this._minWeekdaysParse = []),
6194        (this._shortWeekdaysParse = []),
6195        (this._fullWeekdaysParse = [])),
6196        d = 0;
6197      d < 7;
6198      d++
6199    ) {
6200      // test the regex
6201      if (
6202        // make the regex if we don't have it already
6203        ((e = k([2e3, 1]).day(d)),
6204        c &&
6205          !this._fullWeekdaysParse[d] &&
6206          ((this._fullWeekdaysParse[d] = new RegExp(
6207            "^" + this.weekdays(e, "").replace(".", ".?") + "$",
6208            "i"
6209          )),
6210          (this._shortWeekdaysParse[d] = new RegExp(
6211            "^" + this.weekdaysShort(e, "").replace(".", ".?") + "$",
6212            "i"
6213          )),
6214          (this._minWeekdaysParse[d] = new RegExp(
6215            "^" + this.weekdaysMin(e, "").replace(".", ".?") + "$",
6216            "i"
6217          ))),
6218        this._weekdaysParse[d] ||
6219          ((f =
6220            "^" +
6221            this.weekdays(e, "") +
6222            "|^" +
6223            this.weekdaysShort(e, "") +
6224            "|^" +
6225            this.weekdaysMin(e, "")),
6226          (this._weekdaysParse[d] = new RegExp(f.replace(".", ""), "i"))),
6227        c && "dddd" === b && this._fullWeekdaysParse[d].test(a))
6228      )
6229        return d;
6230      if (c && "ddd" === b && this._shortWeekdaysParse[d].test(a)) return d;
6231      if (c && "dd" === b && this._minWeekdaysParse[d].test(a)) return d;
6232      if (!c && this._weekdaysParse[d].test(a)) return d;
6233    }
6234  }
6235  // MOMENTS
6236  function Ka(a) {
6237    if (!this.isValid()) return null != a ? this : NaN;
6238    var b = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
6239    return null != a
6240      ? ((a = Da(a, this.localeData())), this.add(a - b, "d"))
6241      : b;
6242  }
6243  function La(a) {
6244    if (!this.isValid()) return null != a ? this : NaN;
6245    var b = (this.day() + 7 - this.localeData()._week.dow) % 7;
6246    return null == a ? b : this.add(a - b, "d");
6247  }
6248  function Ma(a) {
6249    if (!this.isValid()) return null != a ? this : NaN;
6250    // behaves the same as moment#day except
6251    // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
6252    // as a setter, sunday should belong to the previous week.
6253    if (null != a) {
6254      var b = Ea(a, this.localeData());
6255      return this.day(this.day() % 7 ? b : b - 7);
6256    }
6257    return this.day() || 7;
6258  }
6259  function Na(a) {
6260    return this._weekdaysParseExact
6261      ? (i(this, "_weekdaysRegex") || Qa.call(this),
6262        a ? this._weekdaysStrictRegex : this._weekdaysRegex)
6263      : (i(this, "_weekdaysRegex") || (this._weekdaysRegex = ue),
6264        this._weekdaysStrictRegex && a
6265          ? this._weekdaysStrictRegex
6266          : this._weekdaysRegex);
6267  }
6268  function Oa(a) {
6269    return this._weekdaysParseExact
6270      ? (i(this, "_weekdaysRegex") || Qa.call(this),
6271        a ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex)
6272      : (i(this, "_weekdaysShortRegex") || (this._weekdaysShortRegex = ve),
6273        this._weekdaysShortStrictRegex && a
6274          ? this._weekdaysShortStrictRegex
6275          : this._weekdaysShortRegex);
6276  }
6277  function Pa(a) {
6278    return this._weekdaysParseExact
6279      ? (i(this, "_weekdaysRegex") || Qa.call(this),
6280        a ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex)
6281      : (i(this, "_weekdaysMinRegex") || (this._weekdaysMinRegex = we),
6282        this._weekdaysMinStrictRegex && a
6283          ? this._weekdaysMinStrictRegex
6284          : this._weekdaysMinRegex);
6285  }
6286  function Qa() {
6287    function a(a, b) {
6288      return b.length - a.length;
6289    }
6290    var b,
6291      c,
6292      d,
6293      e,
6294      f,
6295      g = [],
6296      h = [],
6297      i = [],
6298      j = [];
6299    for (b = 0; b < 7; b++)
6300      // make the regex if we don't have it already
6301      (c = k([2e3, 1]).day(b)),
6302        (d = this.weekdaysMin(c, "")),
6303        (e = this.weekdaysShort(c, "")),
6304        (f = this.weekdays(c, "")),
6305        g.push(d),
6306        h.push(e),
6307        i.push(f),
6308        j.push(d),
6309        j.push(e),
6310        j.push(f);
6311    for (
6312      // Sorting makes sure if one weekday (or abbr) is a prefix of another it
6313      // will match the longer piece.
6314      g.sort(a), h.sort(a), i.sort(a), j.sort(a), b = 0;
6315      b < 7;
6316      b++
6317    )
6318      (h[b] = aa(h[b])), (i[b] = aa(i[b])), (j[b] = aa(j[b]));
6319    (this._weekdaysRegex = new RegExp("^(" + j.join("|") + ")", "i")),
6320      (this._weekdaysShortRegex = this._weekdaysRegex),
6321      (this._weekdaysMinRegex = this._weekdaysRegex),
6322      (this._weekdaysStrictRegex = new RegExp("^(" + i.join("|") + ")", "i")),
6323      (this._weekdaysShortStrictRegex = new RegExp(
6324        "^(" + h.join("|") + ")",
6325        "i"
6326      )),
6327      (this._weekdaysMinStrictRegex = new RegExp(
6328        "^(" + g.join("|") + ")",
6329        "i"
6330      ));
6331  }
6332  // FORMATTING
6333  function Ra() {
6334    return this.hours() % 12 || 12;
6335  }
6336  function Sa() {
6337    return this.hours() || 24;
6338  }
6339  function Ta(a, b) {
6340    U(a, 0, 0, function () {
6341      return this.localeData().meridiem(this.hours(), this.minutes(), b);
6342    });
6343  }
6344  // PARSING
6345  function Ua(a, b) {
6346    return b._meridiemParse;
6347  }
6348  // LOCALES
6349  function Va(a) {
6350    // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
6351    // Using charAt should be more compatible.
6352    return "p" === (a + "").toLowerCase().charAt(0);
6353  }
6354  function Wa(a, b, c) {
6355    return a > 11 ? (c ? "pm" : "PM") : c ? "am" : "AM";
6356  }
6357  function Xa(a) {
6358    return a ? a.toLowerCase().replace("_", "-") : a;
6359  }
6360  // pick the locale from the array
6361  // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list tr
6361ying each
6362  // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
6363  function Ya(a) {
6364    for (var b, c, d, e, f = 0; f < a.length; ) {
6365      for (
6366        e = Xa(a[f]).split("-"),
6367          b = e.length,
6368          c = Xa(a[f + 1]),
6369          c = c ? c.split("-") : null;
6370        b > 0;
6371
6372      ) {
6373        if ((d = Za(e.slice(0, b).join("-")))) return d;
6374        if (c && c.length >= b && v(e, c, !0) >= b - 1)
6375          //the next array item is better than a shallower substring of this one
6376          break;
6377        b--;
6378      }
6379      f++;
6380    }
6381    return null;
6382  }
6383  function Za(a) {
6384    var b = null;
6385    // TODO: Find a better way to register and load all the locales in Node
6386    if (!Be[a] && "undefined" != typeof module && module && module.exports)
6387      try {
6388        (b = xe._abbr),
6389          require("./locale/" + a),
6390          // because defineLocale currently also sets the global locale, we
6391          // want to undo that for lazy loaded locales
6392          $a(b);
6393      } catch (a) {}
6394    return Be[a];
6395  }
6396  // This function will load locale and then set the global locale.  If
6397  // no arguments are passed in, it will simply return the current global
6398  // locale key.
6399  function $a(a, b) {
6400    var c;
6401    // moment.duration._locale = moment._locale = data;
6402    return a && ((c = p(b) ? bb(a) : _a(a, b)), c && (xe = c)), xe._abbr;
6403  }
6404  function _a(a, b) {
6405    if (null !== b) {
6406      var c = Ae;
6407      if (((b.abbr = a), null != Be[a]))
6408        y(
6409          "defineLocaleOverride",
6410          "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."
6411        ),
6412          (c = Be[a]._config);
6413      else if (null != b.parentLocale) {
6414        if (null == Be[b.parentLocale])
6415          return (
6416            Ce[b.parentLocale] || (Ce[b.parentLocale] = []),
6417            Ce[b.parentLocale].push({ name: a, config: b }),
6418            null
6419          );
6420        c = Be[b.parentLocale]._config;
6421      }
6422      // backwards compat for now: also set the locale
6423      // make sure we set the locale AFTER all child locales have been
6424      // created, so we won't end up with the child locale set.
6425      return (
6426        (Be[a] = new C(B(c, b))),
6427        Ce[a] &&
6428          Ce[a].forEach(function (a) {
6429            _a(a.name, a.config);
6430          }),
6431        $a(a),
6432        Be[a]
6433      );
6434    }
6435    // useful for testing
6436    return delete Be[a], null;
6437  }
6438  function ab(a, b) {
6439    if (null != b) {
6440      var c,
6441        d = Ae;
6442      // MERGE
6443      null != Be[a] && (d = Be[a]._config),
6444        (b = B(d, b)),
6445        (c = new C(b)),
6446        (c.parentLocale = Be[a]),
6447        (Be[a] = c),
6448        // backwards compat for now: also set the locale
6449        $a(a);
6450    }
6451    // pass null for config to unupdate, useful for tests
6452    else
6453      null != Be[a] &&
6454        (null != Be[a].parentLocale
6455          ? (Be[a] = Be[a].parentLocale)
6456          : null != Be[a] && delete Be[a]);
6457    return Be[a];
6458  }
6459  // returns locale data
6460  function bb(a) {
6461    var b;
6462    if ((a && a._locale && a._locale._abbr && (a = a._locale._abbr), !a))
6463      return xe;
6464    if (!c(a)) {
6465      if (
6466        //short-circuit everything else
6467        (b = Za(a))
6468      )
6469        return b;
6470      a = [a];
6471    }
6472    return Ya(a);
6473  }
6474  function cb() {
6475    return wd(Be);
6476  }
6477  function db(a) {
6478    var b,
6479      c = a._a;
6480    return (
6481      c &&
6482        m(a).overflow === -2 &&
6483        ((b =
6484          c[be] < 0 || c[be] > 11
6485            ? be
6486            : c[ce] < 1 || c[ce] > ea(c[ae], c[be])
6487            ? ce
6488            : c[de] < 0 ||
6489              c[de] > 24 ||
6490              (24 === c[de] && (0 !== c[ee] || 0 !== c[fe] || 0 !== c[ge]))
6491            ? de
6492            : c[ee] < 0 || c[ee] > 59
6493            ? ee
6494            : c[fe] < 0 || c[fe] > 59
6495            ? fe
6496            : c[ge] < 0 || c[ge] > 999
6497            ? ge
6498            : -1),
6499        m(a)._overflowDayOfYear && (b < ae || b > ce) && (b = ce),
6500        m(a)._overflowWeeks && b === -1 && (b = he),
6501        m(a)._overflowWeekday && b === -1 && (b = ie),
6502        (m(a).overflow = b)),
6503      a
6504    );
6505  }
6506  // date from iso format
6507  function eb(a) {
6508    var b,
6509      c,
6510      d,
6511      e,
6512      f,
6513      g,
6514      h = a._i,
6515      i = De.exec(h) || Ee.exec(h);
6516    if (i) {
6517      for (m(a).iso = !0, b = 0, c = Ge.length; b < c; b++)
6518        if (Ge[b][1].exec(i[1])) {
6519          (e = Ge[b][0]), (d = Ge[b][2] !== !1);
6520          break;
6521        }
6522      if (null == e) return void (a._isValid = !1);
6523      if (i[3]) {
6524        for (b = 0, c = He.length; b < c; b++)
6525          if (He[b][1].exec(i[3])) {
6526            // match[2] should be 'T' or space
6527            f = (i[2] || " ") + He[b][0];
6528            break;
6529          }
6530        if (null == f) return void (a._isValid = !1);
6531      }
6532      if (!d && null != f) return void (a._isValid = !1);
6533      if (i[4]) {
6534        if (!Fe.exec(i[4])) return void (a._isValid = !1);
6535        g = "Z";
6536      }
6537      (a._f = e + (f || "") + (g || "")), kb(a);
6538    } else a._isValid = !1;
6539  }
6540  // date from iso format or fallback
6541  function fb(b) {
6542    var c = Ie.exec(b._i);
6543    return null !== c
6544      ? void (b._d = new Date(+c[1]))
6545      : (eb(b),
6546        void (
6547          b._isValid === !1 && (delete b._isValid, a.createFromInputFallback(b))
6548        ));
6549  }
6550  // Pick the first defined of two or three arguments.
6551  function gb(a, b, c) {
6552    return null != a ? a : null != b ? b : c;
6553  }
6554  function hb(b) {
6555    // hooks is actually the exported moment object
6556    var c = new Date(a.now());
6557    return b._useUTC
6558      ? [c.getUTCFullYear(), c.getUTCMonth(), c.getUTCDate()]
6559      : [c.getFullYear(), c.getMonth(), c.getDate()];
6560  }
6561  // convert an array to a date.
6562  // the array should mirror the parameters below
6563  // note: all values past the year are optional and will default to the lowest possible value.
6564  // [year, month, day , hour, minute, second, millisecond]
6565  function ib(a) {
6566    var b,
6567      c,
6568      d,
6569      e,
6570      f = [];
6571    if (!a._d) {
6572      // Default to current date.
6573      // * if no year, month, day of month are given, default to today
6574      // * if day of month is given, default month and year
6575      // * if month is given, default only year
6576      // * if year is given, don't default anything
6577      for (
6578        d = hb(a),
6579          //compute day of the year from weeks and weekdays
6580          a._w && null == a._a[ce] && null == a._a[be] && jb(a),
6581          //if the day of the year is set, figure out what it is
6582          a._dayOfYear &&
6583            ((e = gb(a._a[ae], d[ae])),
6584            a._dayOfYear > pa(e) && (m(a)._overflowDayOfYear = !0),
6585            (c = ta(e, 0, a._dayOfYear)),
6586            (a._a[be] = c.getUTCMonth()),
6587            (a._a[ce] = c.getUTCDate())),
6588          b = 0;
6589        b < 3 && null == a._a[b];
6590        ++b
6591      )
6592        a._a[b] = f[b] = d[b];
6593      // Zero out whatever was not defaulted, including time
6594      for (; b < 7; b++)
6595        a._a[b] = f[b] = null == a._a[b] ? (2 === b ? 1 : 0) : a._a[b];
6596      // Check for 24:00:00.000
6597      24 === a._a[de] &&
6598        0 === a._a[ee] &&
6599        0 === a._a[fe] &&
6600        0 === a._a[ge] &&
6601        ((a._nextDay = !0), (a._a[de] = 0)),
6602        (a._d = (a._useUTC ? ta : sa).apply(null, f)),
6603        // Apply timezone offset from input. The actual utcOffset can be changed
6604        // with parseZone.
6605        null != a._tzm && a._d.setUTCMinutes(a._d.getUTCMinutes() - a._tzm),
6606        a._nextDay && (a._a[de] = 24);
6607    }
6608  }
6609  function jb(a) {
6610    var b, c, d, e, f, g, h, i;
6611    if (((b = a._w), null != b.GG || null != b.W || null != b.E))
6612      (f = 1),
6613        (g = 4),
6614        // TODO: We need to take the current isoWeekYear, but that depends on
6615        // how we interpret now (local, utc, fixed offset). So create
6616        // a now version of current config (take local/utc/offset flags, and
6617        // create now).
6618        (c = gb(b.GG, a._a[ae], wa(sb(), 1, 4).year)),
6619        (d = gb(b.W, 1)),
6620        (e = gb(b.E, 1)),
6621        (e < 1 || e > 7) && (i = !0);
6622    else {
6623      (f = a._locale._week.dow), (g = a._locale._week.doy);
6624      var j = wa(sb(), f, g);
6625      (c = gb(b.gg, a._a[ae], j.year)),
6626        // Default to current week.
6627        (d = gb(b.w, j.week)),
6628        null != b.d
6629          ? // weekday -- low day numbers are considered next week
6630            ((e = b.d), (e < 0 || e > 6) && (i = !0))
6631          : null != b.e
6632          ? // local weekday -- counting starts from begining of week
6633            ((e = b.e + f), (b.e < 0 || b.e > 6) && (i = !0))
6634          : // default to begining of week
6635            (e = f);
6636    }
6637    d < 1 || d > xa(c, f, g)
6638      ? (m(a)._overflowWeeks = !0)
6639      : null != i
6640      ? (m(a)._overflowWeekday = !0)
6641      : ((h = va(c, d, e, f, g)),
6642        (a._a[ae] = h.year),
6643        (a._dayOfYear = h.dayOfYear));
6644  }
6645  // date from string and format string
6646  function kb(b) {
6647    // TODO: Move this to another part of the creation flow to prevent circular deps
6648    if (b._f === a.ISO_8601) return void eb(b);
6649    (b._a = []), (m(b).empty = !0);
6650    // This array is used to make a Date, either with `new Date` or `Date.UTC`
6651    var c,
6652      d,
6653      e,
6654      f,
6655      g,
6656      h = "" + b._i,
6657      i = h.length,
6658      j = 0;
6659    for (e = Y(b._f, b._locale).match(Fd) || [], c = 0; c < e.length; c++)
6660      (f = e[c]),
6661        (d = (h.match($(f, b)) || [])[0]),
6662        // console.log('token', token, 'parsedInput', parsedInput,
6663        //         'regex', getParseRegexForToken(token, config));
6664        d &&
6665          ((g = h.substr(0, h.indexOf(d))),
6666          g.length > 0 && m(b).unusedInput.push(g),
6667          (h = h.slice(h.indexOf(d) + d.length)),
6668          (j += d.length)),
6669        // don't parse if it's not a known token
6670        Id[f]
6671          ? (d ? (m(b).empty = !1) : m(b).unusedTokens.push(f), da(f, d, b))
6672          : b._strict && !d && m(b).unusedTokens.push(f);
6673    // add remaining unparsed input length to the string
6674    (m(b).charsLeftOver = i - j),
6675      h.length > 0 && m(b).unusedInput.push(h),
6676      // clear _12h flag if hour is <= 12
6677      b._a[de] <= 12 &&
6678        m(b).bigHour === !0 &&
6679        b._a[de] > 0 &&
6680        (m(b).bigHour = void 0),
6681      (m(b).parsedDateParts = b._a.slice(0)),
6682      (m(b).meridiem = b._meridiem),
6683      // handle meridiem
6684      (b._a[de] = lb(b._locale, b._a[de], b._meridiem)),
6685      ib(b),
6686      db(b);
6687  }
6688  function lb(a, b, c) {
6689    var d;
6690    // Fallback
6691    return null == c
6692      ? b
6693      : null != a.meridiemHour
6694      ? a.meridiemHour(b, c)
6695      : null != a.isPM
6696      ? ((d = a.isPM(c)), d && b < 12 && (b += 12), d || 12 !== b || (b = 0), b)
6697      : b;
6698  }
6699  // date from string and array of format strings
6700  function mb(a) {
6701    var b, c, d, e, f;
6702    if (0 === a._f.length)
6703      return (m(a).invalidFormat = !0), void (a._d = new Date(NaN));
6704    for (e = 0; e < a._f.length; e++)
6705      (f = 0),
6706        (b = q({}, a)),
6707        null != a._useUTC && (b._useUTC = a._useUTC),
6708        (b._f = a._f[e]),
6709        kb(b),
6710        n(b) &&
6711          // if there is any input that was not parsed add a penalty for that format
6712          ((f += m(b).charsLeftOver),
6713          //or tokens
6714          (f += 10 * m(b).unusedTokens.length),
6715          (m(b).score = f),
6716          (null == d || f < d) && ((d = f), (c = b)));
6717    j(a, c || b);
6718  }
6719  function nb(a) {
6720    if (!a._d) {
6721      var b = L(a._i);
6722      (a._a = h(
6723        [
6724          b.year,
6725          b.month,
6726          b.day || b.date,
6727          b.hour,
6728          b.minute,
6729          b.second,
6730          b.millisecond,
6731        ],
6732        function (a) {
6733          return a && parseInt(a, 10);
6734        }
6735      )),
6736        ib(a);
6737    }
6738  }
6739  function ob(a) {
6740    var b = new r(db(pb(a)));
6741    // Adding is smart enough around DST
6742    return b._nextDay && (b.add(1, "d"), (b._nextDay = void 0)), b;
6743  }
6744  function pb(a) {
6745    var b = a._i,
6746      d = a._f;
6747    return (
6748      (a._locale = a._locale || bb(a._l)),
6749      null === b || (void 0 === d && "" === b)
6750        ? o({ nullInput: !0 })
6751        : ("string" == typeof b && (a._i = b = a._locale.preparse(b)),
6752          s(b)
6753            ? new r(db(b))
6754            : (g(b) ? (a._d = b) : c(d) ? mb(a) : d ? kb(a) : qb(a),
6755              n(a) || (a._d = null),
6756              a))
6757    );
6758  }
6759  function qb(b) {
6760    var d = b._i;
6761    void 0 === d
6762      ? (b._d = new Date(a.now()))
6763      : g(d)
6764      ? (b._d = new Date(d.valueOf()))
6765      : "string" == typeof d
6766      ? fb(b)
6767      : c(d)
6768      ? ((b._a = h(d.slice(0), function (a) {
6769          return parseInt(a, 10);
6770        })),
6771        ib(b))
6772      : "object" == typeof d
6773      ? nb(b)
6774      : f(d)
6775      ? // from milliseconds
6776        (b._d = new Date(d))
6777      : a.createFromInputFallback(b);
6778  }
6779  function rb(a, b, f, g, h) {
6780    var i = {};
6781    // object construction must be done this way.
6782    // https://github.com/moment/moment/issues/1423
6783    return (
6784      (f !== !0 && f !== !1) || ((g = f), (f = void 0)),
6785      ((d(a) && e(a)) || (c(a) && 0 === a.length)) && (a = void 0),
6786      (i._isAMomentObject = !0),
6787      (i._useUTC = i._isUTC = h),
6788      (i._l = f),
6789      (i._i = a),
6790      (i._f = b),
6791      (i._strict = g),
6792      ob(i)
6793    );
6794  }
6795  function sb(a, b, c, d) {
6796    return rb(a, b, c, d, !1);
6797  }
6798  // Pick a moment m from moments so that m[fn](other) is true for all
6799  // other. This relies on the function fn to be transitive.
6800  //
6801  // moments should either be an array of moment objects or an array, whose
6802  // first element is an array of moment objects.
6803  function tb(a, b) {
6804    var d, e;
6805    if ((1 === b.length && c(b[0]) && (b = b[0]), !b.length)) return sb();
6806    for (d = b[0], e = 1; e < b.length; ++e)
6807      (b[e].isValid() && !b[e][a](d)) || (d = b[e]);
6808    return d;
6809  }
6810  // TODO: Use [].sort instead?
6811  function ub() {
6812    var a = [].slice.call(arguments, 0);
6813    return tb("isBefore", a);
6814  }
6815  function vb() {
6816    var a = [].slice.call(arguments, 0);
6817    return tb("isAfter", a);
6818  }
6819  function wb(a) {
6820    var b = L(a),
6821      c = b.year || 0,
6822      d = b.quarter || 0,
6823      e = b.month || 0,
6824      f = b.week || 0,
6825      g = b.day || 0,
6826      h = b.hour || 0,
6827      i = b.minute || 0,
6828      j = b.second || 0,
6829      k = b.millisecond || 0;
6830    // representation for dateAddRemove
6831    (this._milliseconds =
6832      +k +
6833      1e3 * j + // 1000
6834      6e4 * i + // 1000 * 60
6835      1e3 * h * 60 * 60), //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
6836      // Because of dateAddRemove treats 24 hours as different from a
6837      // day when working around DST, we need to store them separately
6838      (this._days = +g + 7 * f),
6839      // It is impossible translate months into days without knowing
6840      // which months you are are talking about, so we have to store
6841      // it separately.
6842      (this._months = +e + 3 * d + 12 * c),
6843      (this._data = {}),
6844      (this._locale = bb()),
6845      this._bubble();
6846  }
6847  function xb(a) {
6848    return a instanceof wb;
6849  }
6850  function yb(a) {
6851    return a < 0 ? Math.round(-1 * a) * -1 : Math.round(a);
6852  }
6853  // FORMATTING
6854  function zb(a, b) {
6855    U(a, 0, 0, function () {
6856      var a = this.utcOffset(),
6857        c = "+";
6858      return (
6859        a < 0 && ((a = -a), (c = "-")),
6860        c + T(~~(a / 60), 2) + b + T(~~a % 60, 2)
6861      );
6862    });
6863  }
6864  function Ab(a, b) {
6865    var c = (b || "").match(a);
6866    if (null === c) return null;
6867    var d = c[c.length - 1] || [],
6868      e = (d + "").match(Me) || ["-", 0, 0],
6869      f = +(60 * e[1]) + u(e[2]);
6870    return 0 === f ? 0 : "+" === e[0] ? f : -f;
6871  }
6872  // Return a moment from input, that is local/utc/zone equivalent to model.
6873  function Bb(b, c) {
6874    var d, e;
6875    // Use low-level api, because this fn is low-level api.
6876    return c._isUTC
6877      ? ((d = c.clone()),
6878        (e = (s(b) || g(b) ? b.valueOf() : sb(b).valueOf()) - d.valueOf()),
6879        d._d.setTime(d._d.valueOf() + e),
6880        a.updateOffset(d, !1),
6881        d)
6882      : sb(b).local();
6883  }
6884  function Cb(a) {
6885    // On Firefox.24 Date#getTimezoneOffset returns a floating point.
6886    // https://github.com/moment/moment/pull/1871
6887    return 15 * -Math.round(a._d.getTimezoneOffset() / 15);
6888  }
6889  // MOMENTS
6890  // keepLocalTime = true means only change the timezone, without
6891  // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
6892  // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
6893  // +0200, so we adjust the time as needed, to be valid.
6894  //
6895  // Keeping the time actually adds/subtracts (one hour)
6896  // from the actual represented time. That is why we call updateOffset
6897  // a second time. In case it wants us to change the offset again
6898  // _changeInProgress == true case, then we have to adjust, because
6899  // there is no such time in the given timezone.
6900  function Db(b, c) {
6901    var d,
6902      e = this._offset || 0;
6903    if (!this.isValid()) return null != b ? this : NaN;
6904    if (null != b) {
6905      if ("string" == typeof b) {
6906        if (((b = Ab(Xd, b)), null === b)) return this;
6907      } else Math.abs(b) < 16 && (b = 60 * b);
6908      return (
6909        !this._isUTC && c && (d = Cb(this)),
6910        (this._offset = b),
6911        (this._isUTC = !0),
6912        null != d && this.add(d, "m"),
6913        e !== b &&
6914          (!c || this._changeInProgress
6915            ? Tb(this, Ob(b - e, "m"), 1, !1)
6916            : this._changeInProgress ||
6917              ((this._changeInProgress = !0),
6918              a.updateOffset(this, !0),
6919              (this._changeInProgress = null))),
6920        this
6921      );
6922    }
6923    return this._isUTC ? e : Cb(this);
6924  }
6925  function Eb(a, b) {
6926    return null != a
6927      ? ("string" != typeof a && (a = -a), this.utcOffset(a, b), this)
6928      : -this.utcOffset();
6929  }
6930  function Fb(a) {
6931    return this.utcOffset(0, a);
6932  }
6933  function Gb(a) {
6934    return (
6935      this._isUTC &&
6936        (this.utcOffset(0, a),
6937        (this._isUTC = !1),
6938        a && this.subtract(Cb(this), "m")),
6939      this
6940    );
6941  }
6942  function Hb() {
6943    if (null != this._tzm) this.utcOffset(this._tzm);
6944    else if ("string" == typeof this._i) {
6945      var a = Ab(Wd, this._i);
6946      null != a ? this.utcOffset(a) : this.utcOffset(0, !0);
6947    }
6948    return this;
6949  }
6950  function Ib(a) {
6951    return (
6952      !!this.isValid() &&
6953      ((a = a ? sb(a).utcOffset() : 0), (this.utcOffset() - a) % 60 === 0)
6954    );
6955  }
6956  function Jb() {
6957    return (
6958      this.utcOffset() > this.clone().month(0).utcOffset() ||
6959      this.utcOffset() > this.clone().month(5).utcOffset()
6960    );
6961  }
6962  function Kb() {
6963    if (!p(this._isDSTShifted)) return this._isDSTShifted;
6964    var a = {};
6965    if ((q(a, this), (a = pb(a)), a._a)) {
6966      var b = a._isUTC ? k(a._a) : sb(a._a);
6967      this._isDSTShifted = this.isValid() && v(a._a, b.toArray()) > 0;
6968    } else this._isDSTShifted = !1;
6969    return this._isDSTShifted;
6970  }
6971  function Lb() {
6972    return !!this.isValid() && !this._isUTC;
6973  }
6974  function Mb() {
6975    return !!this.isValid() && this._isUTC;
6976  }
6977  function Nb() {
6978    return !!this.isValid() && this._isUTC && 0 === this._offset;
6979  }
6980  function Ob(a, b) {
6981    var c,
6982      d,
6983      e,
6984      g = a,
6985      // matching against regexp is expensive, do it on demand
6986      h = null; // checks for null or undefined
6987    return (
6988      xb(a)
6989        ? (g = { ms: a._milliseconds, d: a._days, M: a._months })
6990        : f(a)
6991        ? ((g = {}), b ? (g[b] = a) : (g.milliseconds = a))
6992        : (h = Ne.exec(a))
6993        ? ((c = "-" === h[1] ? -1 : 1),
6994          (g = {
6995            y: 0,
6996            d: u(h[ce]) * c,
6997            h: u(h[de]) * c,
6998            m: u(h[ee]) * c,
6999            s: u(h[fe]) * c,
7000            ms: u(yb(1e3 * h[ge])) * c,
7001          }))
7002        : (h = Oe.exec(a))
7003        ? ((c = "-" === h[1] ? -1 : 1),
7004          (g = {
7005            y: Pb(h[2], c),
7006            M: Pb(h[3], c),
7007            w: Pb(h[4], c),
7008            d: Pb(h[5], c),
7009            h: Pb(h[6], c),
7010            m: Pb(h[7], c),
7011            s: Pb(h[8], c),
7012          }))
7013        : null == g
7014        ? (g = {})
7015        : "object" == typeof g &&
7016          ("from" in g || "to" in g) &&
7017          ((e = Rb(sb(g.from), sb(g.to))),
7018          (g = {}),
7019          (g.ms = e.milliseconds),
7020          (g.M = e.months)),
7021      (d = new wb(g)),
7022      xb(a) && i(a, "_locale") && (d._locale = a._locale),
7023      d
7024    );
7025  }
7026  function Pb(a, b) {
7027    // We'd normally use ~~inp for this, but unfortunately it also
7028    // converts floats to ints.
7029    // inp may be undefined, so careful calling replace on it.
7030    var c = a && parseFloat(a.replace(",", "."));
7031    // apply sign while we're at it
7032    return (isNaN(c) ? 0 : c) * b;
7033  }
7034  function Qb(a, b) {
7035    var c = { milliseconds: 0, months: 0 };
7036    return (
7037      (c.months = b.month() - a.month() + 12 * (b.year() - a.year())),
7038      a.clone().add(c.months, "M").isAfter(b) && --c.months,
7039      (c.milliseconds = +b - +a.clone().add(c.months, "M")),
7040      c
7041    );
7042  }
7043  function Rb(a, b) {
7044    var c;
7045    return a.isValid() && b.isValid()
7046      ? ((b = Bb(b, a)),
7047        a.isBefore(b)
7048          ? (c = Qb(a, b))
7049          : ((c = Qb(b, a)),
7050            (c.milliseconds = -c.milliseconds),
7051            (c.months = -c.months)),
7052        c)
7053      : { milliseconds: 0, months: 0 };
7054  }
7055  // TODO: remove 'name' arg after deprecation is removed
7056  function Sb(a, b) {
7057    return function (c, d) {
7058      var e, f;
7059      //invert the arguments, but complain about it
7060      return (
7061        null === d ||
7062          isNaN(+d) ||
7063          (y(
7064            b,
7065            "moment()." +
7066              b +
7067              "(period, number) is deprecated. Please use moment()." +
7068              b +
7069              "(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."
7070          ),
7071          (f = c),
7072          (c = d),
7073          (d = f)),
7074        (c = "string" == typeof c ? +c : c),
7075        (e = Ob(c, d)),
7076        Tb(this, e, a),
7077        this
7078      );
7079    };
7080  }
7081  function Tb(b, c, d, e) {
7082    var f = c._milliseconds,
7083      g = yb(c._days),
7084      h = yb(c._months);
7085    b.isValid() &&
7086      ((e = null == e || e),
7087      f && b._d.setTime(b._d.valueOf() + f * d),
7088      g && Q(b, "Date", P(b, "Date") + g * d),
7089      h && ja(b, P(b, "Month") + h * d),
7090      e && a.updateOffset(b, g || h));
7091  }
7092  function Ub(a, b) {
7093    var c = a.diff(b, "days", !0);
7094    return c < -6
7095      ? "sameElse"
7096      : c < -1
7097      ? "lastWeek"
7098      : c < 0
7099      ? "lastDay"
7100      : c < 1
7101      ? "sameDay"
7102      : c < 2
7103      ? "nextDay"
7104      : c < 7
7105      ? "nextWeek"
7106      : "sameElse";
7107  }
7108  function Vb(b, c) {
7109    // We want to compare the start of today, vs this.
7110    // Getting start-of-today depends on whether we're local/utc/offset or not.
7111    var d = b || sb(),
7112      e = Bb(d, this).startOf("day"),
7113      f = a.calendarFormat(this, e) || "sameElse",
7114      g = c && (z(c[f]) ? c[f].call(this, d) : c[f]);
7115    return this.format(g || this.localeData().calendar(f, this, sb(d)));
7116  }
7117  function Wb() {
7118    return new r(this);
7119  }
7120  function Xb(a, b) {
7121    var c = s(a) ? a : sb(a);
7122    return (
7123      !(!this.isValid() || !c.isValid()) &&
7124      ((b = K(p(b) ? "millisecond" : b)),
7125      "millisecond" === b
7126        ? this.valueOf() > c.valueOf()
7127        : c.valueOf() < this.clone().startOf(b).valueOf())
7128    );
7129  }
7130  function Yb(a, b) {
7131    var c = s(a) ? a : sb(a);
7132    return (
7133      !(!this.isValid() || !c.isValid()) &&
7134      ((b = K(p(b) ? "millisecond" : b)),
7135      "millisecond" === b
7136        ? this.valueOf() < c.valueOf()
7137        : this.clone().endOf(b).valueOf() < c.valueOf())
7138    );
7139  }
7140  function Zb(a, b, c, d) {
7141    return (
7142      (d = d || "()"),
7143      ("(" === d[0] ? this.isAfter(a, c) : !this.isBefore(a, c)) &&
7144        (")" === d[1] ? this.isBefore(b, c) : !this.isAfter(b, c))
7145    );
7146  }
7147  function $b(a, b) {
7148    var c,
7149      d = s(a) ? a : sb(a);
7150    return (
7151      !(!this.isValid() || !d.isValid()) &&
7152      ((b = K(b || "millisecond")),
7153      "millisecond" === b
7154        ? this.valueOf() === d.valueOf()
7155        : ((c = d.valueOf()),
7156          this.clone().startOf(b).valueOf() <= c &&
7157            c <= this.clone().endOf(b).valueOf()))
7158    );
7159  }
7160  function _b(a, b) {
7161    return this.isSame(a, b) || this.isAfter(a, b);
7162  }
7163  function ac(a, b) {
7164    return this.isSame(a, b) || this.isBefore(a, b);
7165  }
7166  function bc(a, b, c) {
7167    var d, e, f, g; // 1000
7168    // 1000 * 60
7169    // 1000 * 60 * 60
7170    // 1000 * 60 * 60 * 24, negate dst
7171    // 1000 * 60 * 60 * 24 * 7, negate dst
7172    return this.isValid()
7173      ? ((d = Bb(a, this)),
7174        d.isValid()
7175          ? ((e = 6e4 * (d.utcOffset() - this.utcOffset())),
7176            (b = K(b)),
7177            "year" === b || "month" === b || "quarter" === b
7178              ? ((g = cc(this, d)),
7179                "quarter" === b ? (g /= 3) : "year" === b && (g /= 12))
7180              : ((f = this - d),
7181                (g =
7182                  "second" === b
7183                    ? f / 1e3
7184                    : "minute" === b
7185                    ? f / 6e4
7186                    : "hour" === b
7187                    ? f / 36e5
7188                    : "day" === b
7189                    ? (f - e) / 864e5
7190                    : "week" === b
7191                    ? (f - e) / 6048e5
7192                    : f)),
7193            c ? g : t(g))
7194          : NaN)
7195      : NaN;
7196  }
7197  function cc(a, b) {
7198    // difference in months
7199    var c,
7200      d,
7201      e = 12 * (b.year() - a.year()) + (b.month() - a.month()),
7202      // b is in (anchor - 1 month, anchor + 1 month)
7203      f = a.clone().add(e, "months");
7204    //check for negative zero, return zero if negative zero
7205    // linear across the month
7206    // linear across the month
7207    return (
7208      b - f < 0
7209        ? ((c = a.clone().add(e - 1, "months")), (d = (b - f) / (f - c)))
7210        : ((c = a.clone().add(e + 1, "months")), (d = (b - f) / (c - f))),
7211      -(e + d) || 0
7212    );
7213  }
7214  function dc() {
7215    return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
7216  }
7217  function ec() {
7218    var a = this.clone().utc();
7219    return 0 < a.year() && a.year() <= 9999
7220      ? z(Date.prototype.toISOString)
7221        ? this.toDate().toISOString()
7222        : X(a, "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")
7223      : X(a, "YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]");
7224  }
7225  /**
7226   * Return a human readable representation of a moment that can
7227   * also be evaluated to get a new moment which is the same
7228   *
7229   * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
7230   */
7231  function fc() {
7232    if (!this.isValid()) return "moment.invalid(/* " + this._i + " */)";
7233    var a = "moment",
7234      b = "";
7235    this.isLocal() ||
7236      ((a = 0 === this.utcOffset() ? "moment.utc" : "moment.parseZone"),
7237      (b = "Z"));
7238    var c = "[" + a + '("]',
7239      d = 0 < this.year() && this.year() <= 9999 ? "YYYY" : "YYYYYY",
7240      e = "-MM-DD[T]HH:mm:ss.SSS",
7241      f = b + '[")]';
7242    return this.format(c + d + e + f);
7243  }
7244  function gc(b) {
7245    b || (b = this.isUtc() ? a.defaultFormatUtc : a.defaultFormat);
7246    var c = X(this, b);
7247    return this.localeData().postformat(c);
7248  }
7249  function hc(a, b) {
7250    return this.isValid() && ((s(a) && a.isValid()) || sb(a).isValid())
7251      ? Ob({ to: this, from: a }).locale(this.locale()).humanize(!b)
7252      : this.localeData().invalidDate();
7253  }
7254  function ic(a) {
7255    return this.from(sb(), a);
7256  }
7257  function jc(a, b) {
7258    return this.isValid() && ((s(a) && a.isValid()) || sb(a).isValid())
7259      ? Ob({ from: this, to: a }).locale(this.locale()).humanize(!b)
7260      : this.localeData().invalidDate();
7261  }
7262  function kc(a) {
7263    return this.to(sb(), a);
7264  }
7265  // If passed a locale key, it will set the locale for this
7266  // instance.  Otherwise, it will return the locale configuration
7267  // variables for this instance.
7268  function lc(a) {
7269    var b;
7270    return void 0 === a
7271      ? this._locale._abbr
7272      : ((b = bb(a)), null != b && (this._locale = b), this);
7273  }
7274  function mc() {
7275    return this._locale;
7276  }
7277  function nc(a) {
7278    // the following switch intentionally omits break keywords
7279    // to utilize falling through the cases.
7280    switch ((a = K(a))) {
7281      case "year":
7282        this.month(0); /* falls through */
7283      case "quarter":
7284      case "month":
7285        this.date(1); /* falls through */
7286      case "week":
7287      case "isoWeek":
7288      case "day":
7289      case "date":
7290        this.hours(0); /* falls through */
7291      case "hour":
7292        this.minutes(0); /* falls through */
7293      case "minute":
7294        this.seconds(0); /* falls through */
7295      case "second":
7296        this.milliseconds(0);
7297    }
7298    // weeks are a special case
7299    // quarters are also special
7300    return (
7301      "week" === a && this.weekday(0),
7302      "isoWeek" === a && this.isoWeekday(1),
7303      "quarter" === a && this.month(3 * Math.floor(this.month() / 3)),
7304      this
7305    );
7306  }
7307  function oc(a) {
7308    // 'date' is an alias for 'day', so it should be considered as such.
7309    return (
7310      (a = K(a)),
7311      void 0 === a || "millisecond" === a
7312        ? this
7313        : ("date" === a && (a = "day"),
7314          this.startOf(a)
7315            .add(1, "isoWeek" === a ? "week" : a)
7316            .subtract(1, "ms"))
7317    );
7318  }
7319  function pc() {
7320    return this._d.valueOf() - 6e4 * (this._offset || 0);
7321  }
7322  function qc() {
7323    return Math.floor(this.valueOf() / 1e3);
7324  }
7325  function rc() {
7326    return new Date(this.valueOf());
7327  }
7328  function sc() {
7329    var a = this;
7330    return [
7331      a.year(),
7332      a.month(),
7333      a.date(),
7334      a.hour(),
7335      a.minute(),
7336      a.second(),
7337      a.millisecond(),
7338    ];
7339  }
7340  function tc() {
7341    var a = this;
7342    return {
7343      years: a.year(),
7344      months: a.month(),
7345      date: a.date(),
7346      hours: a.hours(),
7347      minutes: a.minutes(),
7348      seconds: a.seconds(),
7349      milliseconds: a.milliseconds(),
7350    };
7351  }
7352  function uc() {
7353    // new Date(NaN).toJSON() === null
7354    return this.isValid() ? this.toISOString() : null;
7355  }
7356  function vc() {
7357    return n(this);
7358  }
7359  function wc() {
7360    return j({}, m(this));
7361  }
7362  function xc() {
7363    return m(this).overflow;
7364  }
7365  function yc() {
7366    return {
7367      input: this._i,
7368      format: this._f,
7369      locale: this._locale,
7370      isUTC: this._isUTC,
7371      strict: this._strict,
7372    };
7373  }
7374  function zc(a, b) {
7375    U(0, [a, a.length], 0, b);
7376  }
7377  // MOMENTS
7378  function Ac(a) {
7379    return Ec.call(
7380      this,
7381      a,
7382      this.week(),
7383      this.weekday(),
7384      this.localeData()._week.dow,
7385      this.localeData()._week.doy
7386    );
7387  }
7388  function Bc(a) {
7389    return Ec.call(this, a, this.isoWeek(), this.isoWeekday(), 1, 4);
7390  }
7391  function Cc() {
7392    return xa(this.year(), 1, 4);
7393  }
7394  function Dc() {
7395    var a = this.localeData()._week;
7396    return xa(this.year(), a.dow, a.doy);
7397  }
7398  function Ec(a, b, c, d, e) {
7399    var f;
7400    return null == a
7401      ? wa(this, d, e).year
7402      : ((f = xa(a, d, e)), b > f && (b = f), Fc.call(this, a, b, c, d, e));
7403  }
7404  function Fc(a, b, c, d, e) {
7405    var f = va(a, b, c, d, e),
7406      g = ta(f.year, 0, f.dayOfYear);
7407    return (
7408      this.year(g.getUTCFullYear()),
7409      this.month(g.getUTCMonth()),
7410      this.date(g.getUTCDate()),
7411      this
7412    );
7413  }
7414  // MOMENTS
7415  function Gc(a) {
7416    return null == a
7417      ? Math.ceil((this.month() + 1) / 3)
7418      : this.month(3 * (a - 1) + (this.month() % 3));
7419  }
7420  // HELPERS
7421  // MOMENTS
7422  function Hc(a) {
7423    var b =
7424      Math.round(
7425        (this.clone().startOf("day") - this.clone().startOf("year")) / 864e5
7426      ) + 1;
7427    return null == a ? b : this.add(a - b, "d");
7428  }
7429  function Ic(a, b) {
7430    b[ge] = u(1e3 * ("0." + a));
7431  }
7432  // MOMENTS
7433  function Jc() {
7434    return this._isUTC ? "UTC" : "";
7435  }
7436  function Kc() {
7437    return this._isUTC ? "Coordinated Universal Time" : "";
7438  }
7439  function Lc(a) {
7440    return sb(1e3 * a);
7441  }
7442  function Mc() {
7443    return sb.apply(null, arguments).parseZone();
7444  }
7445  function Nc(a) {
7446    return a;
7447  }
7448  function Oc(a, b, c, d) {
7449    var e = bb(),
7450      f = k().set(d, b);
7451    return e[c](f, a);
7452  }
7453  function Pc(a, b, c) {
7454    if ((f(a) && ((b = a), (a = void 0)), (a = a || ""), null != b))
7455      return Oc(a, b, c, "month");
7456    var d,
7457      e = [];
7458    for (d = 0; d < 12; d++) e[d] = Oc(a, d, c, "month");
7459    return e;
7460  }
7461  // ()
7462  // (5)
7463  // (fmt, 5)
7464  // (fmt)
7465  // (true)
7466  // (true, 5)
7467  // (true, fmt, 5)
7468  // (true, fmt)
7469  function Qc(a, b, c, d) {
7470    "boolean" == typeof a
7471      ? (f(b) && ((c = b), (b = void 0)), (b = b || ""))
7472      : ((b = a),
7473        (c = b),
7474        (a = !1),
7475        f(b) && ((c = b), (b = void 0)),
7476        (b = b || ""));
7477    var e = bb(),
7478      g = a ? e._week.dow : 0;
7479    if (null != c) return Oc(b, (c + g) % 7, d, "day");
7480    var h,
7481      i = [];
7482    for (h = 0; h < 7; h++) i[h] = Oc(b, (h + g) % 7, d, "day");
7483    return i;
7484  }
7485  function Rc(a, b) {
7486    return Pc(a, b, "months");
7487  }
7488  function Sc(a, b) {
7489    return Pc(a, b, "monthsShort");
7490  }
7491  function Tc(a, b, c) {
7492    return Qc(a, b, c, "weekdays");
7493  }
7494  function Uc(a, b, c) {
7495    return Qc(a, b, c, "weekdaysShort");
7496  }
7497  function Vc(a, b, c) {
7498    return Qc(a, b, c, "weekdaysMin");
7499  }
7500  function Wc() {
7501    var a = this._data;
7502    return (
7503      (this._milliseconds = Ze(this._milliseconds)),
7504      (this._days = Ze(this._days)),
7505      (this._months = Ze(this._months)),
7506      (a.milliseconds = Ze(a.milliseconds)),
7507      (a.seconds = Ze(a.seconds)),
7508      (a.minutes = Ze(a.minutes)),
7509      (a.hours = Ze(a.hours)),
7510      (a.months = Ze(a.months)),
7511      (a.years = Ze(a.years)),
7512      this
7513    );
7514  }
7515  function Xc(a, b, c, d) {
7516    var e = Ob(b, c);
7517    return (
7518      (a._milliseconds += d * e._milliseconds),
7519      (a._days += d * e._days),
7520      (a._months += d * e._months),
7521      a._bubble()
7522    );
7523  }
7524  // supports only 2.0-style add(1, 's') or add(duration)
7525  function Yc(a, b) {
7526    return Xc(this, a, b, 1);
7527  }
7528  // supports only 2.0-style subtract(1, 's') or subtract(duration)
7529  function Zc(a, b) {
7530    return Xc(this, a, b, -1);
7531  }
7532  function $c(a) {
7533    return a < 0 ? Math.floor(a) : Math.ceil(a);
7534  }
7535  function _c() {
7536    var a,
7537      b,
7538      c,
7539      d,
7540      e,
7541      f = this._milliseconds,
7542      g = this._days,
7543      h = this._months,
7544      i = this._data;
7545    // if we have a mix of positive and negative values, bubble down first
7546    // check: https://github.com/moment/moment/issues/2166
7547    // The following code bubbles up values, see the tests for
7548    // examples of what that means.
7549    // convert days to months
7550    // 12 months -> 1 year
7551    return (
7552      (f >= 0 && g >= 0 && h >= 0) ||
7553        (f <= 0 && g <= 0 && h <= 0) ||
7554        ((f += 864e5 * $c(bd(h) + g)), (g = 0), (h = 0)),
7555      (i.milliseconds = f % 1e3),
7556      (a = t(f / 1e3)),
7557      (i.seconds = a % 60),
7558      (b = t(a / 60)),
7559      (i.minutes = b % 60),
7560      (c = t(b / 60)),
7561      (i.hours = c % 24),
7562      (g += t(c / 24)),
7563      (e = t(ad(g))),
7564      (h += e),
7565      (g -= $c(bd(e))),
7566      (d = t(h / 12)),
7567      (h %= 12),
7568      (i.days = g),
7569      (i.months = h),
7570      (i.years = d),
7571      this
7572    );
7573  }
7574  function ad(a) {
7575    // 400 years have 146097 days (taking into account leap year rules)
7576    // 400 years have 12 months === 4800
7577    return (4800 * a) / 146097;
7578  }
7579  function bd(a) {
7580    // the reverse of daysToMonths
7581    return (146097 * a) / 4800;
7582  }
7583  function cd(a) {
7584    var b,
7585      c,
7586      d = this._milliseconds;
7587    if (((a = K(a)), "month" === a || "year" === a))
7588      return (
7589        (b = this._days + d / 864e5),
7590        (c = this._months + ad(b)),
7591        "month" === a ? c : c / 12
7592      );
7593    switch (
7594      // handle milliseconds separately because of floating point math errors (issue #1867)
7595      ((b = this._days + Math.round(bd(this._months))), a)
7596    ) {
7597      case "week":
7598        return b / 7 + d / 6048e5;
7599      case "day":
7600        return b + d / 864e5;
7601      case "hour":
7602        return 24 * b + d / 36e5;
7603      case "minute":
7604        return 1440 * b + d / 6e4;
7605      case "second":
7606        return 86400 * b + d / 1e3;
7607      // Math.floor prevents floating point math errors here
7608      case "millisecond":
7609        return Math.floor(864e5 * b) + d;
7610      default:
7611        throw new Error("Unknown unit " + a);
7612    }
7613  }
7614  // TODO: Use this.as('ms')?
7615  function dd() {
7616    return (
7617      this._milliseconds +
7618      864e5 * this._days +
7619      (this._months % 12) * 2592e6 +
7620      31536e6 * u(this._months / 12)
7621    );
7622  }
7623  function ed(a) {
7624    return function () {
7625      return this.as(a);
7626    };
7627  }
7628  function fd(a) {
7629    return (a = K(a)), this[a + "s"]();
7630  }
7631  function gd(a) {
7632    return function () {
7633      return this._data[a];
7634    };
7635  }
7636  function hd() {
7637    return t(this.days() / 7);
7638  }
7639  // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
7640  function id(a, b, c, d, e) {
7641    return e.relativeTime(b || 1, !!c, a, d);
7642  }
7643  function jd(a, b, c) {
7644    var d = Ob(a).abs(),
7645      e = of(d.as("s")),
7646      f = of(d.as("m")),
7647      g = of(d.as("h")),
7648      h = of(d.as("d")),
7649      i = of(d.as("M")),
7650      j = of(d.as("y")),
7651      k = (e < pf.s && ["s", e]) ||
7652        (f <= 1 && ["m"]) ||
7653        (f < pf.m && ["mm", f]) ||
7654        (g <= 1 && ["h"]) ||
7655        (g < pf.h && ["hh", g]) ||
7656        (h <= 1 && ["d"]) ||
7657        (h < pf.d && ["dd", h]) ||
7658        (i <= 1 && ["M"]) ||
7659        (i < pf.M && ["MM", i]) ||
7660        (j <= 1 && ["y"]) || ["yy", j];
7661    return (k[2] = b), (k[3] = +a > 0), (k[4] = c), id.apply(null, k);
7662  }
7663  // This function allows you to set the rounding function for relative time strings
7664  function kd(a) {
7665    return void 0 === a ? of : "function" == typeof a && ((of = a), !0);
7666  }
7667  // This function allows you to set a threshold for relative time strings
7668  function ld(a, b) {
7669    return void 0 !== pf[a] && (void 0 === b ? pf[a] : ((pf[a] = b), !0));
7670  }
7671  function md(a) {
7672    var b = this.localeData(),
7673      c = jd(this, !a, b);
7674    return a && (c = b.pastFuture(+this, c)), b.postformat(c);
7675  }
7676  function nd() {
7677    // for ISO strings we do not use the normal bubbling rules:
7678    //  * milliseconds bubble up until they become hours
7679    //  * days do not bubble at all
7680    //  * months bubble up until they become years
7681    // This is because there is no context-free conversion between hours and days
7682    // (think of clock changes)
7683    // and also not between days and months (28-31 days per month)
7684    var a,
7685      b,
7686      c,
7687      d = qf(this._milliseconds) / 1e3,
7688      e = qf(this._days),
7689      f = qf(this._months);
7690    // 3600 seconds -> 60 minutes -> 1 hour
7691    (a = t(d / 60)),
7692      (b = t(a / 60)),
7693      (d %= 60),
7694      (a %= 60),
7695      // 12 months -> 1 year
7696      (c = t(f / 12)),
7697      (f %= 12);
7698    // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
7699    var g = c,
7700      h = f,
7701      i = e,
7702      j = b,
7703      k = a,
7704      l = d,
7705      m = this.asSeconds();
7706    return m
7707      ? (m < 0 ? "-" : "") +
7708          "P" +
7709          (g ? g + "Y" : "") +
7710          (h ? h + "M" : "") +
7711          (i ? i + "D" : "") +
7712          (j || k || l ? "T" : "") +
7713          (j ? j + "H" : "") +
7714          (k ? k + "M" : "") +
7715          (l ? l + "S" : "")
7716      : "P0D";
7717  }
7718  var od, pd;
7719  pd = Array.prototype.some
7720    ? Array.prototype.some
7721    : function (a) {
7722        for (var b = Object(this), c = b.length >>> 0, d = 0; d < c; d++)
7723          if (d in b && a.call(this, b[d], d, b)) return !0;
7724        return !1;
7725      };
7726  var qd = pd,
7727    rd = (a.momentProperties = []),
7728    sd = !1,
7729    td = {};
7730  (a.suppressDeprecationWarnings = !1), (a.deprecationHandler = null);
7731  var ud;
7732  ud = Object.keys
7733    ? Object.keys
7734    : function (a) {
7735        var b,
7736          c = [];
7737        for (b in a) i(a, b) && c.push(b);
7738        return c;
7739      };
7740  var vd,
7741    wd = ud,
7742    xd = {
7743      sameDay: "[Today at] LT",
7744      nextDay: "[Tomorrow at] LT",
7745      nextWeek: "dddd [at] LT",
7746      lastDay: "[Yesterday at] LT",
7747      lastWeek: "[Last] dddd [at] LT",
7748      sameElse: "L",
7749    },
7750    yd = {
7751      LTS: "h:mm:ss A",
7752      LT: "h:mm A",
7753      L: "MM/DD/YYYY",
7754      LL: "MMMM D, YYYY",
7755      LLL: "MMMM D, YYYY h:mm A",
7756      LLLL: "dddd, MMMM D, YYYY h:mm A",
7757    },
7758    zd = "Invalid date",
7759    Ad = "%d",
7760    Bd = /\d{1,2}/,
7761    Cd = {
7762      future: "in %s",
7763      past: "%s ago",
7764      s: "a few seconds",
7765      m: "a minute",
7766      mm: "%d minutes",
7767      h: "an hour",
7768      hh: "%d hours",
7769      d: "a day",
7770      dd: "%d days",
7771      M: "a month",
7772      MM: "%d months",
7773      y: "a year",
7774      yy: "%d years",
7775    },
7776    Dd = {},
7777    Ed = {},
7778    Fd =
7779      /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}
7779|x|X|zz?|ZZ?|.)/g,
7780    Gd = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,
7781    Hd = {},
7782    Id = {},
7783    Jd = /\d/,
7784    Kd = /\d\d/,
7785    Ld = /\d{3}/,
7786    Md = /\d{4}/,
7787    Nd = /[+-]?\d{6}/,
7788    Od = /\d\d?/,
7789    Pd = /\d\d\d\d?/,
7790    Qd = /\d\d\d\d\d\d?/,
7791    Rd = /\d{1,3}/,
7792    Sd = /\d{1,4}/,
7793    Td = /[+-]?\d{1,6}/,
7794    Ud = /\d+/,
7795    Vd = /[+-]?\d+/,
7796    Wd = /Z|[+-]\d\d:?\d\d/gi,
7797    Xd = /Z|[+-]\d\d(?::?\d\d)?/gi,
7798    Yd = /[+-]?\d+(\.\d{1,3})?/,
7799    Zd =
7800      /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,
7801    $d = {},
7802    _d = {},
7803    ae = 0,
7804    be = 1,
7805    ce = 2,
7806    de = 3,
7807    ee = 4,
7808    fe = 5,
7809    ge = 6,
7810    he = 7,
7811    ie = 8;
7812  vd = Array.prototype.indexOf
7813    ? Array.prototype.indexOf
7814    : function (a) {
7815        // I know
7816        var b;
7817        for (b = 0; b < this.length; ++b) if (this[b] === a) return b;
7818        return -1;
7819      };
7820  var je = vd;
7821  // FORMATTING
7822  U("M", ["MM", 2], "Mo", function () {
7823    return this.month() + 1;
7824  }),
7825    U("MMM", 0, 0, function (a) {
7826      return this.localeData().monthsShort(this, a);
7827    }),
7828    U("MMMM", 0, 0, function (a) {
7829      return this.localeData().months(this, a);
7830    }),
7831    // ALIASES
7832    J("month", "M"),
7833    // PRIORITY
7834    M("month", 8),
7835    // PARSING
7836    Z("M", Od),
7837    Z("MM", Od, Kd),
7838    Z("MMM", function (a, b) {
7839      return b.monthsShortRegex(a);
7840    }),
7841    Z("MMMM", function (a, b) {
7842      return b.monthsRegex(a);
7843    }),
7844    ba(["M", "MM"], function (a, b) {
7845      b[be] = u(a) - 1;
7846    }),
7847    ba(["MMM", "MMMM"], function (a, b, c, d) {
7848      var e = c._locale.monthsParse(a, d, c._strict);
7849      // if we didn't find a month name, mark the date as invalid.
7850      null != e ? (b[be] = e) : (m(c).invalidMonth = a);
7851    });
7852  // LOCALES
7853  var ke = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,
7854    le =
7855      "January_February_March_April_May_June_July_August_September_October_November_December".split(
7856        "_"
7857      ),
7858    me = "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
7859    ne = Zd,
7860    oe = Zd;
7861  // FORMATTING
7862  U("Y", 0, 0, function () {
7863    var a = this.year();
7864    return a <= 9999 ? "" + a : "+" + a;
7865  }),
7866    U(0, ["YY", 2], 0, function () {
7867      return this.year() % 100;
7868    }),
7869    U(0, ["YYYY", 4], 0, "year"),
7870    U(0, ["YYYYY", 5], 0, "year"),
7871    U(0, ["YYYYYY", 6, !0], 0, "year"),
7872    // ALIASES
7873    J("year", "y"),
7874    // PRIORITIES
7875    M("year", 1),
7876    // PARSING
7877    Z("Y", Vd),
7878    Z("YY", Od, Kd),
7879    Z("YYYY", Sd, Md),
7880    Z("YYYYY", Td, Nd),
7881    Z("YYYYYY", Td, Nd),
7882    ba(["YYYYY", "YYYYYY"], ae),
7883    ba("YYYY", function (b, c) {
7884      c[ae] = 2 === b.length ? a.parseTwoDigitYear(b) : u(b);
7885    }),
7886    ba("YY", function (b, c) {
7887      c[ae] = a.parseTwoDigitYear(b);
7888    }),
7889    ba("Y", function (a, b) {
7890      b[ae] = parseInt(a, 10);
7891    }),
7892    // HOOKS
7893    (a.parseTwoDigitYear = function (a) {
7894      return u(a) + (u(a) > 68 ? 1900 : 2e3);
7895    });
7896  // MOMENTS
7897  var pe = O("FullYear", !0);
7898  // FORMATTING
7899  U("w", ["ww", 2], "wo", "week"),
7900    U("W", ["WW", 2], "Wo", "isoWeek"),
7901    // ALIASES
7902    J("week", "w"),
7903    J("isoWeek", "W"),
7904    // PRIORITIES
7905    M("week", 5),
7906    M("isoWeek", 5),
7907    // PARSING
7908    Z("w", Od),
7909    Z("ww", Od, Kd),
7910    Z("W", Od),
7911    Z("WW", Od, Kd),
7912    ca(["w", "ww", "W", "WW"], function (a, b, c, d) {
7913      b[d.substr(0, 1)] = u(a);
7914    });
7915  var qe = {
7916    dow: 0, // Sunday is the first day of the week.
7917    doy: 6,
7918  };
7919  // FORMATTING
7920  U("d", 0, "do", "day"),
7921    U("dd", 0, 0, function (a) {
7922      return this.localeData().weekdaysMin(this, a);
7923    }),
7924    U("ddd", 0, 0, function (a) {
7925      return this.localeData().weekdaysShort(this, a);
7926    }),
7927    U("dddd", 0, 0, function (a) {
7928      return this.localeData().weekdays(this, a);
7929    }),
7930    U("e", 0, 0, "weekday"),
7931    U("E", 0, 0, "isoWeekday"),
7932    // ALIASES
7933    J("day", "d"),
7934    J("weekday", "e"),
7935    J("isoWeekday", "E"),
7936    // PRIORITY
7937    M("day", 11),
7938    M("weekday", 11),
7939    M("isoWeekday", 11),
7940    // PARSING
7941    Z("d", Od),
7942    Z("e", Od),
7943    Z("E", Od),
7944    Z("dd", function (a, b) {
7945      return b.weekdaysMinRegex(a);
7946    }),
7947    Z("ddd", function (a, b) {
7948      return b.weekdaysShortRegex(a);
7949    }),
7950    Z("dddd", function (a, b) {
7951      return b.weekdaysRegex(a);
7952    }),
7953    ca(["dd", "ddd", "dddd"], function (a, b, c, d) {
7954      var e = c._locale.weekdaysParse(a, d, c._strict);
7955      // if we didn't get a weekday name, mark the date as invalid
7956      null != e ? (b.d = e) : (m(c).invalidWeekday = a);
7957    }),
7958    ca(["d", "e", "E"], function (a, b, c, d) {
7959      b[d] = u(a);
7960    });
7961  // LOCALES
7962  var re = "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split(
7963      "_"
7964    ),
7965    se = "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
7966    te = "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
7967    ue = Zd,
7968    ve = Zd,
7969    we = Zd;
7970  U("H", ["HH", 2], 0, "hour"),
7971    U("h", ["hh", 2], 0, Ra),
7972    U("k", ["kk", 2], 0, Sa),
7973    U("hmm", 0, 0, function () {
7974      return "" + Ra.apply(this) + T(this.minutes(), 2);
7975    }),
7976    U("hmmss", 0, 0, function () {
7977      return "" + Ra.apply(this) + T(this.minutes(), 2) + T(this.seconds(), 2);
7978    }),
7979    U("Hmm", 0, 0, function () {
7980      return "" + this.hours() + T(this.minutes(), 2);
7981    }),
7982    U("Hmmss", 0, 0, function () {
7983      return "" + this.hours() + T(this.minutes(), 2) + T(this.seconds(), 2);
7984    }),
7985    Ta("a", !0),
7986    Ta("A", !1),
7987    // ALIASES
7988    J("hour", "h"),
7989    // PRIORITY
7990    M("hour", 13),
7991    Z("a", Ua),
7992    Z("A", Ua),
7993    Z("H", Od),
7994    Z("h", Od),
7995    Z("HH", Od, Kd),
7996    Z("hh", Od, Kd),
7997    Z("hmm", Pd),
7998    Z("hmmss", Qd),
7999    Z("Hmm", Pd),
8000    Z("Hmmss", Qd),
8001    ba(["H", "HH"], de),
8002    ba(["a", "A"], function (a, b, c) {
8003      (c._isPm = c._locale.isPM(a)), (c._meridiem = a);
8004    }),
8005    ba(["h", "hh"], function (a, b, c) {
8006      (b[de] = u(a)), (m(c).bigHour = !0);
8007    }),
8008    ba("hmm", function (a, b, c) {
8009      var d = a.length - 2;
8010      (b[de] = u(a.substr(0, d))),
8011        (b[ee] = u(a.substr(d))),
8012        (m(c).bigHour = !0);
8013    }),
8014    ba("hmmss", function (a, b, c) {
8015      var d = a.length - 4,
8016        e = a.length - 2;
8017      (b[de] = u(a.substr(0, d))),
8018        (b[ee] = u(a.substr(d, 2))),
8019        (b[fe] = u(a.substr(e))),
8020        (m(c).bigHour = !0);
8021    }),
8022    ba("Hmm", function (a, b, c) {
8023      var d = a.length - 2;
8024      (b[de] = u(a.substr(0, d))), (b[ee] = u(a.substr(d)));
8025    }),
8026    ba("Hmmss", function (a, b, c) {
8027      var d = a.length - 4,
8028        e = a.length - 2;
8029      (b[de] = u(a.substr(0, d))),
8030        (b[ee] = u(a.substr(d, 2))),
8031        (b[fe] = u(a.substr(e)));
8032    });
8033  var xe,
8034    ye = /[ap]\.?m?\.?/i,
8035    ze = O("Hours", !0),
8036    Ae = {
8037      calendar: xd,
8038      longDateFormat: yd,
8039      invalidDate: zd,
8040      ordinal: Ad,
8041      ordinalParse: Bd,
8042      relativeTime: Cd,
8043      months: le,
8044      monthsShort: me,
8045      week: qe,
8046      weekdays: re,
8047      weekdaysMin: te,
8048      weekdaysShort: se,
8049      meridiemParse: ye,
8050    },
8051    Be = {},
8052    Ce = {},
8053    De =
8054      /^\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)?)?$/,
8055    Ee =
8056      /^\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)?)?$/,
8057    Fe = /Z|[+-]\d\d(?::?\d\d)?/,
8058    Ge = [
8059      ["YYYYYY-MM-DD", /[+-]\d{6}-\d\d-\d\d/],
8060      ["YYYY-MM-DD", /\d{4}-\d\d-\d\d/],
8061      ["GGGG-[W]WW-E", /\d{4}-W\d\d-\d/],
8062      ["GGGG-[W]WW", /\d{4}-W\d\d/, !1],
8063      ["YYYY-DDD", /\d{4}-\d{3}/],
8064      ["YYYY-MM", /\d{4}-\d\d/, !1],
8065      ["YYYYYYMMDD", /[+-]\d{10}/],
8066      ["YYYYMMDD", /\d{8}/],
8067      // YYYYMM is NOT allowed by the standard
8068      ["GGGG[W]WWE", /\d{4}W\d{3}/],
8069      ["GGGG[W]WW", /\d{4}W\d{2}/, !1],
8070      ["YYYYDDD", /\d{7}/],
8071    ],
8072    He = [
8073      ["HH:mm:ss.SSSS", /\d\d:\d\d:\d\d\.\d+/],
8074      ["HH:mm:ss,SSSS", /\d\d:\d\d:\d\d,\d+/],
8075      ["HH:mm:ss", /\d\d:\d\d:\d\d/],
8076      ["HH:mm", /\d\d:\d\d/],
8077      ["HHmmss.SSSS", /\d\d\d\d\d\d\.\d+/],
8078      ["HHmmss,SSSS", /\d\d\d\d\d\d,\d+/],
8079      ["HHmmss", /\d\d\d\d\d\d/],
8080      ["HHmm", /\d\d\d\d/],
8081      ["HH", /\d\d/],
8082    ],
8083    Ie = /^\/?Date\((\-?\d+)/i;
8084  (a.createFromInputFallback = x(
8085    "value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non 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.",
8086    function (a) {
8087      a._d = new Date(a._i + (a._useUTC ? " UTC" : ""));
8088    }
8089  )),
8090    // constant that refers to the ISO standard
8091    (a.ISO_8601 = function () {});
8092  var Je = x(
8093      "moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",
8094      function () {
8095        var a = sb.apply(null, arguments);
8096        return this.isValid() && a.isValid() ? (a < this ? this 
8096: a) : o();
8097      }
8098    ),
8099    Ke = x(
8100      "moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",
8101      function () {
8102        var a = sb.apply(null, arguments);
8103        return this.isValid() && a.isValid() ? (a > this ? this : a) : o();
8104      }
8105    ),
8106    Le = function () {
8107      return Date.now ? Date.now() : +new Date();
8108    };
8109  zb("Z", ":"),
8110    zb("ZZ", ""),
8111    // PARSING
8112    Z("Z", Xd),
8113    Z("ZZ", Xd),
8114    ba(["Z", "ZZ"], function (a, b, c) {
8115      (c._useUTC = !0), (c._tzm = Ab(Xd, a));
8116    });
8117  // HELPERS
8118  // timezone chunker
8119  // '+10:00' > ['10',  '00']
8120  // '-1530'  > ['-15', '30']
8121  var Me = /([\+\-]|\d\d)/gi;
8122  // HOOKS
8123  // This function will be called whenever a moment is mutated.
8124  // It is intended to keep the offset in sync with the timezone.
8125  a.updateOffset = function () {};
8126  // ASP.NET json date format regex
8127  var Ne = /^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,
8128    Oe =
8129      /^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;
8130  Ob.fn = wb.prototype;
8131  var Pe = Sb(1, "add"),
8132    Qe = Sb(-1, "subtract");
8133  (a.defaultFormat = "YYYY-MM-DDTHH:mm:ssZ"),
8134    (a.defaultFormatUtc = "YYYY-MM-DDTHH:mm:ss[Z]");
8135  var Re = x(
8136    "moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",
8137    function (a) {
8138      return void 0 === a ? this.localeData() : this.locale(a);
8139    }
8140  );
8141  // FORMATTING
8142  U(0, ["gg", 2], 0, function () {
8143    return this.weekYear() % 100;
8144  }),
8145    U(0, ["GG", 2], 0, function () {
8146      return this.isoWeekYear() % 100;
8147    }),
8148    zc("gggg", "weekYear"),
8149    zc("ggggg", "weekYear"),
8150    zc("GGGG", "isoWeekYear"),
8151    zc("GGGGG", "isoWeekYear"),
8152    // ALIASES
8153    J("weekYear", "gg"),
8154    J("isoWeekYear", "GG"),
8155    // PRIORITY
8156    M("weekYear", 1),
8157    M("isoWeekYear", 1),
8158    // PARSING
8159    Z("G", Vd),
8160    Z("g", Vd),
8161    Z("GG", Od, Kd),
8162    Z("gg", Od, Kd),
8163    Z("GGGG", Sd, Md),
8164    Z("gggg", Sd, Md),
8165    Z("GGGGG", Td, Nd),
8166    Z("ggggg", Td, Nd),
8167    ca(["gggg", "ggggg", "GGGG", "GGGGG"], function (a, b, c, d) {
8168      b[d.substr(0, 2)] = u(a);
8169    }),
8170    ca(["gg", "GG"], function (b, c, d, e) {
8171      c[e] = a.parseTwoDigitYear(b);
8172    }),
8173    // FORMATTING
8174    U("Q", 0, "Qo", "quarter"),
8175    // ALIASES
8176    J("quarter", "Q"),
8177    // PRIORITY
8178    M("quarter", 7),
8179    // PARSING
8180    Z("Q", Jd),
8181    ba("Q", function (a, b) {
8182      b[be] = 3 * (u(a) - 1);
8183    }),
8184    // FORMATTING
8185    U("D", ["DD", 2], "Do", "date"),
8186    // ALIASES
8187    J("date", "D"),
8188    // PRIOROITY
8189    M("date", 9),
8190    // PARSING
8191    Z("D", Od),
8192    Z("DD", Od, Kd),
8193    Z("Do", function (a, b) {
8194      return a ? b._ordinalParse : b._ordinalParseLenient;
8195    }),
8196    ba(["D", "DD"], ce),
8197    ba("Do", function (a, b) {
8198      b[ce] = u(a.match(Od)[0], 10);
8199    });
8200  // MOMENTS
8201  var Se = O("Date", !0);
8202  // FORMATTING
8203  U("DDD", ["DDDD", 3], "DDDo", "dayOfYear"),
8204    // ALIASES
8205    J("dayOfYear", "DDD"),
8206    // PRIORITY
8207    M("dayOfYear", 4),
8208    // PARSING
8209    Z("DDD", Rd),
8210    Z("DDDD", Ld),
8211    ba(["DDD", "DDDD"], function (a, b, c) {
8212      c._dayOfYear = u(a);
8213    }),
8214    // FORMATTING
8215    U("m", ["mm", 2], 0, "minute"),
8216    // ALIASES
8217    J("minute", "m"),
8218    // PRIORITY
8219    M("minute", 14),
8220    // PARSING
8221    Z("m", Od),
8222    Z("mm", Od, Kd),
8223    ba(["m", "mm"], ee);
8224  // MOMENTS
8225  var Te = O("Minutes", !1);
8226  // FORMATTING
8227  U("s", ["ss", 2], 0, "second"),
8228    // ALIASES
8229    J("second", "s"),
8230    // PRIORITY
8231    M("second", 15),
8232    // PARSING
8233    Z("s", Od),
8234    Z("ss", Od, Kd),
8235    ba(["s", "ss"], fe);
8236  // MOMENTS
8237  var Ue = O("Seconds", !1);
8238  // FORMATTING
8239  U("S", 0, 0, function () {
8240    return ~~(this.millisecond() / 100);
8241  }),
8242    U(0, ["SS", 2], 0, function () {
8243      return ~~(this.millisecond() / 10);
8244    }),
8245    U(0, ["SSS", 3], 0, "millisecond"),
8246    U(0, ["SSSS", 4], 0, function () {
8247      return 10 * this.millisecond();
8248    }),
8249    U(0, ["SSSSS", 5], 0, function () {
8250      return 100 * this.millisecond();
8251    }),
8252    U(0, ["SSSSSS", 6], 0, function () {
8253      return 1e3 * this.millisecond();
8254    }),
8255    U(0, ["SSSSSSS", 7], 0, function () {
8256      return 1e4 * this.millisecond();
8257    }),
8258    U(0, ["SSSSSSSS", 8], 0, function () {
8259      return 1e5 * this.millisecond();
8260    }),
8261    U(0, ["SSSSSSSSS", 9], 0, function () {
8262      return 1e6 * this.millisecond();
8263    }),
8264    // ALIASES
8265    J("millisecond", "ms"),
8266    // PRIORITY
8267    M("millisecond", 16),
8268    // PARSING
8269    Z("S", Rd, Jd),
8270    Z("SS", Rd, Kd),
8271    Z("SSS", Rd, Ld);
8272  var Ve;
8273  for (Ve = "SSSS"; Ve.length <= 9; Ve += "S") Z(Ve, Ud);
8274  for (Ve = "S"; Ve.length <= 9; Ve += "S") ba(Ve, Ic);
8275  // MOMENTS
8276  var We = O("Milliseconds", !1);
8277  // FORMATTING
8278  U("z", 0, 0, "zoneAbbr"), U("zz", 0, 0, "zoneName");
8279  var Xe = r.prototype;
8280  (Xe.add = Pe),
8281    (Xe.calendar = Vb),
8282    (Xe.clone = Wb),
8283    (Xe.diff = bc),
8284    (Xe.endOf = oc),
8285    (Xe.format = gc),
8286    (Xe.from = hc),
8287    (Xe.fromNow = ic),
8288    (Xe.to = jc),
8289    (Xe.toNow = kc),
8290    (Xe.get = R),
8291    (Xe.invalidAt = xc),
8292    (Xe.isAfter = Xb),
8293    (Xe.isBefore = Yb),
8294    (Xe.isBetween = Zb),
8295    (Xe.isSame = $b),
8296    (Xe.isSameOrAfter = _b),
8297    (Xe.isSameOrBefore = ac),
8298    (Xe.isValid = vc),
8299    (Xe.lang = Re),
8300    (Xe.locale = lc),
8301    (Xe.localeData = mc),
8302    (Xe.max = Ke),
8303    (Xe.min = Je),
8304    (Xe.parsingFlags = wc),
8305    (Xe.set = S),
8306    (Xe.startOf = nc),
8307    (Xe.subtract = Qe),
8308    (Xe.toArray = sc),
8309    (Xe.toObject = tc),
8310    (Xe.toDate = rc),
8311    (Xe.toISOString = ec),
8312    (Xe.inspect = fc),
8313    (Xe.toJSON = uc),
8314    (Xe.toString = dc),
8315    (Xe.unix = qc),
8316    (Xe.valueOf = pc),
8317    (Xe.creationData = yc),
8318    // Year
8319    (Xe.year = pe),
8320    (Xe.isLeapYear = ra),
8321    // Week Year
8322    (Xe.weekYear = Ac),
8323    (Xe.isoWeekYear = Bc),
8324    // Quarter
8325    (Xe.quarter = Xe.quarters = Gc),
8326    // Month
8327    (Xe.month = ka),
8328    (Xe.daysInMonth = la),
8329    // Week
8330    (Xe.week = Xe.weeks = Ba),
8331    (Xe.isoWeek = Xe.isoWeeks = Ca),
8332    (Xe.weeksInYear = Dc),
8333    (Xe.isoWeeksInYear = Cc),
8334    // Day
8335    (Xe.date = Se),
8336    (Xe.day = Xe.days = Ka),
8337    (Xe.weekday = La),
8338    (Xe.isoWeekday = Ma),
8339    (Xe.dayOfYear = Hc),
8340    // Hour
8341    (Xe.hour = Xe.hours = ze),
8342    // Minute
8343    (Xe.minute = Xe.minutes = Te),
8344    // Second
8345    (Xe.second = Xe.seconds = Ue),
8346    // Millisecond
8347    (Xe.millisecond = Xe.milliseconds = We),
8348    // Offset
8349    (Xe.utcOffset = Db),
8350    (Xe.utc = Fb),
8351    (Xe.local = Gb),
8352    (Xe.parseZone = Hb),
8353    (Xe.hasAlignedHourOffset = Ib),
8354    (Xe.isDST = Jb),
8355    (Xe.isLocal = Lb),
8356    (Xe.isUtcOffset = Mb),
8357    (Xe.isUtc = Nb),
8358    (Xe.isUTC = Nb),
8359    // Timezone
8360    (Xe.zoneAbbr = Jc),
8361    (Xe.zoneName = Kc),
8362    // Deprecations
8363    (Xe.dates = x("dates accessor is deprecated. Use date instead.", Se)),
8364    (Xe.months = x("months accessor is deprecated. Use month instead", ka)),
8365    (Xe.years = x("years accessor is deprecated. Use year instead", pe)),
8366    (Xe.zone = x(
8367      "moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",
8368      Eb
8369    )),
8370    (Xe.isDSTShifted = x(
8371      "isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",
8372      Kb
8373    ));
8374  var Ye = C.prototype;
8375  (Ye.calendar = D),
8376    (Ye.longDateFormat = E),
8377    (Ye.invalidDate = F),
8378    (Ye.ordinal = G),
8379    (Ye.preparse = Nc),
8380    (Ye.postformat = Nc),
8381    (Ye.relativeTime = H),
8382    (Ye.pastFuture = I),
8383    (Ye.set = A),
8384    // Month
8385    (Ye.months = fa),
8386    (Ye.monthsShort = ga),
8387    (Ye.monthsParse = ia),
8388    (Ye.monthsRegex = na),
8389    (Ye.monthsShortRegex = ma),
8390    // Week
8391    (Ye.week = ya),
8392    (Ye.firstDayOfYear = Aa),
8393    (Ye.firstDayOfWeek = za),
8394    // Day of Week
8395    (Ye.weekdays = Fa),
8396    (Ye.weekdaysMin = Ha),
8397    (Ye.weekdaysShort = Ga),
8398    (Ye.weekdaysParse = Ja),
8399    (Ye.weekdaysRegex = Na),
8400    (Ye.weekdaysShortRegex = Oa),
8401    (Ye.weekdaysMinRegex = Pa),
8402    // Hours
8403    (Ye.isPM = Va),
8404    (Ye.meridiem = Wa),
8405    $a("en", {
8406      ordinalParse: /\d{1,2}(th|st|nd|rd)/,
8407      ordinal: function (a) {
8408        var b = a % 10,
8409          c =
8410            1 === u((a % 100) / 10)
8411              ? "th"
8412              : 1 === b
8413              ? "st"
8414              : 2 === b
8415              ? "nd"
8416              : 3 === b
8417              ? "rd"
8418              : "th";
8419        return a + c;
8420      },
8421    }),
8422    // Side effect imports
8423    (a.lang = x("moment.lang is deprecated. Use moment.locale instead.", $a)),
8424    (a.langData = x(
8425      "moment.langData is deprecated. Use moment.localeData instead.",
8426      bb
8427    ));
8428  var Ze = Math.abs,
8429    $e = ed("ms"),
8430    _e = ed("s"),
8431    af = ed("m"),
8432    bf = ed("h"),
8433    cf = ed("d"),
8434    df = ed("w"),
8435    ef = ed("M"),
8436    ff = ed("y"),
8437    gf = gd("milliseconds"),
8438    hf = gd("seconds"),
8439    jf = gd("minutes"),
8440    kf = gd("hours"),
8441    lf = gd("days"),
8442    mf = gd("months"),
8443    nf = gd("years"),
8444    of = Math.round,
8445    pf = {
8446      s: 45, // seconds to minute
8447      m: 45, // minutes to hour
8448      h: 22, // hours to day
8449      d: 26, // days to month
8450      M: 11,
8451    },
8452    qf = Math.abs,
8453    rf = wb.prototype;
8454  // Deprecations
8455  // Side effect imports
8456  // FORMATTING
8457  // PARSING
8458  // Side effect imports
8459  return (
8460    (rf.abs = Wc),
8461    (rf.add = Yc),
8462    (rf.subtract = Zc),
8463    (rf.as = cd),
8464    (rf.asMilliseconds = $e),
8465    (rf.asSeconds = _e),
8466    (rf.asMinutes = af),
8467    (rf.asHours = bf),
8468    (rf.asDays = cf),
8469    (rf.asWeeks = df),
8470    (rf.asMonths = ef),
8471    (rf.asYears = ff),
8472    (rf.valueOf = dd),
8473    (rf._bubble = _c),
8474    (rf.get = fd),
8475    (rf.milliseconds = gf),
8476    (rf.seconds = hf),
8477    (rf.minutes = jf),
8478    (rf.hours = kf),
8479    (rf.days = lf),
8480    (rf.weeks = hd),
8481    (rf.months = mf),
8482    (rf.years = nf),
8483    (rf.humanize = md),
8484    (rf.toISOString = nd),
8485    (rf.toString = nd),
8486    (rf.toJSON = nd),
8487    (rf.locale = lc),
8488    (rf.localeData = mc),
8489    (rf.toIsoString = x(
8490      "toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",
8491      nd
8492    )),
8493    (rf.lang = Re),
8494    U("X", 0, 0, "unix"),
8495    U("x", 0, 0, "valueOf"),
8496    Z("x", Vd),
8497    Z("X", Yd),
8498    ba("X", function (a, b, c) {
8499      c._d = new Date(1e3 * parseFloat(a, 10));
8500    }),
8501    ba("x", function (a, b, c) {
8502      c._d = new Date(u(a));
8503    }),
8504    (a.version = "2.16.0"),
8505    b(sb),
8506    (a.fn = Xe),
8507    (a.min = ub),
8508    (a.max = vb),
8509    (a.now = Le),
8510    (a.utc = k),
8511    (a.unix = Lc),
8512    (a.months = Rc),
8513    (a.isDate = g),
8514    (a.locale = $a),
8515    (a.invalid = o),
8516    (a.duration = Ob),
8517    (a.isMoment = s),
8518    (a.weekdays = Tc),
8519    (a.parseZone = Mc),
8520    (a.localeData = bb),
8521    (a.isDuration = xb),
8522    (a.monthsShort = Sc),
8523    (a.weekdaysMin = Vc),
8524    (a.defineLocale = _a),
8525    (a.updateLocale = ab),
8526    (a.locales = cb),
8527    (a.weekdaysShort = Uc),
8528    (a.normalizeUnits = K),
8529    (a.relativeTimeRounding = kd),
8530    (a.relativeTimeThreshold = ld),
8531    (a.calendarFormat = Ub),
8532    (a.prototype = Xe),
8533    a
8534  );
8535});
8536// Ion.RangeSlider, 2.3.1, © Denis Ineshin, 2010 - 2019, IonDen.com, Build date: 2019-12-19 16:56:44
8537!(function (i) {
8538  ("undefined" != typeof jQuery && jQuery) ||
8539  "function" != typeof define ||
8540  !define.amd
8541    ? ("undefined" != typeof jQuery && jQuery) || "object" != typeof exports
8542      ? i(jQuery, document, window, navigator)
8543      : i(require("jquery"), document, window, navigator)
8544    : define(["jquery"], function (t) {
8545        return i(t, document, window, navigator);
8546      });
8547})(function (a, c, l, t, _) {
8548  "use strict";
8549  var i,
8550    s,
8551    o = 0,
8552    e =
8553      ((i = t.userAgent),
8554      (s = /msie\s\d+/i),
8555      0 < i.search(s) &&
8556        s.exec(i).toString().split(" ")[1] < 9 &&
8557        (a("html").addClass("lt-ie9"), !0));
8558  Function.prototype.bind ||
8559    (Function.prototype.bind = function (o) {
8560      var e = this,
8561        h = [].slice;
8562      if ("function" != typeof e) throw new TypeError();
8563      var r = h.call(arguments, 1),
8564        n = function () {
8565          if (this instanceof n) {
8566            var t = function () {};
8567            t.prototype = e.prototype;
8568            var i = new t(),
8569              s = e.apply(i, r.concat(h.call(arguments)));
8570            return Object(s) === s ? s : i;
8571          }
8572          return e.apply(o, r.concat(h.call(arguments)));
8573        };
8574      return n;
8575    }),
8576    Array.prototype.indexOf ||
8577      (Array.prototype.indexOf = function (t, i) {
8578        var s;
8579        if (null == this) throw new TypeError('"this" is null or not defined');
8580        var o = Object(this),
8581          e = o.length >>> 0;
8582        if (0 == e) return -1;
8583        var h = +i || 0;
8584        if ((Math.abs(h) === 1 / 0 && (h = 0), e <= h)) return -1;
8585        for (s = Math.max(0 <= h ? h : e - Math.abs(h), 0); s < e; ) {
8586          if (s in o && o[s] === t) return s;
8587          s++;
8588        }
8589        return -1;
8590      });
8591  function h(t, i, s) {
8592    (this.VERSION = "2.3.1"),
8593      (this.input = t),
8594      (this.plugin_count = s),
8595      (this.current_plugin = 0),
8596      (this.calc_count = 0),
8597      (this.update_tm = 0),
8598      (this.old_from = 0),
8599      (this.old_to = 0),
8600      (this.old_min_interval = null),
8601      (this.raf_id = null),
8602      (this.dragging = !1),
8603      (this.force_redraw = !1),
8604      (this.no_diapason = !1),
8605      (this.has_tab_index = !0),
8606      (this.is_key = !1),
8607      (this.is_update = !1),
8608      (this.is_start = !0),
8609      (this.is_finish = !1),
8610      (this.is_active = !1),
8611      (this.is_resize = !1),
8612      (this.is_click = !1),
8613      (i = i || {}),
8614      (this.$cache = {
8615        win: a(l),
8616        body: a(c.body),
8617        input: a(t),
8618        cont: null,
8619        rs: null,
8620        min: null,
8621        max: null,
8622        from: null,
8623        to: null,
8624        single: null,
8625        bar: null,
8626        line: null,
8627        s_single: null,
8628        s_from: null,
8629        s_to: null,
8630        shad_single: null,
8631        shad_from: null,
8632        shad_to: null,
8633        edge: null,
8634        grid: null,
8635        grid_labels: [],
8636      }),
8637      (this.coords = {
8638        x_gap: 0,
8639        x_pointer: 0,
8640        w_rs: 0,
8641        w_rs_old: 0,
8642        w_handle: 0,
8643        p_gap: 0,
8644        p_gap_left: 0,
8645        p_gap_right: 0,
8646        p_step: 0,
8647        p_pointer: 0,
8648        p_handle: 0,
8649        p_single_fake: 0,
8650        p_single_real: 0,
8651        p_from_fake: 0,
8652        p_from_real: 0,
8653        p_to_fake: 0,
8654        p_to_real: 0,
8655        p_bar_x: 0,
8656        p_bar_w: 0,
8657        grid_gap: 0,
8658        big_num: 0,
8659        big: [],
8660        big_w: [],
8661        big_p: [],
8662        big_x: [],
8663      }),
8664      (this.labels = {
8665        w_min: 0,
8666        w_max: 0,
8667        w_from: 0,
8668        w_to: 0,
8669        w_single: 0,
8670        p_min: 0,
8671        p_max: 0,
8672        p_from_fake: 0,
8673        p_from_left: 0,
8674        p_to_fake: 0,
8675        p_to_left: 0,
8676        p_single_fake: 0,
8677        p_single_left: 0,
8678      });
8679    var o,
8680      e,
8681      h,
8682      r = this.$cache.input,
8683      n = r.prop("value");
8684    for (h in ((o = {
8685      skin: "flat",
8686      type: "single",
8687      min: 10,
8688      max: 100,
8689      from: null,
8690      to: null,
8691      step: 1,
8692      min_interval: 0,
8693      max_interval: 0,
8694      drag_interval: !1,
8695      values: [],
8696      p_values: [],
8697      from_fixed: !1,
8698      from_min: null,
8699      from_max: null,
8700      from_shadow: !1,
8701      to_fixed: !1,
8702      to_min: null,
8703      to_max: null,
8704      to_shadow: !1,
8705      prettify_enabled: !0,
8706      prettify_separator: " ",
8707      prettify: null,
8708      force_edges: !1,
8709      keyboard: !0,
8710      grid: !1,
8711      grid_margin: !0,
8712      grid_num: 4,
8713      grid_snap: !1,
8714      hide_min_max: !1,
8715      hide_from_to: !1,
8716      prefix: "",
8717      postfix: "",
8718      max_postfix: "",
8719      decorate_both: !0,
8720      values_separator: " — ",
8721      input_values_separator: ";",
8722      disable: !1,
8723      block: !1,
8724      extra_classes: "",
8725      scope: null,
8726      onStart: null,
8727      onChange: null,
8728      onFinish: null,
8729      onUpdate: null,
8730    }),
8731    "INPUT" !== r[0].nodeName &&
8732      console &&
8733      console.warn &&
8734      console.warn("Base element should be <input>!", r[0]),
8735    ((e = {
8736      skin: r.data("skin"),
8737      type: r.data("type"),
8738      min: r.data("min"),
8739      max: r.data("max"),
8740      from: r.data("from"),
8741      to: r.data("to"),
8742      step: r.data("step"),
8743      min_interval: r.data("minInterval"),
8744      max_interval: r.data("maxInterval"),
8745      drag_interval: r.data("dragInterval"),
8746      values: r.data("values"),
8747      from_fixed: r.data("fromFixed"),
8748      from_min: r.data("fromMin"),
8749      from_max: r.data("fromMax"),
8750      from_shadow: r.data("fromShadow"),
8751      to_fixed: r.data("toFixed"),
8752      to_min: r.data("toMin"),
8753      to_max: r.data("toMax"),
8754      to_shadow: r.data("toShadow"),
8755      prettify_enabled: r.data("prettifyEnabled"),
8756      prettify_separator: r.data("prettifySeparator"),
8757      force_edges: r.data("forceEdges"),
8758      keyboard: r.data("keyboard"),
8759      grid: r.data("grid"),
8760      grid_margin: r.data("gridMargin"),
8761      grid_num: r.data("gridNum"),
8762      grid_snap: r.data("gridSnap"),
8763      hide_min_max: r.data("hideMinMax"),
8764      hide_from_to: r.data("hideFromTo"),
8765      prefix: r.data("prefix"),
8766      postfix: r.data("postfix"),
8767      max_postfix: r.data("maxPostfix"),
8768      decorate_both: r.data("decorateBoth"),
8769      values_separator: r.data("valuesSeparator"),
8770      input_values_separator: r.data("inputValuesSeparator"),
8771      disable: r.data("disable"),
8772      block: r.data("block"),
8773      extra_classes: r.data("extraClasses"),
8774    }).values = e.values && e.values.split(",")),
8775    e))
8776      e.hasOwnProperty(h) && ((e[h] !== _ && "" !== e[h]) || delete e[h]);
8777    n !== _ &&
8778      "" !== n &&
8779      ((n = n.split(
8780        e.input_values_separator || i.input_values_separator || ";"
8781      ))[0] &&
8782        n[0] == +n[0] &&
8783        (n[0] = +n[0]),
8784      n[1] && n[1] == +n[1] && (n[1] = +n[1]),
8785      i && i.values && i.values.length
8786        ? ((o.from = n[0] && i.values.indexOf(n[0])),
8787          (o.to = n[1] && i.values.indexOf(n[1])))
8788        : ((o.from = n[0] && +n[0]), (o.to = n[1] && +n[1]))),
8789      a.extend(o, i),
8790      a.extend(o, e),
8791      (this.options = o),
8792      (this.update_check = {}),
8793      this.validate(),
8794      (this.result = {
8795        input: this.$cache.input,
8796        slider: null,
8797        min: this.options.min,
8798        max: this.options.max,
8799        from: this.options.from,
8800        from_percent: 0,
8801        from_value: null,
8802        to: this.options.to,
8803        to_percent: 0,
8804        to_value: null,
8805      }),
8806      this.init();
8807  }
8808  (h.prototype = {
8809    init: function (t) {
8810      (this.no_diapason = !1),
8811        (this.coords.p_step = this.convertToPercent(this.options.step, !0)),
8812        (this.target = "base"),
8813        this.toggleInput(),
8814        this.append(),
8815        this.setMinMax(),
8816        t
8817          ? ((this.force_redraw = !0), this.calc(!0), this.callOnUpdate())
8818          : ((this.force_redraw = !0), this.calc(!0), this.callOnStart()),
8819        this.updateScene();
8820    },
8821    append: function () {
8822      var t =
8823        '<span class="irs irs--' +
8824        this.options.skin +
8825        " js-irs-" +
8826        this.plugin_count +
8827        " " +
8828        this.options.extra_classes +
8829        '"></span>';
8830      this.$cache.input.before(t),
8831        this.$cache.input.prop("readonly", !0),
8832        (this.$cache.cont = this.$cache.input.prev()),
8833        (this.result.slider = this.$cache.cont),
8834        this.$cache.cont.html(
8835          '<span class="irs"><span class="irs-line" tabindex="0"></span><span class="irs-min">0</span><span class="irs-max">1</span><span class="irs-from">0</span><span class="irs-to">0</span><span class="irs-single">0</span></span><span class="irs-grid"></span>'
8836        ),
8837        (this.$cache.rs = this.$cache.cont.find(".irs")),
8838        (this.$cache.min = this.$cache.cont.find(".irs-min")),
8839        (this.$cache.max = this.$cache.cont.find(".irs-max")),
8840        (this.$cache.from = this.$cache.cont.find(".irs-from")),
8841        (this.$cache.to = this.$cache.cont.find(".irs-to")),
8842        (this.$cache.single = this.$cache.cont.find(".irs-single")),
8843        (this.$cache.line = this.$cache.cont.find(".irs-line")),
8844        (this.$cache.grid = this.$cache.cont.find(".irs-grid")),
8845        "single" === this.options.type
8846          ? (this.$cache.cont.append(
8847              '<span class="irs-bar irs-bar--single"></span><span class="irs-shadow shadow-single"></span><span class="irs-handle single"><i></i><i></i><i></i></span>'
8848            ),
8849            (this.$cache.bar = this.$cache.cont.find(".irs-bar")),
8850            (this.$cache.edge = this.$cache.cont.find(".irs-bar-edge")),
8851            (this.$cache.s_single = this.$cache.cont.find(".single")),
8852            (this.$cache.from[0].style.visibility = "hidden"),
8853            (this.$cache.to[0].style.visibility = "hidden"),
8854            (this.$cache.shad_single = this.$cache.cont.find(".shadow-single")))
8855          : (this.$cache.cont.append(
8856              '<span class="irs-bar"></span><span class="irs-shadow shadow-from"></span><span class="irs-shadow shadow-to"></span><span class="irs-handle from"><i></i><i></i><i></i></span><span class="irs-handle to"><i></i><i></i><i></i></span>'
8857            ),
8858            (this.$cache.bar = this.$cache.cont.find(".irs-bar")),
8859            (this.$cache.s_from = this.$cache.cont.find(".from")),
8860            (this.$cache.s_to = this.$cache.cont.find(".to")),
8861            (this.$cache.shad_from = this.$cache.cont.find(".shadow-from")),
8862            (this.$cache.shad_to = this.$cache.cont.find(".shadow-to")),
8863            this.setTopHandler()),
8864        this.options.hide_from_to &&
8865          ((this.$cache.from[0].style.display = "none"),
8866          (this.$cache.to[0].style.display = "none"),
8867          (this.$cache.single[0].style.display = "none")),
8868        this.appendGrid(),
8869        this.options.disable
8870          ? (this.appendDisableMask(), (this.$cache.input[0].disabled = !0))
8871          : ((this.$cache.input[0].disabled = !1),
8872            this.removeDisableMask(),
8873            this.bindEvents()),
8874        this.options.disable ||
8875          (this.options.block
8876            ? this.appendDisableMask()
8877            : this.removeDisableMask()),
8878        this.options.drag_interval &&
8879          (this.$cache.bar[0].style.cursor = "ew-resize");
8880    },
8881    setTopHandler: function () {
8882      var t = this.options.min,
8883        i = this.options.max,
8884        s = this.options.from,
8885        o = this.options.to;
8886      t < s && o === i
8887        ? this.$cache.s_from.addClass("type_last")
8888        : o < i && this.$cache.s_to.addClass("type_last");
8889    },
8890    changeLevel: function (t) {
8891      switch (t) {
8892        case "single":
8893          (this.coords.p_gap = this.toFixed(
8894            this.coords.p_pointer - this.coords.p_single_fake
8895          )),
8896            this.$cache.s_single.addClass("state_hover");
8897          break;
8898        case "from":
8899          (this.coords.p_gap = this.toFixed(
8900            this.coords.p_pointer - this.coords.p_from_fake
8901          )),
8902            this.$cache.s_from.addClass("state_hover"),
8903            this.$cache.s_from.addClass("type_last"),
8904            this.$cache.s_to.removeClass("type_last");
8905          break;
8906        case "to":
8907          (this.coords.p_gap = this.toFixed(
8908            this.coords.p_pointer - this.coords.p_to_fake
8909          )),
8910            this.$cache.s_to.addClass("state_hover"),
8911            this.$cache.s_to.addClass("type_last"),
8912            this.$cache.s_from.removeClass("type_last");
8913          break;
8914        case "both":
8915          (this.coords.p_gap_left = this.toFixed(
8916            this.coords.p_pointer - this.coords.p_from_fake
8917          )),
8918            (this.coords.p_gap_right = this.toFixed(
8919              this.coords.p_to_fake - this.coords.p_pointer
8920            )),
8921            this.$cache.s_to.removeClass("type_last"),
8922            this.$cache.s_from.removeClass("type_last");
8923      }
8924    },
8925    appendDisableMask: function () {
8926      this.$cache.cont.append('<span class="irs-disable-mask"></span>'),
8927        this.$cache.cont.addClass("irs-disabled");
8928    },
8929    removeDisableMask: function () {
8930      this.$cache.cont.remove(".irs-disable-mask"),
8931        this.$cache.cont.removeClass("irs-disabled");
8932    },
8933    remove: function () {
8934      this.$cache.cont.remove(),
8935        (this.$cache.cont = null),
8936        this.$cache.line.off("keydown.irs_" + this.plugin_count),
8937        this.$cache.body.off("touchmove.irs_" + this.plugin_count),
8938        this.$cache.body.off("mousemove.irs_" + this.plugin_count),
8939        this.$cache.win.off("touchend.irs_" + this.plugin_count),
8940        this.$cache.win.off("mouseup.irs_" + this.plugin_count),
8941        e &&
8942          (this.$cache.body.off("mouseup.irs_" + this.plugin_count),
8943          this.$cache.body.off("mouseleave.irs_" + this.plugin_count)),
8944        (this.$cache.grid_labels = []),
8945        (this.coords.big = []),
8946        (this.coords.big_w = []),
8947        (this.coords.big_p = []),
8948        (this.coords.big_x = []),
8949        cancelAnimationFrame(this.raf_id);
8950    },
8951    bindEvents: function () {
8952      this.no_diapason ||
8953        (this.$cache.body.on(
8954          "touchmove.irs_" + this.plugin_count,
8955          this.pointerMove.bind(this)
8956        ),
8957        this.$cache.body.on(
8958          "mousemove.irs_" + this.plugin_count,
8959          this.pointerMove.bind(this)
8960        ),
8961        this.$cache.win.on(
8962          "touchend.irs_" + this.plugin_count,
8963          this.pointerUp.bind(this)
8964        ),
8965        this.$cache.win.on(
8966          "mouseup.irs_" + this.plugin_count,
8967          this.pointerUp.bind(this)
8968        ),
8969        this.$cache.line.on(
8970          "touchstart.irs_" + this.plugin_count,
8971          this.pointerClick.bind(this, "click")
8972        ),
8973        this.$cache.line.on(
8974          "mousedown.irs_" + this.plugin_count,
8975          this.pointerClick.bind(this, "click")
8976        ),
8977        this.$cache.line.on(
8978          "focus.irs_" + this.plugin_count,
8979          this.pointerFocus.bind(this)
8980        ),
8981        this.options.drag_interval && "double" === this.options.type
8982          ? (this.$cache.bar.on(
8983              "touchstart.irs_" + this.plugin_count,
8984              this.pointerDown.bind(this, "both")
8985            ),
8986            this.$cache.bar.on(
8987              "mousedown.irs_" + this.plugin_count,
8988              this.pointerDown.bind(this, "both")
8989            ))
8990          : (this.$cache.bar.on(
8991              "touchstart.irs_" + this.plugin_count,
8992              this.pointerClick.bind(this, "click")
8993            ),
8994            this.$cache.bar.on(
8995              "mousedown.irs_" + this.plugin_count,
8996              this.pointerClick.bind(this, "click")
8997            )),
8998        "single" === this.options.type
8999          ? (this.$cache.single.on(
9000              "touchstart.irs_" + this.plugin_count,
9001              this.pointerDown.bind(this, "single")
9002            ),
9003            this.$cache.s_single.on(
9004              "touchstart.irs_" + this.plugin_count,
9005              this.pointerDown.bind(this, "single")
9006            ),
9007            this.$cache.shad_single.on(
9008              "touchstart.irs_" + this.plugin_count,
9009              this.pointerClick.bind(this, "click")
9010            ),
9011            this.$cache.single.on(
9012              "mousedown.irs_" + this.plugin_count,
9013              this.pointerDown.bind(this, "single")
9014            ),
9015            this.$cache.s_single.on(
9016              "mousedown.irs_" + this.plugin_count,
9017              this.pointerDown.bind(this, "single")
9018            ),
9019            this.$cache.edge.on(
9020              "mousedown.irs_" + this.plugin_count,
9021              this.pointerClick.bind(this, "click")
9022            ),
9023            this.$cache.shad_single.on(
9024              "mousedown.irs_" + this.plugin_count,
9025              this.pointerClick.bind(this, "click")
9026            ))
9027          : (this.$cache.single.on(
9028              "touchstart.irs_" + this.plugin_count,
9029              this.pointerDown.bind(this, null)
9030            ),
9031            this.$cache.single.on(
9032              "mousedown.irs_" + this.plugin_count,
9033              this.pointerDown.bind(this, null)
9034            ),
9035            this.$cache.from.on(
9036              "touchstart.irs_" + this.plugin_count,
9037              this.pointerDown.bind(this, "from")
9038            ),
9039            this.$cache.s_from.on(
9040              "touchstart.irs_" + this.plugin_count,
9041              this.pointerDown.bind(this, "from")
9042            ),
9043            this.$cache.to.on(
9044              "touchstart.irs_" + this.plugin_count,
9045              this.pointerDown.bind(this, "to")
9046            ),
9047            this.$cache.s_to.on(
9048              "touchstart.irs_" + this.plugin_count,
9049              this.pointerDown.bind(this, "to")
9050            ),
9051            this.$cache.shad_from.on(
9052              "touchstart.irs_" + this.plugin_count,
9053              this.pointerClick.bind(this, "click")
9054            ),
9055            this.$cache.shad_to.on(
9056              "touchstart.irs_" + this.plugin_count,
9057              this.pointerClick.bind(this, "click")
9058            ),
9059            this.$cache.from.on(
9060              "mousedown.irs_" + this.plugin_count,
9061              this.pointerDown.bind(this, "from")
9062            ),
9063            this.$cache.s_from.on(
9064              "mousedown.irs_" + this.plugin_count,
9065              this.pointerDown.bind(this, "from")
9066            ),
9067            this.$cache.to.on(
9068              "mousedown.irs_" + this.plugin_count,
9069              this.pointerDown.bind(this, "to")
9070            ),
9071            this.$cache.s_to.on(
9072              "mousedown.irs_" + this.plugin_count,
9073              this.pointerDown.bind(this, "to")
9074            ),
9075            this.$cache.shad_from.on(
9076              "mousedown.irs_" + this.plugin_count,
9077              this.pointerClick.bind(this, "click")
9078            ),
9079            this.$cache.shad_to.on(
9080              "mousedown.irs_" + this.plugin_count,
9081              this.pointerClick.bind(this, "click")
9082            )),
9083        this.options.keyboard &&
9084          this.$cache.line.on(
9085            "keydown.irs_" + this.plugin_count,
9086            this.key.bind(this, "keyboard")
9087          ),
9088        e &&
9089          (this.$cache.body.on(
9090            "mouseup.irs_" + this.plugin_count,
9091            this.pointerUp.bind(this)
9092          ),
9093          this.$cache.body.on(
9094            "mouseleave.irs_" + this.plugin_count,
9095            this.pointerUp.bind(this)
9096          )));
9097    },
9098    pointerFocus: function (t) {
9099      var i, s;
9100      this.target ||
9101        ((i = (s =
9102          "single" === this.options.type
9103            ? this.$cache.single
9104            : this.$cache.from).offset().left),
9105        (i += s.width() / 2 - 1),
9106        this.pointerClick("single", {
9107          preventDefault: function () {},
9108          pageX: i,
9109        }));
9110    },
9111    pointerMove: function (t) {
9112      if (this.dragging) {
9113        var i =
9114          t.pageX ||
9115          (t.originalEvent.touches && t.originalEvent.touches[0].pageX);
9116        (this.coords.x_pointer = i - this.coords.x_gap), this.calc();
9117      }
9118    },
9119    pointerUp: function (t) {
9120      this.current_plugin === this.plugin_count &&
9121        this.is_active &&
9122        ((this.is_active = !1),
9123        this.$cache.cont.find(".state_hover").removeClass("state_hover"),
9124        (this.force_redraw = !0),
9125        e && a("*").prop("unselectable", !1),
9126        this.updateScene(),
9127        this.restoreOriginalMinInterval(),
9128        (a.contains(this.$cache.cont[0], t.target) || this.dragging) &&
9129          this.callOnFinish(),
9130        (this.dragging = !1));
9131    },
9132    pointerDown: function (t, i) {
9133      i.preventDefault();
9134      var s =
9135        i.pageX ||
9136        (i.originalEvent.touches && i.originalEvent.touches[0].pageX);
9137      2 !== i.button &&
9138        ("both" === t && this.setTempMinInterval(),
9139        (t = t || this.target || "from"),
9140        (this.current_plugin = this.plugin_count),
9141        (this.target = t),
9142        (this.is_active = !0),
9143        (this.dragging = !0),
9144        (this.coords.x_gap = this.$cache.rs.offset().left),
9145        (this.coords.x_pointer = s - this.coords.x_gap),
9146        this.calcPointerPercent(),
9147        this.changeLevel(t),
9148        e && a("*").prop("unselectable", !0),
9149        this.$cache.line.trigger("focus"),
9150        this.updateScene());
9151    },
9152    pointerClick: function (t, i) {
9153      i.preventDefault();
9154      var s =
9155        i.pageX ||
9156        (i.originalEvent.touches && i.originalEvent.touches[0].pageX);
9157      2 !== i.button &&
9158        ((this.current_plugin = this.plugin_count),
9159        (this.target = t),
9160        (this.is_click = !0),
9161        (this.coords.x_gap = this.$cache.rs.offset().left),
9162        (this.coords.x_pointer = +(s - this.coords.x_gap).toFixed()),
9163        (this.force_redraw = !0),
9164        this.calc(),
9165        this.$cache.line.trigger("focus"));
9166    },
9167    key: function (t, i) {
9168      if (
9169        !(
9170          this.current_plugin !== this.plugin_count ||
9171          i.altKey ||
9172          i.ctrlKey ||
9173          i.shiftKey ||
9174          i.metaKey
9175        )
9176      ) {
9177        switch (i.which) {
9178          case 83:
9179          case 65:
9180          case 40:
9181          case 37:
9182            i.preventDefault(), this.moveByKey(!1);
9183            break;
9184          case 87:
9185          case 68:
9186          case 38:
9187          case 39:
9188            i.preventDefault(), this.moveByKey(!0);
9189        }
9190        return !0;
9191      }
9192    },
9193    moveByKey: function (t) {
9194      var i = this.coords.p_pointer,
9195        s = (this.options.max - this.options.min) / 100;
9196      (s = this.options.step / s),
9197        t ? (i += s) : (i -= s),
9198        (this.coords.x_pointer = this.toFixed((this.coords.w_rs / 100) * i)),
9199        (this.is_key = !0),
9200        this.calc();
9201    },
9202    setMinMax: function () {
9203      if (this.options) {
9204        if (this.options.hide_min_max)
9205          return (
9206            (this.$cache.min[0].style.display = "none"),
9207            void (this.$cache.max[0].style.display = "none")
9208          );
9209        if (this.options.values.length)
9210          this.$cache.min.html(
9211            this.decorate(this.options.p_values[this.options.min])
9212          ),
9213            this.$cache.max.html(
9214              this.decorate(this.options.p_values[this.options.max])
9215            );
9216        else {
9217          var t = this._prettify(this.options.min),
9218            i = this._prettify(this.options.max);
9219          (this.result.min_pretty = t),
9220            (this.result.max_pretty = i),
9221            this.$cache.min.html(this.decorate(t, this.options.min)),
9222            this.$cache.max.html(this.decorate(i, this.options.max));
9223        }
9224        (this.labels.w_min = this.$cache.min.outerWidth(!1)),
9225          (this.labels.w_max = this.$cache.max.outerWidth(!1));
9226      }
9227    },
9228    setTempMinInterval: function () {
9229      var t = this.result.to - this.result.from;
9230      null === this.old_min_interval &&
9231        (this.old_min_interval = this.options.min_interval),
9232        (this.options.min_interval = t);
9233    },
9234    restoreOriginalMinInterval: function () {
9235      null !== this.old_min_interval &&
9236        ((this.options.min_interval = this.old_min_interval),
9237        (this.old_min_interval = null));
9238    },
9239    calc: function (t) {
9240      if (
9241        this.options &&
9242        (this.calc_count++,
9243        (10 !== this.calc_count && !t) ||
9244          ((this.calc_count = 0),
9245          (this.coords.w_rs = this.$cache.rs.outerWidth(!1)),
9246          this.calcHandlePercent()),
9247        this.coords.w_rs)
9248      ) {
9249        this.calcPointerPercent();
9250        var i = this.getHandleX();
9251        switch (
9252          ("both" === this.target &&
9253            ((this.coords.p_gap = 0), (i = this.getHandleX())),
9254          "click" === this.target &&
9255            ((this.coords.p_gap = this.coords.p_handle / 2),
9256            (i = this.getHandleX()),
9257            this.options.drag_interval
9258              ? (this.target = "both_one")
9259              : (this.target = this.chooseHandle(i))),
9260          this.target)
9261        ) {
9262          case "base":
9263            var s = (this.options.max - this.options.min) / 100,
9264              o = (this.result.from - this.options.min) / s,
9265              e = (this.result.to - this.options.min) / s;
9266            (this.coords.p_single_real = this.toFixed(o)),
9267              (this.coords.p_from_real = this.toFixed(o)),
9268              (this.coords.p_to_real = this.toFixed(e)),
9269              (this.coords.p_single_real = this.checkDiapason(
9270                this.coords.p_single_real,
9271                this.options.from_min,
9272                this.options.from_max
9273              )),
9274              (this.coords.p_from_real = this.checkDiapason(
9275                this.coords.p_from_real,
9276                this.options.from_min,
9277                this.options.from_max
9278              )),
9279              (this.coords.p_to_real = this.checkDiapason(
9280                this.coords.p_to_real,
9281                this.options.to_min,
9282                this.options.to_max
9283              )),
9284              (this.coords.p_single_fake = this.convertToFakePercent(
9285                this.coords.p_single_real
9286              )),
9287              (this.coords.p_from_fake = this.convertToFakePercent(
9288                this.coords.p_from_real
9289              )),
9290              (this.coords.p_to_fake = this.convertToFakePercent(
9291                this.coords.p_to_real
9292              )),
9293              (this.target = null);
9294            break;
9295          case "single":
9296            if (this.options.from_fixed) break;
9297            (this.coords.p_single_real = this.convertToRealPercent(i)),
9298              (this.coords.p_single_real = this.calcWithStep(
9299                this.coords.p_single_real
9300              )),
9301              (this.coords.p_single_real = this.checkDiapason(
9302                this.coords.p_single_real,
9303                this.options.from_min,
9304                this.options.from_max
9305              )),
9306              (this.coords.p_single_fake = this.convertToFakePercent(
9307                this.coords.p_single_real
9308              ));
9309            break;
9310          case "from":
9311            if (this.options.from_fixed) break;
9312            (this.coords.p_from_real = this.convertToRealPercent(i)),
9313              (this.coords.p_from_real = this.calcWithStep(
9314                this.coords.p_from_real
9315              )),
9316              this.coords.p_from_real > this.coords.p_to_real &&
9317                (this.coords.p_from_real = this.coords.p_to_real),
9318              (this.coords.p_from_real = this.checkDiapason(
9319                this.coords.p_from_real,
9320                this.options.from_min,
9321                this.options.from_max
9322              )),
9323              (this.coords.p_from_real = this.checkMinInterval(
9324                this.coords.p_from_real,
9325                this.coords.p_to_real,
9326                "from"
9327              )),
9328              (this.coords.p_from_real = this.checkMaxInterval(
9329                this.coords.p_from_real,
9330                this.coords.p_to_real,
9331                "from"
9332              )),
9333              (this.coords.p_from_fake = this.convertToFakePercent(
9334                this.coords.p_from_real
9335              ));
9336            break;
9337          case "to":
9338            if (this.options.to_fixed) break;
9339            (this.coords.p_to_real = this.convertToRealPercent(i)),
9340              (this.coords.p_to_real = this.calcWithStep(
9341                this.coords.p_to_real
9342              )),
9343              this.coords.p_to_real < this.coords.p_from_real &&
9344                (this.coords.p_to_real = this.coords.p_from_real),
9345              (this.coords.p_to_real = this.checkDiapason(
9346                this.coords.p_to_real,
9347                this.options.to_min,
9348                this.options.to_max
9349              )),
9350              (this.coords.p_to_real = this.checkMinInterval(
9351                this.coords.p_to_real,
9352                this.coords.p_from_real,
9353                "to"
9354              )),
9355              (this.coords.p_to_real = this.checkMaxInterval(
9356                this.coords.p_to_real,
9357                this.coords.p_from_real,
9358                "to"
9359              )),
9360              (this.coords.p_to_fake = this.convertToFakePercent(
9361                this.coords.p_to_real
9362              ));
9363            break;
9364          case "both":
9365            if (this.options.from_fixed || this.options.to_fixed) break;
9366            (i = this.toFixed(i + 0.001 * this.coords.p_handle)),
9367              (this.coords.p_from_real =
9368                this.convertToRealPercent(i) - this.coords.p_gap_left),
9369              (this.coords.p_from_real = this.calcWithStep(
9370                this.coords.p_from_real
9371              )),
9372              (this.coords.p_from_real = this.checkDiapason(
9373                this.coords.p_from_real,
9374                this.options.from_min,
9375                this.options.from_max
9376              )),
9377              (this.coords.p_from_real = this.checkMinInterval(
9378                this.coords.p_from_real,
9379                this.coords.p_to_real,
9380                "from"
9381              )),
9382              (this.coords.p_from_fake = this.convertToFakePercent(
9383                this.coords.p_from_real
9384              )),
9385              (this.coords.p_to_real =
9386                this.convertToRealPercent(i) + this.coords.p_gap_right),
9387              (this.coords.p_to_real = this.calcWithStep(
9388                this.coords.p_to_real
9389              )),
9390              (this.coords.p_to_real = this.checkDiapason(
9391                this.coords.p_to_real,
9392                this.options.to_min,
9393                this.options.to_max
9394              )),
9395              (this.coords.p_to_real = this.checkMinInterval(
9396                this.coords.p_to_real,
9397                this.coords.p_from_real,
9398                "to"
9399              )),
9400              (this.coords.p_to_fake = this.convertToFakePercent(
9401                this.coords.p_to_real
9402              ));
9403            break;
9404          case "both_one":
9405            if (this.options.from_fixed || this.options.to_fixed) break;
9406            var h = this.convertToRealPercent(i),
9407              r = this.result.from_percent,
9408              n = this.result.to_percent - r,
9409              a = n / 2,
9410              c = h - a,
9411              l = h + a;
9412            c < 0 && (l = (c = 0) + n),
9413              100 < l && (c = (l = 100) - n),
9414              (this.coords.p_from_real = this.calcWithStep(c)),
9415              (this.coords.p_from_real = this.checkDiapason(
9416                this.coords.p_from_real,
9417                this.options.from_min,
9418                this.options.from_max
9419              )),
9420              (this.coords.p_from_fake = this.convertToFakePercent(
9421                this.coords.p_from_real
9422              )),
9423              (this.coords.p_to_real = this.calcWithStep(l)),
9424              (this.coords.p_to_real = this.checkDiapason(
9425                this.coords.p_to_real,
9426                this.options.to_min,
9427                this.options.to_max
9428              )),
9429              (this.coords.p_to_fake = this.convertToFakePercent(
9430                this.coords.p_to_real
9431              ));
9432        }
9433        "single" === this.options.type
9434          ? ((this.coords.p_bar_x = this.coords.p_handle / 2),
9435            (this.coords.p_bar_w = this.coords.p_single_fake),
9436            (this.result.from_percent = this.coords.p_single_real),
9437            (this.result.from = this.convertToValue(this.coords.p_single_real)),
9438            (this.result.from_pretty = this._prettify(this.result.from)),
9439            this.options.values.length &&
9440              (this.result.from_value = this.options.values[this.result.from]))
9441          : ((this.coords.p_bar_x = this.toFixed(
9442              this.coords.p_from_fake + this.coords.p_handle / 2
9443            )),
9444            (this.coords.p_bar_w = this.toFixed(
9445              this.coords.p_to_fake - this.coords.p_from_fake
9446            )),
9447            (this.result.from_percent = this.coords.p_from_real),
9448            (this.result.from = this.convertToValue(this.coords.p_from_real)),
9449            (this.result.from_pretty = this._prettify(this.result.from)),
9450            (this.result.to_percent = this.coords.p_to_real),
9451            (this.result.to = this.convertToValue(this.coords.p_to_real)),
9452            (this.result.to_pretty = this._prettify(this.result.to)),
9453            this.options.values.length &&
9454              ((this.result.from_value = this.options.values[this.result.from]),
9455              (this.result.to_value = this.options.values[this.result.to]))),
9456          this.calcMinMax(),
9457          this.calcLabels();
9458      }
9459    },
9460    calcPointerPercent: function () {
9461      this.coords.w_rs
9462        ? (this.coords.x_pointer < 0 || isNaN(this.coords.x_pointer)
9463            ? (this.coords.x_pointer = 0)
9464            : this.coords.x_pointer > this.coords.w_rs &&
9465              (this.coords.x_pointer = this.coords.w_rs),
9466          (this.coords.p_pointer = this.toFixed(
9467            (this.coords.x_pointer / this.coords.w_rs) * 100
9468          )))
9469        : (this.coords.p_pointer = 0);
9470    },
9471    convertToRealPercent: function (t) {
9472      return (t / (100 - this.coords.p_handle)) * 100;
9473    },
9474    convertToFakePercent: function (t) {
9475      return (t / 100) * (100 - this.coords.p_handle);
9476    },
9477    getHandleX: function () {
9478      var t = 100 - this.coords.p_handle,
9479        i = this.toFixed(this.coords.p_pointer - this.coords.p_gap);
9480      return i < 0 ? (i = 0) : t < i && (i = t), i;
9481    },
9482    calcHandlePercent: function () {
9483      "single" === this.options.type
9484        ? (this.coords.w_handle = this.$cache.s_single.outerWidth(!1))
9485        : (this.coords.w_handle = this.$cache.s_from.outerWidth(!1)),
9486        (this.coords.p_handle = this.toFixed(
9487          (this.coords.w_handle / this.coords.w_rs) * 100
9488        ));
9489    },
9490    chooseHandle: function (t) {
9491      return "single" === this.options.type
9492        ? "single"
9493        : this.coords.p_from_real +
9494            (this.coords.p_to_real - this.coords.p_from_real) / 2 <=
9495          t
9496        ? this.options.to_fixed
9497          ? "from"
9498          : "to"
9499        : this.options.from_fixed
9500        ? "to"
9501        : "from";
9502    },
9503    calcMinMax: function () {
9504      this.coords.w_rs &&
9505        ((this.labels.p_min = (this.labels.w_min / this.coords.w_rs) * 100),
9506        (this.labels.p_max = (this.labels.w_max / this.coords.w_rs) * 100));
9507    },
9508    calcLabels: function () {
9509      this.coords.w_rs &&
9510        !this.options.hide_from_to &&
9511        ("single" === this.options.type
9512          ? ((this.labels.w_single = this.$cache.single.outerWidth(!1)),
9513            (this.labels.p_single_fake =
9514              (this.labels.w_single / this.coords.w_rs) * 100),
9515            (this.labels.p_single_left =
9516              this.coords.p_single_fake +
9517              this.coords.p_handle / 2 -
9518              this.labels.p_single_fake / 2))
9519          : ((this.labels.w_from = this.$cache.from.outerWidth(!1)),
9520            (this.labels.p_from_fake =
9521              (this.labels.w_from / this.coords.w_rs) * 100),
9522            (this.labels.p_from_left =
9523              this.coords.p_from_fake +
9524              this.coords.p_handle / 2 -
9525              this.labels.p_from_fake / 2),
9526            (this.labels.p_from_left = this.toFixed(this.labels.p_from_left)),
9527            (this.labels.p_from_left = this.checkEdges(
9528              this.labels.p_from_left,
9529              this.labels.p_from_fake
9530            )),
9531            (this.labels.w_to = this.$cache.to.outerWidth(!1)),
9532            (this.labels.p_to_fake =
9533              (this.labels.w_to / this.coords.w_rs) * 100),
9534            (this.labels.p_to_left =
9535              this.coords.p_to_fake +
9536              this.coords.p_handle / 2 -
9537              this.labels.p_to_fake / 2),
9538            (this.labels.p_to_left = this.toFixed(this.labels.p_to_left)),
9539            (this.labels.p_to_left = this.checkEdges(
9540              this.labels.p_to_left,
9541              this.labels.p_to_fake
9542            )),
9543            (this.labels.w_single = this.$cache.single.outerWidth(!1)),
9544            (this.labels.p_single_fake =
9545              (this.labels.w_single / this.coords.w_rs) * 100),
9546            (this.labels.p_single_left =
9547              (this.labels.p_from_left +
9548                this.labels.p_to_left +
9549                this.labels.p_to_fake) /
9550                2 -
9551              this.labels.p_single_fake / 2),
9552            (this.labels.p_single_left = this.toFixed(
9553              this.labels.p_single_left
9554            ))),
9555        (this.labels.p_single_left = this.checkEdges(
9556          this.labels.p_single_left,
9557          this.labels.p_single_fake
9558        )));
9559    },
9560    updateScene: function () {
9561      this.raf_id && (cancelAnimationFrame(this.raf_id), (this.raf_id = null)),
9562        clearTimeout(this.update_tm),
9563        (this.update_tm = null),
9564        this.options &&
9565          (this.drawHandles(),
9566          this.is_active
9567            ? (this.raf_id = requestAnimationFrame(this.updateScene.bind(this)))
9568            : (this.update_tm = setTimeout(this.updateScene.bind(this), 300)));
9569    },
9570    drawHandles: function () {
9571      (this.coords.w_rs = this.$cache.rs.outerWidth(!1)),
9572        this.coords.w_rs &&
9573          (this.coords.w_rs !== this.coords.w_rs_old &&
9574            ((this.target = "base"), (this.is_resize = !0)),
9575          (this.coords.w_rs === this.coords.w_rs_old && !this.force_redraw) ||
9576            (this.setMinMax(),
9577            this.calc(!0),
9578            this.drawLabels(),
9579            this.options.grid && (this.calcGridMargin(), this.calcGridLabels()),
9580            (this.force_redraw = !0),
9581            (this.coords.w_rs_old = this.coords.w_rs),
9582            this.drawShadow()),
9583          this.coords.w_rs &&
9584            (this.dragging || this.force_redraw || this.is_key) &&
9585            ((this.old_from !== this.result.from ||
9586              this.old_to !== this.result.to ||
9587              this.force_redraw ||
9588              this.is_key) &&
9589              (this.drawLabels(),
9590              (this.$cache.bar[0].style.left = this.coords.p_bar_x + "%"),
9591              (this.$cache.bar[0].style.width = this.coords.p_bar_w + "%"),
9592              "single" === this.options.type
9593                ? ((this.$cache.bar[0].style.left = 0),
9594                  (this.$cache.bar[0].style.width =
9595                    this.coords.p_bar_w + this.coords.p_bar_x + "%"),
9596                  (this.$cache.s_single[0].style.left =
9597                    this.coords.p_single_fake + "%"))
9598                : ((this.$cache.s_from[0].style.left =
9599                    this.coords.p_from_fake + "%"),
9600                  (this.$cache.s_to[0].style.left =
9601                    this.coords.p_to_fake + "%"),
9602                  (this.old_from === this.result.from && !this.force_redraw) ||
9603                    (this.$cache.from[0].style.left =
9604                      this.labels.p_from_left + "%"),
9605                  (this.old_to === this.result.to && !this.force_redraw) ||
9606                    (this.$cache.to[0].style.left =
9607                      this.labels.p_to_left + "%")),
9608              (this.$cache.single[0].style.left =
9609                this.labels.p_single_left + "%"),
9610              this.writeToInput(),
9611              (this.old_from === this.result.from &&
9612                this.old_to === this.result.to) ||
9613                this.is_start ||
9614                (this.$cache.input.trigger("change"),
9615                this.$cache.input.trigger("input")),
9616              (this.old_from = this.result.from),
9617              (this.old_to = this.result.to),
9618              this.is_resize ||
9619                this.is_update ||
9620                this.is_start ||
9621                this.is_finish ||
9622                this.callOnChange(),
9623              (this.is_key || this.is_click) &&
9624                ((this.is_key = !1), (this.is_click = !1), this.callOnFinish()),
9625              (this.is_update = !1),
9626              (this.is_resize = !1),
9627              (this.is_finish = !1)),
9628            (this.is_start = !1),
9629            (this.is_key = !1),
9630            (this.is_click = !1),
9631            (this.force_redraw = !1)));
9632    },
9633    drawLabels: function () {
9634      if (this.options) {
9635        var t,
9636          i,
9637          s,
9638          o,
9639          e,
9640          h = this.options.values.length,
9641          r = this.options.p_values;
9642        if (!this.options.hide_from_to)
9643          if ("single" === this.options.type)
9644            (t = h
9645              ? this.decorate(r[this.result.from])
9646              : ((o = this._prettify(this.result.from)),
9647                this.decorate(o, this.result.from))),
9648              this.$cache.single.html(t),
9649              this.calcLabels(),
9650              this.labels.p_single_left < this.labels.p_min + 1
9651                ? (this.$cache.min[0].style.visibility = "hidden")
9652                : (this.$cache.min[0].style.visibility = "visible"),
9653              this.labels.p_single_left + this.labels.p_single_fake >
9654              100 - this.labels.p_max - 1
9655                ? (this.$cache.max[0].style.visibility = "hidden")
9656                : (this.$cache.max[0].style.visibility = "visible");
9657          else {
9658            (s = h
9659              ? (this.options.decorate_both
9660                  ? ((t = this.decorate(r[this.result.from])),
9661                    (t += this.options.values_separator),
9662                    (t += this.decorate(r[this.result.to])))
9663                  : (t = this.decorate(
9664                      r[this.result.from] +
9665                        this.options.values_separator +
9666                        r[this.result.to]
9667                    )),
9668                (i = this.decorate(r[this.result.from])),
9669                this.decorate(r[this.result.to]))
9670              : ((o = this._prettify(this.result.from)),
9671                (e = this._prettify(this.result.to)),
9672                this.options.decorate_both
9673                  ? ((t = this.decorate(o, this.result.from)),
9674                    (t += this.options.values_separator),
9675                    (t += this.decorate(e, this.result.to)))
9676                  : (t = this.decorate(
9677                      o + this.options.values_separator + e,
9678                      this.result.to
9679                    )),
9680                (i = this.decorate(o, this.result.from)),
9681                this.decorate(e, this.result.to))),
9682              this.$cache.single.html(t),
9683              this.$cache.from.html(i),
9684              this.$cache.to.html(s),
9685              this.calcLabels();
9686            var n = Math.min(
9687                this.labels.p_single_left,
9688                this.labels.p_from_left
9689              ),
9690              a = this.labels.p_single_left + this.labels.p_single_fake,
9691              c = this.labels.p_to_left + this.labels.p_to_fake,
9692              l = Math.max(a, c);
9693            this.labels.p_from_left + this.labels.p_from_fake >=
9694            this.labels.p_to_left
9695              ? ((this.$cache.from[0].style.visibility = "hidden"),
9696                (this.$cache.to[0].style.visibility = "hidden"),
9697                (this.$cache.single[0].style.visibility = "visible"),
9698                (l =
9699                  this.result.from === this.result.to
9700                    ? ("from" === this.target
9701                        ? (this.$cache.from[0].style.visibility = "visible")
9702                        : "to" === this.target
9703                        ? (this.$cache.to[0].style.visibility = "visible")
9704                        : this.target ||
9705                          (this.$cache.from[0].style.visibility = "visible"),
9706                      (this.$cache.single[0].style.visibility = "hidden"),
9707                      c)
9708                    : ((this.$cache.from[0].style.visibility = "hidden"),
9709                      (this.$cache.to[0].style.visibility = "hidden"),
9710                      (this.$cache.single[0].style.visibility = "visible"),
9711                      Math.max(a, c))))
9712              : ((this.$cache.from[0].style.visibility = "visible"),
9713                (this.$cache.to[0].style.visibility = "visible"),
9714                (this.$cache.single[0].style.visibility = "hidden")),
9715              n < this.labels.p_min + 1
9716                ? (this.$cache.min[0].style.visibility = "hidden")
9717                : (this.$cache.min[0].style.visibility = "visible"),
9718              l > 100 - this.labels.p_max - 1
9719                ? (this.$cache.max[0].style.visibility = "hidden")
9720                : (this.$cache.max[0].style.visibility = "visible");
9721          }
9722      }
9723    },
9724    drawShadow: function () {
9725      var t,
9726        i,
9727        s,
9728        o,
9729        e = this.options,
9730        h = this.$cache,
9731        r = "number" == typeof e.from_min && !isNaN(e.from_min),
9732        n = "number" == typeof e.from_max && !isNaN(e.from_max),
9733        a = "number" == typeof e.to_min && !isNaN(e.to_min),
9734        c = "number" == typeof e.to_max && !isNaN(e.to_max);
9735      "single" === e.type
9736        ? e.from_shadow && (r || n)
9737          ? ((t = this.convertToPercent(r ? e.from_min : e.min)),
9738            (i = this.convertToPercent(n ? e.from_max : e.max) - t),
9739            (t = this.toFixed(t - (this.coords.p_handle / 100) * t)),
9740            (i = this.toFixed(i - (this.coords.p_handle / 100) * i)),
9741            (t += this.coords.p_handle / 2),
9742            (h.shad_single[0].style.display = "block"),
9743            (h.shad_single[0].style.left = t + "%"),
9744            (h.shad_single[0].style.width = i + "%"))
9745          : (h.shad_single[0].style.display = "none")
9746        : (e.from_shadow && (r || n)
9747            ? ((t = this.convertToPercent(r ? e.from_min : e.min)),
9748              (i = this.convertToPercent(n ? e.from_max : e.max) - t),
9749              (t = this.toFixed(t - (this.coords.p_handle / 100) * t)),
9750              (i = this.toFixed(i - (this.coords.p_handle / 100) * i)),
9751              (t += this.coords.p_handle / 2),
9752              (h.shad_from[0].style.display = "block"),
9753              (h.shad_from[0].style.left = t + "%"),
9754              (h.shad_from[0].style.width = i + "%"))
9755            : (h.shad_from[0].style.display = "none"),
9756          e.to_shadow && (a || c)
9757            ? ((s = this.convertToPercent(a ? e.to_min : e.min)),
9758              (o = this.convertToPercent(c ? e.to_max : e.max) - s),
9759              (s = this.toFixed(s - (this.coords.p_handle / 100) * s)),
9760              (o = this.toFixed(o - (this.coords.p_handle / 100) * o)),
9761              (s += this.coords.p_handle / 2),
9762              (h.shad_to[0].style.display = "block"),
9763              (h.shad_to[0].style.left = s + "%"),
9764              (h.shad_to[0].style.width = o + "%"))
9765            : (h.shad_to[0].style.display = "none"));
9766    },
9767    writeToInput: function () {
9768      "single" === this.options.type
9769        ? (this.options.values.length
9770            ? this.$cache.input.prop("value", this.result.from_value)
9771            : this.$cache.input.prop("value", this.result.from),
9772          this.$cache.input.data("from", this.result.from))
9773        : (this.options.values.length
9774            ? this.$cache.input.prop(
9775                "value",
9776                this.result.from_value +
9777                  this.options.input_values_separator +
9778                  this.result.to_value
9779              )
9780            : this.$cache.input.prop(
9781                "value",
9782                this.result.from +
9783                  this.options.input_values_separator +
9784                  this.result.to
9785              ),
9786          this.$cache.input.data("from", this.result.from),
9787          this.$cache.input.data("to", this.result.to));
9788    },
9789    callOnStart: function () {
9790      this.writeToInput(),
9791        this.options.onStart &&
9792          "function" == typeof this.options.onStart &&
9793          (this.options.scope
9794            ? this.options.onStart.call(this.options.scope, this.result)
9795            : this.options.onStart(this.result));
9796    },
9797    callOnChange: function () {
9798      this.writeToInput(),
9799        this.options.onChange &&
9800          "function" == typeof this.options.onChange &&
9801          (this.options.scope
9802            ? this.options.onChange.call(this.options.scope, this.result)
9803            : this.options.onChange(this.result));
9804    },
9805    callOnFinish: function () {
9806      this.writeToInput(),
9807        this.options.onFinish &&
9808          "function" == typeof this.options.onFinish &&
9809          (this.options.scope
9810            ? this.options.onFinish.call(this.options.scope, this.result)
9811            : this.options.onFinish(this.result));
9812    },
9813    callOnUpdate: function () {
9814      this.writeToInput(),
9815        this.options.onUpdate &&
9816          "function" == typeof this.options.onUpdate &&
9817          (this.options.scope
9818            ? this.options.onUpdate.call(this.options.scope, this.result)
9819            : this.options.onUpdate(this.result));
9820    },
9821    toggleInput: function () {
9822      this.$cache.input.toggleClass("irs-hidden-input"),
9823        this.has_tab_index
9824          ? this.$cache.input.prop("tabindex", -1)
9825          : this.$cache.input.removeProp("tabindex"),
9826        (this.has_tab_index = !this.has_tab_index);
9827    },
9828    convertToPercent: function (t, i) {
9829      var s,
9830        o = this.options.max - this.options.min,
9831        e = o / 100;
9832      return o
9833        ? ((s = (i ? t : t - this.options.min) / e), this.toFixed(s))
9834        : ((this.no_diapason = !0), 0);
9835    },
9836    convertToValue: function (t) {
9837      var i,
9838        s,
9839        o = this.options.min,
9840        e = this.options.max,
9841        h = o.toString().split(".")[1],
9842        r = e.toString().split(".")[1],
9843        n = 0,
9844        a = 0;
9845      if (0 === t) return this.options.min;
9846      if (100 === t) return this.options.max;
9847      h && (n = i = h.length),
9848        r && (n = s = r.length),
9849        i && s && (n = s <= i ? i : s),
9850        o < 0 &&
9851          ((o = +(o + (a = Math.abs(o))).toFixed(n)),
9852          (e = +(e + a).toFixed(n)));
9853      var c,
9854        l = ((e - o) / 100) * t + o,
9855        _ = this.options.step.toString().split(".")[1];
9856      return (
9857        (l = _
9858          ? +l.toFixed(_.length)
9859          : ((l /= this.options.step), +(l *= this.options.step).toFixed(0))),
9860        a && (l -= a),
9861        (c = _ ? +l.toFixed(_.length) : this.toFixed(l)) < this.options.min
9862          ? (c = this.options.min)
9863          : c > this.options.max && (c = this.options.max),
9864        c
9865      );
9866    },
9867    calcWithStep: function (t) {
9868      var i = Math.round(t / this.coords.p_step) * this.coords.p_step;
9869      return 100 < i && (i = 100), 100 === t && (i = 100), this.toFixed(i);
9870    },
9871    checkMinInterval: function (t, i, s) {
9872      var o,
9873        e,
9874        h = this.options;
9875      return h.min_interval
9876        ? ((o = this.convertToValue(t)),
9877          (e = this.convertToValue(i)),
9878          "from" === s
9879            ? e - o < h.min_interval && (o = e - h.min_interval)
9880            : o - e < h.min_interval && (o = e + h.min_interval),
9881          this.convertToPercent(o))
9882        : t;
9883    },
9884    checkMaxInterval: function (t, i, s) {
9885      var o,
9886        e,
9887        h = this.options;
9888      return h.max_interval
9889        ? ((o = this.convertToValue(t)),
9890          (e = this.convertToValue(i)),
9891          "from" === s
9892            ? e - o > h.max_interval && (o = e - h.max_interval)
9893            : o - e > h.max_interval && (o = e + h.max_interval),
9894          this.convertToPercent(o))
9895        : t;
9896    },
9897    checkDiapason: function (t, i, s) {
9898      var o = this.convertToValue(t),
9899        e = this.options;
9900      return (
9901        "number" != typeof i && (i = e.min),
9902        "number" != typeof s && (s = e.max),
9903        o < i && (o = i),
9904        s < o && (o = s),
9905        this.convertToPercent(o)
9906      );
9907    },
9908    toFixed: function (t) {
9909      return +(t = t.toFixed(20));
9910    },
9911    _prettify: function (t) {
9912      return this.options.prettify_enabled
9913        ? this.options.prettify && "function" == typeof this.options.prettify
9914          ? this.options.prettify(t)
9915          : this.prettify(t)
9916        : t;
9917    },
9918    prettify: function (t) {
9919      return t
9920        .toString()
9921        .replace(
9922          /(\d{1,3}(?=(?:\d\d\d)+(?!\d)))/g,
9923          "$1" + this.options.prettify_separator
9924        );
9925    },
9926    checkEdges: function (t, i) {
9927      return (
9928        this.options.force_edges &&
9929          (t < 0 ? (t = 0) : 100 - i < t && (t = 100 - i)),
9930        this.toFixed(t)
9931      );
9932    },
9933    validate: function () {
9934      var t,
9935        i,
9936        s = this.options,
9937        o = this.result,
9938        e = s.values,
9939        h = e.length;
9940      if (
9941        ("string" == typeof s.min && (s.min = +s.min),
9942        "string" == typeof s.max && (s.max = +s.max),
9943        "string" == typeof s.from && (s.from = +s.from),
9944        "string" == typeof s.to && (s.to = +s.to),
9945        "string" == typeof s.step && (s.step = +s.step),
9946        "string" == typeof s.from_min && (s.from_min = +s.from_min),
9947        "string" == typeof s.from_max && (s.from_max = +s.from_max),
9948        "string" == typeof s.to_min && (s.to_min = +s.to_min),
9949        "string" == typeof s.to_max && (s.to_max = +s.to_max),
9950        "string" == typeof s.grid_num && (s.grid_num = +s.grid_num),
9951        s.max < s.min && (s.max = s.min),
9952        h)
9953      )
9954        for (
9955          s.p_values = [],
9956            s.min = 0,
9957            s.max = h - 1,
9958            s.step = 1,
9959            s.grid_num = s.max,
9960            s.grid_snap = !0,
9961            i = 0;
9962          i < h;
9963          i++
9964        )
9965          (t = +e[i]),
9966            (t = isNaN(t) ? e[i] : ((e[i] = t), this._prettify(t))),
9967            s.p_values.push(t);
9968      ("number" == typeof s.from && !isNaN(s.from)) || (s.from = s.min),
9969        ("number" == typeof s.to && !isNaN(s.to)) || (s.to = s.max),
9970        "single" === s.type
9971          ? (s.from < s.min && (s.from = s.min),
9972            s.from > s.max && (s.from = s.max))
9973          : (s.from < s.min && (s.from = s.min),
9974            s.from > s.max && (s.from = s.max),
9975            s.to < s.min && (s.to = s.min),
9976            s.to > s.max && (s.to = s.max),
9977            this.update_check.from &&
9978              (this.update_check.from !== s.from &&
9979                s.from > s.to &&
9980                (s.from = s.to),
9981              this.update_check.to !== s.to &&
9982                s.to < s.from &&
9983                (s.to = s.from)),
9984            s.from > s.to && (s.from = s.to),
9985            s.to < s.from && (s.to = s.from)),
9986        ("number" != typeof s.step || isNaN(s.step) || !s.step || s.step < 0) &&
9987          (s.step = 1),
9988        "number" == typeof s.from_min &&
9989          s.from < s.from_min &&
9990          (s.from = s.from_min),
9991        "number" == typeof s.from_max &&
9992          s.from > s.from_max &&
9993          (s.from = s.from_max),
9994        "number" == typeof s.to_min && s.to < s.to_min && (s.to = s.to_min),
9995        "number" == typeof s.to_max && s.from > s.to_max && (s.to = s.to_max),
9996        o &&
9997          (o.min !== s.min && (o.min = s.min),
9998          o.max !== s.max && (o.max = s.max),
9999          (o.from < o.min || o.from > o.max) && (o.from = s.from),
10000          (o.to < o.min || o.to > o.max) && (o.to = s.to)),
10001        ("number" != typeof s.min_interval ||
10002          isNaN(s.min_interval) ||
10003          !s.min_interval ||
10004          s.min_interval < 0) &&
10005          (s.min_interval = 0),
10006        ("number" != typeof s.max_interval ||
10007          isNaN(s.max_interval) ||
10008          !s.max_interval ||
10009          s.max_interval < 0) &&
10010          (s.max_interval = 0),
10011        s.min_interval &&
10012          s.min_interval > s.max - s.min &&
10013          (s.min_interval = s.max - s.min),
10014        s.max_interval &&
10015          s.max_interval > s.max - s.min &&
10016          (s.max_interval = s.max - s.min);
10017    },
10018    decorate: function (t, i) {
10019      var s = "",
10020        o = this.options;
10021      return (
10022        o.prefix && (s += o.prefix),
10023        (s += t),
10024        o.max_postfix &&
10025          (o.values.length && t === o.p_values[o.max]
10026            ? ((s += o.max_postfix), o.postfix && (s += " "))
10027            : i === o.max && ((s += o.max_postfix), o.postfix && (s += " "))),
10028        o.postfix && (s += o.postfix),
10029        s
10030      );
10031    },
10032    updateFrom: function () {
10033      (this.result.from = this.options.from),
10034        (this.result.from_percent = this.convertToPercent(this.result.from)),
10035        (this.result.from_pretty = this._prettify(this.result.from)),
10036        this.options.values &&
10037          (this.result.from_value = this.options.values[this.result.from]);
10038    },
10039    updateTo: function () {
10040      (this.result.to = this.options.to),
10041        (this.result.to_percent = this.convertToPercent(this.result.to)),
10042        (this.result.to_pretty = this._prettify(this.result.to)),
10043        this.options.values &&
10044          (this.result.to_value = this.options.values[this.result.to]);
10045    },
10046    updateResult: function () {
10047      (this.result.min = this.options.min),
10048        (this.result.max = this.options.max),
10049        this.updateFrom(),
10050        this.updateTo();
10051    },
10052    appendGrid: function () {
10053      if (this.options.grid) {
10054        var t,
10055          i,
10056          s,
10057          o,
10058          e,
10059          h,
10060          r = this.options,
10061          n = r.max - r.min,
10062          a = r.grid_num,
10063          c = 0,
10064          l = 4,
10065          _ = "";
10066        for (
10067          this.calcGridMargin(),
10068            r.grid_snap && (a = n / r.step),
10069            50 < a && (a = 50),
10070            s = this.toFixed(100 / a),
10071            4 < a && (l = 3),
10072            7 < a && (l = 2),
10073            14 < a && (l = 1),
10074            28 < a && (l = 0),
10075            t = 0;
10076          t < a + 1;
10077          t++
10078        ) {
10079          for (
10080            o = l,
10081              100 < (c = this.toFixed(s * t)) && (c = 100),
10082              e = ((this.coords.big[t] = c) - s * (t - 1)) / (o + 1),
10083              i = 1;
10084            i <= o && 0 !== c;
10085            i++
10086          )
10087            _ +=
10088              '<span class="irs-grid-pol small" style="left: ' +
10089              this.toFixed(c - e * i) +
10090              '%"></span>';
10091          (_ += '<span class="irs-grid-pol" style="left: ' + c + '%"></span>'),
10092            (h = this.convertToValue(c)),
10093            (_ +=
10094              '<span class="irs-grid-text js-grid-text-' +
10095              t +
10096              '" style="left: ' +
10097              c +
10098              '%">' +
10099              (h = r.values.length ? r.p_values[h] : this._prettify(h)) +
10100              "</span>");
10101        }
10102        (this.coords.big_num = Math.ceil(a + 1)),
10103          this.$cache.cont.addClass("irs-with-grid"),
10104          this.$cache.grid.html(_),
10105          this.cacheGridLabels();
10106      }
10107    },
10108    cacheGridLabels: function () {
10109      var t,
10110        i,
10111        s = this.coords.big_num;
10112      for (i = 0; i < s; i++)
10113        (t = this.$cache.grid.find(".js-grid-text-" + i)),
10114          this.$cache.grid_labels.push(t);
10115      this.calcGridLabels();
10116    },
10117    calcGridLabels: function () {
10118      var t,
10119        i,
10120        s = [],
10121        o = [],
10122        e = this.coords.big_num;
10123      for (t = 0; t < e; t++)
10124        (this.coords.big_w[t] = this.$cache.grid_labels[t].outerWidth(!1)),
10125          (this.coords.big_p[t] = this.toFixed(
10126            (this.coords.big_w[t] / this.coords.w_rs) * 100
10127          )),
10128          (this.coords.big_x[t] = this.toFixed(this.coords.big_p[t] / 2)),
10129          (s[t] = this.toFixed(this.coords.big[t] - this.coords.big_x[t])),
10130          (o[t] = this.toFixed(s[t] + this.coords.big_p[t]));
10131      for (
10132        this.options.force_edges &&
10133          (s[0] < -this.coords.grid_gap &&
10134            ((s[0] = -this.coords.grid_gap),
10135            (o[0] = this.toFixed(s[0] + this.coords.big_p[0])),
10136            (this.coords.big_x[0] = this.coords.grid_gap)),
10137          o[e - 1] > 100 + this.coords.grid_gap &&
10138            ((o[e - 1] = 100 + this.coords.grid_gap),
10139            (s[e - 1] = this.toFixed(o[e - 1] - this.coords.big_p[e - 1])),
10140            (this.coords.big_x[e - 1] = this.toFixed(
10141              this.coords.big_p[e - 1] - this.coords.grid_gap
10142            )))),
10143          this.calcGridCollision(2, s, o),
10144          this.calcGridCollision(4, s, o),
10145          t = 0;
10146        t < e;
10147        t++
10148      )
10149        (i = this.$cache.grid_labels[t][0]),
10150          this.coords.big_x[t] !== Number.POSITIVE_INFINITY &&
10151            (i.style.marginLeft = -this.coords.big_x[t] + "%");
10152    },
10153    calcGridCollision: function (t, i, s) {
10154      var o,
10155        e,
10156        h,
10157        r = this.coords.big_num;
10158      for (o = 0; o < r && !(r <= (e = o + t / 2)); o += t)
10159        (h = this.$cache.grid_labels[e][0]),
10160          s[o] <= i[e]
10161            ? (h.style.visibility = "visible")
10162            : (h.style.visibility = "hidden");
10163    },
10164    calcGridMargin: function () {
10165      this.options.grid_margin &&
10166        ((this.coords.w_rs = this.$cache.rs.outerWidth(!1)),
10167        this.coords.w_rs &&
10168          ("single" === this.options.type
10169            ? (this.coords.w_handle = this.$cache.s_single.outerWidth(!1))
10170            : (this.coords.w_handle = this.$cache.s_from.outerWidth(!1)),
10171          (this.coords.p_handle = this.toFixed(
10172            (this.coords.w_handle / this.coords.w_rs) * 100
10173          )),
10174          (this.coords.grid_gap = this.toFixed(this.coords.p_handle / 2 - 0.1)),
10175          (this.$cache.grid[0].style.width =
10176            this.toFixed(100 - this.coords.p_handle) + "%"),
10177          (this.$cache.grid[0].style.left = this.coords.grid_gap + "%")));
10178    },
10179    update: function (t) {
10180      this.input &&
10181        ((this.is_update = !0),
10182        (this.options.from = this.result.from),
10183        (this.options.to = this.result.to),
10184        (this.update_check.from = this.result.from),
10185        (this.update_check.to = this.result.to),
10186        (this.options = a.extend(this.options, t)),
10187        this.validate(),
10188        this.updateResult(t),
10189        this.toggleInput(),
10190        this.remove(),
10191        this.init(!0));
10192    },
10193    reset: function () {
10194      this.input && (this.updateResult(), this.update());
10195    },
10196    destroy: function () {
10197      this.input &&
10198        (this.toggleInput(),
10199        this.$cache.input.prop("readonly", !1),
10200        a.data(this.input, "ionRangeSlider", null),
10201        this.remove(),
10202        (this.input = null),
10203        (this.options = null));
10204    },
10205  }),
10206    (a.fn.ionRangeSlider = function (t) {
10207      return this.each(function () {
10208        a.data(this, "ionRangeSlider") ||
10209          a.data(this, "ionRangeSlider", new h(this, t, o++));
10210      });
10211    }),
10212    (function () {
10213      for (
10214        var h = 0, t = ["ms", "moz", "webkit", "o"], i = 0;
10215        i < t.length && !l.requestAnimationFrame;
10216        ++i
10217      )
10218        (l.requestAnimationFrame = l[t[i] + "RequestAnimationFrame"]),
10219          (l.cancelAnimationFrame =
10220            l[t[i] + "CancelAnimationFrame"] ||
10221            l[t[i] + "CancelRequestAnimationFrame"]);
10222      l.requestAnimationFrame ||
10223        (l.requestAnimationFrame = function (t, i) {
10224          var s = new Date().getTime(),
10225            o = Math.max(0, 16 - (s - h)),
10226            e = l.setTimeout(function () {
10227              t(s + o);
10228            }, o);
10229          return (h = s + o), e;
10230        }),
10231        l.cancelAnimationFrame ||
10232          (l.cancelAnimationFrame = function (t) {
10233            clearTimeout(t);
10234          });
10235    })();
10236});
10237// jquery.daterangepicker.js
10238// author : Chunlong Liu
10239// license : MIT
10240// www.jszen.com
10241
10242(function (factory) {
10243  if (typeof define === "function" && define.amd) {
10244    // AMD. Register as an anonymous module.
10245    define(["jquery", "moment"], factory);
10246  } else if (typeof exports === "object" && typeof module !== "undefined") {
10247    // CommonJS. Register as a module
10248    module.exports = factory(require("jquery"), require("moment"));
10249  } else {
10250    // Browser globals
10251    factory(jQuery, moment);
10252  }
10253})(function ($, moment) {
10254  "use strict";
10255  $.dateRangePickerLanguages = {
10256    //default language: English
10257    default: {
10258      selected: "Selected:",
10259      day: "Day",
10260      days: "Days",
10261      apply: "",
10262      "week-1": "mon",
10263      "week-2": "tue",
10264      "week-3": "wed",
10265      "week-4": "thu",
10266      "week-5": "fri",
10267      "week-6": "sat",
10268      "week-7": "sun",
10269      "week-number": "W",
10270      "month-name": [
10271        "january",
10272        "february",
10273        "march",
10274        "april",
10275        "may",
10276        "june",
10277        "july",
10278        "august",
10279        "september",
10280        "october",
10281        "november",
10282        "december",
10283      ],
10284      shortcuts: "Shortcuts",
10285      "custom-values": "Custom Values",
10286      past: "Past",
10287      following: "Following",
10288      previous: "Previous",
10289      "prev-week": "Week",
10290      "prev-month": "Month",
10291      "prev-year": "Year",
10292      next: "Next",
10293      "next-week": "Week",
10294      "next-month": "Month",
10295      "next-year": "Year",
10296      "less-than": "Date range should not be more than %d days",
10297      "more-than": "Date range should not be less than %d days",
10298      "default-more": "Please select a date range longer than %d days",
10299      "default-single": "Please select a date",
10300      "default-less": "Please select a date range less than %d days",
10301      "default-range": "Please select a date range between %d and %d days",
10302      "default-default": "Please select a date range",
10303      time: "Time",
10304      hour: "Hour",
10305      minute: "Minute",
10306    },
10307    id: {
10308      selected: "Terpilih:",
10309      day: "Hari",
10310      days: "Hari",
10311      apply: "Tutup",
10312      "week-1": "sen",
10313      "week-2": "sel",
10314      "week-3": "rab",
10315      "week-4": "kam",
10316      "week-5": "jum",
10317      "week-6": "sab",
10318      "week-7": "min",
10319      "week-number": "W",
10320      "month-name": [
10321        "januari",
10322        "februari",
10323        "maret",
10324        "april",
10325        "mei",
10326        "juni",
10327        "juli",
10328        "agustus",
10329        "september",
10330        "oktober",
10331        "november",
10332        "desember",
10333      ],
10334      shortcuts: "Pintas",
10335      "custom-values": "Nilai yang ditentukan",
10336      past: "Yang Lalu",
10337      following: "Mengikuti",
10338      previous: "Sebelumnya",
10339      "prev-week": "Minggu",
10340      "prev-month": "Bulan",
10341      "prev-year": "Tahun",
10342      next: "Selanjutnya",
10343      "next-week": "Minggu",
10344      "next-month": "Bulan",
10345      "next-year": "Tahun",
10346      "less-than": "Tanggal harus lebih dari %d hari",
10347      "more-than": "Tanggal harus kurang dari %d hari",
10348      "default-more": "Jarak tanggal harus lebih lama dari %d hari",
10349      "default-single": "Silakan pilih tanggal",
10350      "default-less":
10351        "Jarak rentang tanggal tidak boleh lebih lama dari %d hari",
10352      "default-range": "Rentang tanggal harus antara %d dan %d hari",
10353      "default-default": "Silakan pilih rentang tanggal",
10354      time: "Waktu",
10355      hour: "Jam",
10356      minute: "Menit",
10357    },
10358    az: {
10359      selected: "Seçildi:",
10360      day: " gün",
10361      days: " gün",
10362      apply: "tətbiq",
10363      "week-1": "1",
10364      "week-2": "2",
10365      "week-3": "3",
10366      "week-4": "4",
10367      "week-5": "5",
10368      "week-6": "6",
10369      "week-7": "7",
10370      "month-name": [
10371        "yanvar",
10372        "fevral",
10373        "mart",
10374        "aprel",
10375        "may",
10376        "iyun",
10377        "iyul",
10378        "avqust",
10379        "sentyabr",
10380        "oktyabr",
10381        "noyabr",
10382        "dekabr",
10383      ],
10384      shortcuts: "Qısayollar",
10385      past: "Keçmiş",
10386      following: "Növbəti",
10387      previous: "&nbsp;&nbsp;&nbsp;",
10388      "prev-week": "Öncəki həftə",
10389      "prev-month": "Öncəki ay",
10390      "prev-year": "Öncəki il",
10391      next: "&nbsp;&nbsp;&nbsp;",
10392      "next-week": "Növbəti həftə",
10393      "next-month": "Növbəti ay",
10394      "next-year": "Növbəti il",
10395      "less-than": "Tarix aralığı %d gündən çox olmamalıdır",
10396      "more-than": "Tarix aralığı %d gündən az olmamalıdır",
10397      "default-more": "%d gündən çox bir tarix seçin",
10398      "default-single": "Tarix seçin",
10399      "default-less": "%d gündən az bir tarix seçin",
10400      "default-range": "%d və %d gün aralığında tarixlər seçin",
10401      "default-default": "Tarix aralığı seçin",
10402    },
10403    bg: {
10404      selected: "Избрано:",
10405      day: "Ден",
10406      days: "Дни",
10407      apply: "Затвори",
10408      "week-1": "пн",
10409      "week-2": "вт",
10410      "week-3": "ср",
10411      "week-4": "чт",
10412      "week-5": "пт",
10413      "week-6": "сб",
10414      "week-7": "нд",
10415      "week-number": "С",
10416      "month-name": [
10417        "януари",
10418        "февруари",
10419        "март",
10420        "април",
10421        "май",
10422        "юни",
10423        "юли",
10424        "август",
10425        "септември",
10426        "октомври",
10427        "ноември",
10428        "декември",
10429      ],
10430      shortcuts: "Преки пътища",
10431      "custom-values": "Персонализирани стойности",
10432      past: "Минал",
10433      following: "Следващ",
10434      previous: "Предишен",
10435      "prev-week": "Седмица",
10436      "prev-month": "Месец",
10437      "prev-year": "Година",
10438      next: "Следващ",
10439      "next-week": "Седмица",
10440      "next-month": "Месец",
10441      "next-year": "Година",
10442      "less-than": "Периодът от време не трябва да е повече от %d дни",
10443      "more-than": "Периодът от време не трябва да е по-малко от %d дни",
10444      "default-more": "Моля изберете период по-дълъг от %d дни",
10445      "default-single": "Моля изберете дата",
10446      "default-less": "Моля изберете период по-къс от %d дни",
10447      "default-range": "Моля изберете период между %d и %d дни",
10448      "default-default": "Моля изберете период",
10449      time: "Време",
10450      hour: "Час",
10451      minute: "Минута",
10452    },
10453    //simplified chinese
10454    cn: {
10455      selected: "已选择:",
10456      day: "天",
10457      days: "天",
10458      apply: "确定",
10459      "week-1": "一",
10460      "week-2": "二",
10461      "week-3": "三",
10462      "week-4": "四",
10463      "week-5": "五",
10464      "week-6": "六",
10465      "week-7": "日",
10466      "week-number": "周",
10467      "month-name": [
10468        "一月",
10469        "二月",
10470        "三月",
10471        "四月",
10472        "五月",
10473        "六月",
10474        "七月",
10475        "八月",
10476        "九月",
10477        "十月",
10478        "十一月",
10479        "十二月",
10480      ],
10481      shortcuts: "快捷选择",
10482      past: "过去",
10483      following: "将来",
10484      previous: "&nbsp;&nbsp;&nbsp;",
10485      "prev-week": "上周",
10486      "prev-month": "上个月",
10487      "prev-year": "去年",
10488      next: "&nbsp;&nbsp;&nbsp;",
10489      "next-week": "下周",
10490      "next-month": "下个月",
10491      "next-year": "明年",
10492      "less-than": "所选日期范围不能大于%d天",
10493      "more-than": "所选日期范围不能小于%d天",
10494      "default-more": "请选择大于%d天的日期范围",
10495      "default-less": "请选择小于%d天的日期范围",
10496      "default-range": "请选择%d天到%d天的日期范围",
10497      "default-single": "请选择一个日期",
10498      "default-default": "请选择一个日期范围",
10499      time: "时间",
10500      hour: "小时",
10501      minute: "分钟",
10502    },
10503    cz: {
10504      selected: "Vybráno:",
10505      day: "Den",
10506      days: "Dny",
10507      apply: "Zavřít",
10508      "week-1": "po",
10509      "week-2": "út",
10510      "week-3": "st",
10511      "week-4": "čt",
10512      "week-5": "pá",
10513      "week-6": "so",
10514      "week-7": "ne",
10515      "month-name": [
10516        "leden",
10517        "únor",
10518        "březen",
10519        "duben",
10520        "květen",
10521        "červen",
10522        "červenec",
10523        "srpen",
10524        "září",
10525        "říjen",
10526        "listopad",
10527        "prosinec",
10528      ],
10529      shortcuts: "Zkratky",
10530      past: "po",
10531      following: "následující",
10532      previous: "předchozí",
10533      "prev-week": "týden",
10534      "prev-month": "měsíc",
10535      "prev-year": "rok",
10536      next: "další",
10537      "next-week": "týden",
10538      "next-month": "měsíc",
10539      "next-year": "rok",
10540      "less-than": "Rozsah data by neměl být větší než %d dnů",
10541      "more-than": "Rozsah data by neměl být menší než %d dnů",
10542      "default-more": "Prosím zvolte rozsah data větší než %d dnů",
10543      "default-single": "Prosím zvolte datum",
10544      "default-less": "Prosím zvolte rozsah data menší než %d dnů",
10545      "default-range": "Prosím zvolte rozsah data mezi %d a %d dny",
10546      "default-default": "Prosím zvolte rozsah data",
10547    },
10548    de: {
10549      selected: "Auswahl:",
10550      day: "Tag",
10551      days: "Tage",
10552      apply: "Schließen",
10553      "week-1": "mo",
10554      "week-2": "di",
10555      "week-3": "mi",
10556      "week-4": "do",
10557      "week-5": "fr",
10558      "week-6": "sa",
10559      "week-7": "so",
10560      "month-name": [
10561        "januar",
10562        "februar",
10563        "märz",
10564        "april",
10565        "mai",
10566        "juni",
10567        "juli",
10568        "august",
10569        "september",
10570        "oktober",
10571        "november",
10572        "dezember",
10573      ],
10574      shortcuts: "Schnellwahl",
10575      past: "Vorherige",
10576      following: "Folgende",
10577      previous: "Vorherige",
10578      "prev-week": "Woche",
10579      "prev-month": "Monat",
10580      "prev-year": "Jahr",
10581      next: "Nächste",
10582      "next-week": "Woche",
10583      "next-month": "Monat",
10584      "next-year": "Jahr",
10585      "less-than": "Datumsbereich darf nicht größer sein als %d Tage",
10586      "more-than": "Datumsbereich darf nicht kleiner sein als %d Tage",
10587      "default-more": "Bitte mindestens %d Tage auswählen",
10588      "default-single": "Bitte ein Datum auswählen",
10589      "default-less": "Bitte weniger als %d Tage auswählen",
10590      "default-range":
10591        "Bitte einen Datumsbereich zwischen %d und %d Tagen auswählen",
10592      "default-default": "Bitte ein Start- und Enddatum auswählen",
10593      Time: "Zeit",
10594      hour: "Stunde",
10595      minute: "Minute",
10596    },
10597    es: {
10598      selected: "Seleccionado:",
10599      day: "Día",
10600      days: "Días",
10601      apply: "Cerrar",
10602      "week-1": "lu",
10603      "week-2": "ma",
10604      "week-3": "mi",
10605      "week-4": "ju",
10606      "week-5": "vi",
10607      "week-6": "sa",
10608      "week-7": "do",
10609      "month-name": [
10610        "enero",
10611        "febrero",
10612        "marzo",
10613        "abril",
10614        "mayo",
10615        "junio",
10616        "julio",
10617        "agosto",
10618        "septiembre",
10619        "octubre",
10620        "noviembre",
10621        "diciembre",
10622      ],
10623      shortcuts: "Accesos directos",
10624      past: "Pasado",
10625      following: "Siguiente",
10626      previous: "Anterior",
10627      "prev-week": "Semana",
10628      "prev-month": "Mes",
10629      "prev-year": "Año",
10630      next: "Siguiente",
10631      "next-week": "Semana",
10632      "next-month": "Mes",
10633      "next-year": "Año",
10634      "less-than": "El rango no debería ser mayor de %d días",
10635      "more-than": "El rango no debería ser menor de %d días",
10636      "default-more": "Por favor selecciona un rango mayor a %d días",
10637      "default-single": "Por favor selecciona un día",
10638      "default-less": "Por favor selecciona un rango menor a %d días",
10639      "default-range": "Por favor selecciona un rango entre %d y %d días",
10640      "default-default": "Por favor selecciona un rango de fechas.",
10641    },
10642    fr: {
10643      selected: "Sélection:",
10644      day: "Jour",
10645      days: "Jours",
10646      apply: "Fermer",
10647      "week-1": "lu",
10648      "week-2": "ma",
10649      "week-3": "me",
10650      "week-4": "je",
10651      "week-5": "ve",
10652      "week-6": "sa",
10653      "week-7": "di",
10654      "month-name": [
10655        "janvier",
10656        "février",
10657        "mars",
10658        "avril",
10659        "mai",
10660        "juin",
10661        "juillet",
10662        "août",
10663        "septembre",
10664        "octobre",
10665        "novembre",
10666        "décembre",
10667      ],
10668      shortcuts: "Raccourcis",
10669      past: "Passé",
10670      following: "Suivant",
10671      previous: "Précédent",
10672      "prev-week": "Semaine",
10673      "prev-month": "Mois",
10674      "prev-year": "Année",
10675      next: "Suivant",
10676      "next-week": "Semaine",
10677      "next-month": "Mois",
10678      "next-year": "Année",
10679      "less-than": "L'intervalle ne doit pas être supérieure à %d jours",
10680      "more-than": "L'intervalle ne doit pas être inférieure à %d jours",
10681      "default-more": "Merci de choisir une intervalle supérieure à %d jours",
10682      "default-single": "Merci de choisir une date",
10683      "default-less": "Merci de choisir une intervalle inférieure %d jours",
10684      "default-range":
10685        "Merci de choisir une intervalle comprise entre %d et %d jours",
10686      "default-default": "Merci de choisir une date",
10687    },
10688    hu: {
10689      selected: "Kiválasztva:",
10690      day: "Nap",
10691      days: "Nap",
10692      apply: "Ok",
10693      "week-1": "h",
10694      "week-2": "k",
10695      "week-3": "sz",
10696      "week-4": "cs",
10697      "week-5": "p",
10698      "week-6": "sz",
10699      "week-7": "v",
10700      "month-name": [
10701        "január",
10702        "február",
10703        "március",
10704        "április",
10705        "május",
10706        "június",
10707        "július",
10708        "augusztus",
10709        "szeptember",
10710        "október",
10711        "november",
10712        "december",
10713      ],
10714      shortcuts: "Gyorsválasztó",
10715      past: "Múlt",
10716      following: "Következő",
10717      previous: "Előző",
10718      "prev-week": "Hét",
10719      "prev-month": "Hónap",
10720      "prev-year": "Év",
10721      next: "Következő",
10722      "next-week": "Hét",
10723      "next-month": "Hónap",
10724      "next-year": "Év",
10725      "less-than": "A kiválasztás nem lehet több %d napnál",
10726      "more-than": "A kiválasztás nem lehet több %d napnál",
10727      "default-more": "Válassz ki egy időszakot ami hosszabb mint %d nap",
10728      "default-single": "Válassz egy napot",
10729      "default-less": "Válassz ki egy időszakot ami rövidebb mint %d nap",
10730      "default-range": "Válassz ki egy %d - %d nap hosszú időszakot",
10731      "default-default": "Válassz ki egy időszakot",
10732    },
10733    it: {
10734      selected: "Selezionati:",
10735      day: "Giorno",
10736      days: "Giorni",
10737      apply: "Chiudi",
10738      "week-1": "lu",
10739      "week-2": "ma",
10740      "week-3": "me",
10741      "week-4": "gi",
10742      "week-5": "ve",
10743      "week-6": "sa",
10744      "week-7": "do",
10745      "month-name": [
10746        "gennaio",
10747        "febbraio",
10748        "marzo",
10749        "aprile",
10750        "maggio",
10751        "giugno",
10752        "luglio",
10753        "agosto",
10754        "settembre",
10755        "ottobre",
10756        "novembre",
10757        "dicembre",
10758      ],
10759      shortcuts: "Scorciatoie",
10760      past: "Scorso",
10761      following: "Successivo",
10762      previous: "Precedente",
10763      "prev-week": "Settimana",
10764      "prev-month": "Mese",
10765      "prev-year": "Anno",
10766      next: "Prossimo",
10767      "next-week": "Settimana",
10768      "next-month": "Mese",
10769      "next-year": "Anno",
10770      "less-than": "L'intervallo non dev'essere maggiore di %d giorni",
10771      "more-than": "L'intervallo non dev'essere minore di %d giorni",
10772      "default-more": "Seleziona un intervallo maggiore di %d giorni",
10773      "default-single": "Seleziona una data",
10774      "default-less": "Seleziona un intervallo minore di %d giorni",
10775      "default-range":
10776        "Seleziona un intervallo compreso tra i %d e i %d giorni",
10777      "default-default": "Seleziona un intervallo di date",
10778    },
10779    ko: {
10780      selected: "기간:",
10781      day: "일",
10782      days: "일간",
10783      apply: "닫기",
10784      "week-1": "월",
10785      "week-2": "화",
10786      "week-3": "수",
10787      "week-4": "목",
10788      "week-5": "금",
10789      "week-6": "토",
10790      "week-7": "일",
10791      "week-number": "주",
10792      "month-name": [
10793        "1월",
10794        "2월",
10795        "3월",
10796        "4월",
10797        "5월",
10798        "6월",
10799        "7월",
10800        "8월",
10801        "9월",
10802        "10월",
10803        "11월",
10804        "12월",
10805      ],
10806      shortcuts: "단축키들",
10807      past: "지난(오늘기준)",
10808      following: "이후(오늘기준)",
10809      previous: "이전",
10810      "prev-week": "1주",
10811      "prev-month": "1달",
10812      "prev-year": "1년",
10813      next: "다음",
10814      "next-week": "1주",
10815      "next-month": "1달",
10816      "next-year": "1년",
10817      "less-than": "날짜 범위는 %d 일보다 많을 수 없습니다",
10818      "more-than": "날짜 범위는 %d 일보다 작을 수 없습니다",
10819      "default-more": "날짜 범위를 %d 일보다 길게 선택해 주세요",
10820      "default-single": "날짜를 선택해 주세요",
10821      "default-less": "%d 일보다 작은 날짜를 선택해 주세요",
10822      "default-range": "%d와 %d 일 사이의 날짜 범위를 선택해 주세요",
10823      "default-default": "날짜 범위를 선택해 주세요",
10824      time: "시각",
10825      hour: "시",
10826      minute: "분",
10827    },
10828    no: {
10829      selected: "Valgt:",
10830      day: "Dag",
10831      days: "Dager",
10832      apply: "Lukk",
10833      "week-1": "ma",
10834      "week-2": "ti",
10835      "week-3": "on",
10836      "week-4": "to",
10837      "week-5": "fr",
10838      "week-6": "lø",
10839      "week-7": "sø",
10840      "month-name": [
10841        "januar",
10842        "februar",
10843        "mars",
10844        "april",
10845        "mai",
10846        "juni",
10847        "juli",
10848        "august",
10849        "september",
10850        "oktober",
10851        "november",
10852        "desember",
10853      ],
10854      shortcuts: "Snarveier",
10855      "custom-values": "Egendefinerte Verdier",
10856      past: "Over", // Not quite sure about the context of this one
10857      following: "Følger",
10858      previous: "Forrige",
10859      "prev-week": "Uke",
10860      "prev-month": "MÃ¥ned",
10861      "prev-year": "År",
10862      next: "Neste",
10863      "next-week": "Uke",
10864      "next-month": "MÃ¥ned",
10865      "next-year": "År",
10866      "less-than": "Datoperioden skal ikkje være lengre enn %d dager",
10867      "more-than": "Datoperioden skal ikkje være kortere enn %d dager",
10868      "default-more": "Vennligst velg ein datoperiode lengre enn %d dager",
10869      "default-single": "Vennligst velg ein dato",
10870      "default-less": "Vennligst velg ein datoperiode mindre enn %d dager",
10871      "default-range": "Vennligst velg ein datoperiode mellom %d og %d dager",
10872      "default-default": "Vennligst velg ein datoperiode",
10873      time: "Tid",
10874      hour: "Time",
10875      minute: "Minutter",
10876    },
10877    nl: {
10878      selected: "Geselecteerd:",
10879      day: "Dag",
10880      days: "Dagen",
10881      apply: "Ok",
10882      "week-1": "ma",
10883      "week-2": "di",
10884      "week-3": "wo",
10885      "week-4": "do",
10886      "week-5": "vr",
10887      "week-6": "za",
10888      "week-7": "zo",
10889      "month-name": [
10890        "januari",
10891        "februari",
10892        "maart",
10893        "april",
10894        "mei",
10895        "juni",
10896        "juli",
10897        "augustus",
10898        "september",
10899        "oktober",
10900        "november",
10901        "december",
10902      ],
10903      shortcuts: "Snelkoppelingen",
10904      "custom-values": "Aangepaste waarden",
10905      past: "Verleden",
10906      following: "Komend",
10907      previous: "Vorige",
10908      "prev-week": "Week",
10909      "prev-month": "Maand",
10910      "prev-year": "Jaar",
10911      next: "Volgende",
10912      "next-week": "Week",
10913      "next-month": "Maand",
10914      "next-year": "Jaar",
10915      "less-than": "Interval moet langer dan %d dagen zijn",
10916      "more-than": "Interval mag niet minder dan %d dagen zijn",
10917      "default-more": "Selecteer een interval langer dan %dagen",
10918      "default-single": "Selecteer een datum",
10919      "default-less": "Selecteer een interval minder dan %d dagen",
10920      "default-range": "Selecteer een interval tussen %d en %d dagen",
10921      "default-default": "Selecteer een interval",
10922      time: "Tijd",
10923      hour: "Uur",
10924      minute: "Minuut",
10925    },
10926    ru: {
10927      selected: "Выбрано:",
10928      day: "День",
10929      days: "Дней",
10930      apply: "Применить",
10931      "week-1": "пн",
10932      "week-2": "вт",
10933      "week-3": "ср",
10934      "week-4": "чт",
10935      "week-5": "пт",
10936      "week-6": "сб",
10937      "week-7": "вс",
10938      "month-name": [
10939        "январь",
10940        "февраль",
10941        "март",
10942        "апрель",
10943        "май",
10944        "июнь",
10945        "июль",
10946        "август",
10947        "сентябрь",
10948        "октябрь",
10949        "ноябрь",
10950        "декабрь",
10951      ],
10952      shortcuts: "Быстрый выбор",
10953      "custom-values": "Пользовательские значения",
10954      past: "Прошедшие",
10955      following: "Следующие",
10956      previous: "&nbsp;&nbsp;&nbsp;",
10957      "prev-week": "Неделя",
10958      "prev-month": "Месяц",
10959      "prev-year": "Год",
10960      next: "&nbsp;&nbsp;&nbsp;",
10961      "next-week": "Неделя",
10962      "next-month": "Месяц",
10963      "next-year": "Год",
10964      "less-than": "Диапазон не может быть больше %d дней",
10965      "more-than": "Диапазон не может быть меньше %d дней",
10966      "default-more": "Пожалуйста выберите диапазон больше %d дней",
10967      "default-single": "Пожалуйста выберите дату",
10968      "default-less": "Пожалуйста выберите диапазон меньше %d дней",
10969      "default-range": "Пожалуйста выберите диапазон между %d и %d днями",
10970      "default-default": "Пожалуйста выберите диапазон",
10971      time: "Время",
10972      hour: "Часы",
10973      minute: "Минуты",
10974    },
10975    uk: {
10976      selected: "Вибрано:",
10977      day: "День",
10978      days: "Днів",
10979      apply: "Застосувати",
10980      "week-1": "пн",
10981      "week-2": "вт",
10982      "week-3": "ср",
10983      "week-4": "чт",
10984      "week-5": "пт",
10985      "week-6": "сб",
10986      "week-7": "нд",
10987      "month-name": [
10988        "січень",
10989        "лютий",
10990        "березень",
10991        "квітень",
10992        "травень",
10993        "червень",
10994        "липень",
10995        "серпень",
10996        "вересень",
10997        "жовтень",
10998        "листопад",
10999        "грудень",
11000      ],
11001      shortcuts: "Швидкий вибір",
11002      "custom-values": "Значення користувача",
11003      past: "Минулі",
11004      following: "Наступні",
11005      previous: "&nbsp;&nbsp;&nbsp;",
11006      "prev-week": "Тиждень",
11007      "prev-month": "Місяць",
11008      "prev-year": "Рік",
11009      next: "&nbsp;&nbsp;&nbsp;",
11010      "next-week": "Тиждень",
11011      "next-month": "Місяць",
11012      "next-year": "Рік",
11013      "less-than": "Діапазон не може бути більш ніж %d днів",
11014      "more-than": "Діапазон не може бути меньш ніж %d днів",
11015      "default-more": "Будь ласка виберіть діапазон більше %d днів",
11016      "default-single": "Будь ласка виберіть дату",
11017      "default-less": "Будь ласка виберіть діапазон менше %d днів",
11018      "default-range": "Будь ласка виберіть діапазон між %d та %d днями",
11019      "default-default": "Будь ласка виберіть діапазон",
11020      time: "Час",
11021      hour: "Години",
11022      minute: "Хвилини",
11023    },
11024    pl: {
11025      selected: "Wybrany:",
11026      day: "Dzień",
11027      days: "Dni",
11028      apply: "Zamknij",
11029      "week-1": "pon",
11030      "week-2": "wt",
11031      "week-3": "śr",
11032      "week-4": "czw",
11033      "week-5": "pt",
11034      "week-6": "so",
11035      "week-7": "nd",
11036      "month-name": [
11037        "styczeń",
11038        "luty",
11039        "marzec",
11040        "kwiecień",
11041        "maj",
11042        "czerwiec",
11043        "lipiec",
11044        "sierpień",
11045        "wrzesień",
11046        "październik",
11047        "listopad",
11048        "grudzień",
11049      ],
11050      shortcuts: "Skróty",
11051      "custom-values": "Niestandardowe wartości",
11052      past: "Przeszłe",
11053      following: "Następne",
11054      previous: "Poprzednie",
11055      "prev-week": "tydzień",
11056      "prev-month": "miesiąc",
11057      "prev-year": "rok",
11058      next: "Następny",
11059      "next-week": "tydzień",
11060      "next-month": "miesiąc",
11061      "next-year": "rok",
11062      "less-than": "Okres nie powinien być dłuższy niż %d dni",
11063      "more-than": "Okres nie powinien być krótszy niż  %d ni",
11064      "default-more": "Wybierz okres dłuższy niż %d dni",
11065      "default-single": "Wybierz datę",
11066      "default-less": "Wybierz okres krótszy niż %d dni",
11067      "default-range": "Wybierz okres trwający od %d do %d dni",
11068      "default-default": "Wybierz okres",
11069      time: "Czas",
11070      hour: "Godzina",
11071      minute: "Minuta",
11072    },
11073    se: {
11074      selected: "Vald:",
11075      day: "dag",
11076      days: "dagar",
11077      apply: "godkänn",
11078      "week-1": "ma",
11079      "week-2": "ti",
11080      "week-3": "on",
11081      "week-4": "to",
11082      "week-5": "fr",
11083      "week-6": "lö",
11084      "week-7": "sö",
11085      "month-name": [
11086        "januari",
11087        "februari",
11088        "mars",
11089        "april",
11090        "maj",
11091        "juni",
11092        "juli",
11093        "augusti",
11094        "september",
11095        "oktober",
11096        "november",
11097        "december",
11098      ],
11099      shortcuts: "genvägar",
11100      "custom-values": "Anpassade värden",
11101      past: "över",
11102      following: "följande",
11103      previous: "förra",
11104      "prev-week": "vecka",
11105      "prev-month": "månad",
11106      "prev-year": "Ã¥r",
11107      next: "nästa",
11108      "next-week": "vecka",
11109      "next-month": "måned",
11110      "next-year": "Ã¥r",
11111      "less-than": "Datumintervall bör inte vara mindre än %d dagar",
11112      "more-than": "Datumintervall bör inte vara mer än %d dagar",
11113      "default-more": "Välj ett datumintervall längre än %d dagar",
11114      "default-single": "Välj ett datum",
11115      "default-less": "Välj ett datumintervall mindre än %d dagar",
11116      "default-range": "Välj ett datumintervall mellan %d och %d dagar",
11117      "default-default": "Välj ett datumintervall",
11118      time: "tid",
11119      hour: "timme",
11120      minute: "minut",
11121    },
11122    //Portuguese (European)
11123    pt: {
11124      selected: "Selecionado:",
11125      day: "Dia",
11126      days: "Dias",
11127      apply: "Fechar",
11128      "week-1": "seg",
11129      "week-2": "ter",
11130      "week-3": "qua",
11131      "week-4": "qui",
11132      "week-5": "sex",
11133      "week-6": "sab",
11134      "week-7": "dom",
11135      "week-number": "N",
11136      "month-name": [
11137        "janeiro",
11138        "fevereiro",
11139        "março",
11140        "abril",
11141        "maio",
11142        "junho",
11143        "julho",
11144        "agosto",
11145        "setembro",
11146        "outubro",
11147        "novembro",
11148        "dezembro",
11149      ],
11150      shortcuts: "Atalhos",
11151      "custom-values": "Valores Personalizados",
11152      past: "Passado",
11153      following: "Seguinte",
11154      previous: "Anterior",
11155      "prev-week": "Semana",
11156      "prev-month": "Mês",
11157      "prev-year": "Ano",
11158      next: "Próximo",
11159      "next-week": "Próxima Semana",
11160      "next-month": "Próximo Mês",
11161      "next-year": "Próximo Ano",
11162      "less-than": "O período selecionado não deve ser maior que %d dias",
11163      "more-than": "O período selecionado não deve ser menor que %d dias",
11164      "default-more": "Selecione um período superior a %d dias",
11165      "default-single": "Selecione uma data",
11166      "default-less": "Selecione um período inferior a %d dias",
11167      "default-range": "Selecione um período de %d a %d dias",
11168      "default-default": "Selecione um período",
11169      time: "Tempo",
11170      hour: "Hora",
11171      minute: "Minuto",
11172    },
11173    // traditional chinese
11174    tc: {
11175      selected: "已選擇:",
11176      day: "天",
11177      days: "天",
11178      apply: "確定",
11179      "week-1": "一",
11180      "week-2": "二",
11181      "week-3": "三",
11182      "week-4": "四",
11183      "week-5": "五",
11184      "week-6": "六",
11185      "week-7": "日",
11186      "week-number": "週",
11187      "month-name": [
11188        "一月",
11189        "二月",
11190        "三月",
11191        "四月",
11192        "五月",
11193        "六月",
11194        "七月",
11195        "八月",
11196        "九月",
11197        "十月",
11198        "十一月",
11199        "十二月",
11200      ],
11201      shortcuts: "快速選擇",
11202      past: "過去",
11203      following: "將來",
11204      previous: "&nbsp;&nbsp;&nbsp;",
11205      "prev-week": "上週",
11206      "prev-month": "上個月",
11207      "prev-year": "去年",
11208      next: "&nbsp;&nbsp;&nbsp;",
11209      "next-week": "下週",
11210      "next-month": "下個月",
11211      "next-year": "明年",
11212      "less-than": "所選日期範圍不能大於%d天",
11213      "more-than": "所選日期範圍不能小於%d天",
11214      "default-more": "請選擇大於%d天的日期範圍",
11215      "default-less": "請選擇少於%d天的日期範圍",
11216      "default-range": "請選擇%d天到%d天的日期範圍",
11217      "default-single": "請選擇一個日期",
11218      "default-default": "請選擇一個日期範圍",
11219      time: "日期",
11220      hour: "小時",
11221      minute: "分鐘",
11222    },
11223    ja: {
11224      selected: "選択しました:",
11225      day: "日",
11226      days: "日",
11227      apply: "確定",
11228      "week-1": "月",
11229      "week-2": "火",
11230      "week-3": "æ°´",
11231      "week-4": "木",
11232      "week-5": "金",
11233      "week-6": "土",
11234      "week-7": "日",
11235      "month-name": [
11236        "1月",
11237        "2月",
11238        "3月",
11239        "4月",
11240        "5月",
11241        "6月",
11242        "7月",
11243        "8月",
11244        "9月",
11245        "10月",
11246        "11月",
11247        "12月",
11248      ],
11249      shortcuts: "クイック選択",
11250      past: "過去",
11251      following: "将来",
11252      previous: "&nbsp;&nbsp;&nbsp;",
11253      "prev-week": "先週",
11254      "prev-month": "先月",
11255      "prev-year": "昨年",
11256      next: "&nbsp;&nbsp;&nbsp;",
11257      "next-week": "来週",
11258      "next-month": "来月",
11259      "next-year": "来年",
11260      "less-than": "日付の範囲は%d日以上にすべきではありません",
11261      "more-than": "日付の範囲は%d日を下回ってはいけません",
11262      "default-more": "%d日よりも長い期間を選択してください",
11263      "default-less": "%d日未満の期間を選択してください",
11264      "default-range": "%d日と%d日の間の日付範囲を選択してください",
11265      "default-single": "日付を選択してください",
11266      "default-default": "日付範囲を選択してください",
11267      time: "時間",
11268      hour: "時間",
11269      minute: "分",
11270    },
11271    da: {
11272      selected: "Valgt:",
11273      day: "Dag",
11274      days: "Dage",
11275      apply: "Luk",
11276      "week-1": "ma",
11277      "week-2": "ti",
11278      "week-3": "on",
11279      "week-4": "to",
11280      "week-5": "fr",
11281      "week-6": "lø",
11282      "week-7": "sø",
11283      "month-name": [
11284        "januar",
11285        "februar",
11286        "marts",
11287        "april",
11288        "maj",
11289        "juni",
11290        "juli",
11291        "august",
11292        "september",
11293        "oktober",
11294        "november",
11295        "december",
11296      ],
11297      shortcuts: "genveje",
11298      "custom-values": "Brugerdefinerede værdier",
11299      past: "Forbi",
11300      following: "Følgende",
11301      previous: "Forrige",
11302      "prev-week": "uge",
11303      "prev-month": "måned",
11304      "prev-year": "Ã¥r",
11305      next: "Næste",
11306      "next-week": "uge",
11307      "next-month": "måned",
11308      "next-year": "Ã¥r",
11309      "less-than": "Dato interval bør ikke være med end %d dage",
11310      "more-than": "Dato interval bør ikke være mindre end %d dage",
11311      "default-more": "Vælg datointerval længere end %d dage",
11312      "default-single": "Vælg dato",
11313      "default-less": "Vælg datointerval mindre end %d dage",
11314      "default-range": "Vælg datointerval mellem %d og %d dage",
11315      "default-default": "Vælg datointerval",
11316      time: "tid",
11317      hour: "time",
11318      minute: "minut",
11319    },
11320    // Finnish
11321    fi: {
11322      selected: "Valittu:",
11323      day: "Päivä",
11324      days: "Päivää",
11325      apply: "Sulje",
11326      "week-1": "ma",
11327      "week-2": "ti",
11328      "week-3": "ke",
11329      "week-4": "to",
11330      "week-5": "pe",
11331      "week-6": "la",
11332      "week-7": "su",
11333      "week-number": "V",
11334      "month-name": [
11335        "tammikuu",
11336        "helmikuu",
11337        "maaliskuu",
11338        "huhtikuu",
11339        "toukokuu",
11340        "kesäkuu",
11341        "heinäkuu",
11342        "elokuu",
11343        "syyskuu",
11344        "lokakuu",
11345        "marraskuu",
11346        "joulukuu",
11347      ],
11348      shortcuts: "Pikavalinnat",
11349      "custom-values": "Mukautetut Arvot",
11350      past: "Menneet",
11351      following: "Tulevat",
11352      previous: "Edellinen",
11353      "prev-week": "Viikko",
11354      "prev-month": "Kuukausi",
11355      "prev-year": "Vuosi",
11356      next: "Seuraava",
11357      "next-week": "Viikko",
11358      "next-month": "Kuukausi",
11359      "next-year": "Vuosi",
11360      "less-than": "Aikajakson tulisi olla vähemmän kuin %d päivää",
11361      "more-than": "Aikajakson ei tulisi olla vähempää kuin %d päivää",
11362      "default-more": "Valitse pidempi aikajakso kuin %d päivää",
11363      "default-single": "Valitse päivä",
11364      "default-less": "Valitse lyhyempi aikajakso kuin %d päivää",
11365      "default-range": "Valitse aikajakso %d ja %d päivän väliltä",
11366      "default-default": "Valitse aikajakso",
11367      time: "Aika",
11368      hour: "Tunti",
11369      minute: "Minuutti",
11370    },
11371    // Catala
11372    cat: {
11373      selected: "Seleccionats:",
11374      day: "Dia",
11375      days: "Dies",
11376      apply: "Tanca",
11377      "week-1": "Dl",
11378      "week-2": "Dm",
11379      "week-3": "Dc",
11380      "week-4": "Dj",
11381      "week-5": "Dv",
11382      "week-6": "Ds",
11383      "week-7": "Dg",
11384      "week-number": "S",
11385      "month-name": [
11386        "gener",
11387        "febrer",
11388        "març",
11389        "abril",
11390        "maig",
11391        "juny",
11392        "juliol",
11393        "agost",
11394        "setembre",
11395        "octubre",
11396        "novembre",
11397        "desembre",
11398      ],
11399      shortcuts: "Dreçeres",
11400      "custom-values": "Valors personalitzats",
11401      past: "Passat",
11402      following: "Futur",
11403      previous: "Anterior",
11404      "prev-week": "Setmana",
11405      "prev-month": "Mes",
11406      "prev-year": "Any",
11407      next: "Següent",
11408      "next-week": "Setmana",
11409      "next-month": "Mes",
11410      "next-year": "Any",
11411      "less-than": "El període no hauria de ser de més de %d dies",
11412      "more-than": "El període no hauria de ser de menys de %d dies",
11413      "default-more": "Perfavor selecciona un període més gran de %d dies",
11414      "default-single": "Perfavor selecciona una data",
11415      "default-less": "Perfavor selecciona un període de menys de %d dies",
11416      "default-range": "Perfavor selecciona un període d'entre %d i %d dies",
11417      "default-default": "Perfavor selecciona un període",
11418      time: "Temps",
11419      hour: "Hora",
11420      minute: "Minut",
11421    },
11422    sk: {
11423      selected: "Vybrané:",
11424      day: "Deň",
11425      days: "Dni",
11426      apply: "Zavrieť",
11427      "week-1": "po",
11428      "week-2": "út",
11429      "week-3": "st",
11430      "week-4": "št",
11431      "week-5": "pi",
11432      "week-6": "so",
11433      "week-7": "ne",
11434      "week-number": "T",
11435      "month-name": [
11436        "január",
11437        "február",
11438        "marec",
11439        "apríl",
11440        "máj",
11441        "jún",
11442        "júl",
11443        "august",
11444        "september",
11445        "október",
11446        "november",
11447        "december",
11448      ],
11449      shortcuts: "Skratky",
11450      "custom-values": "Vlastné hodnoty",
11451      past: "po",
11452      following: "nasledujúci",
11453      previous: "predchádzajúci",
11454      "prev-week": "týždeň",
11455      "prev-month": "mesiac",
11456      "prev-year": "rok",
11457      next: "ďalší",
11458      "next-week": "týždeň",
11459      "next-month": "mesiac",
11460      "next-year": "rok",
11461      "less-than": "Rozsah dátumu by nemal byť väčší ako %d dní",
11462      "more-than": "Rozsah dátumu by nemal byť menší ako %d dní",
11463      "default-more": "Prosím zvoľte rozsah dlhší ako %d dní",
11464      "default-single": "Prosím zvoľte dátum",
11465      "default-less": "Prosím zvoľte rozsah menší ako %d dní",
11466      "default-range": "Prosím zvoľte rozsah medzi %d a %d dňami",
11467      "default-default": "Prosím zvoľte rozsah",
11468      time: "Čas",
11469      hour: "Hodina",
11470      minute: "Minúta",
11471    },
11472    tr: {
11473      selected: "Seçildi:",
11474      day: " gün",
11475      days: " gün",
11476      apply: "Uygula",
11477      "week-1": "Pzt",
11478      "week-2": "Sal",
11479      "week-3": "Çar",
11480      "week-4": "Per",
11481      "week-5": "Cuma",
11482      "week-6": "Cmt",
11483      "week-7": "Paz",
11484      "week-number": "H",
11485      "month-name": [
11486        "Ocak",
11487        "Şubat",
11488        "Mart",
11489        "Nisan",
11490        "Mayıs",
11491        "Haziran",
11492        "Temmuz",
11493        "Ağustos",
11494        "Eylül",
11495        "Ekim",
11496        "Kasım",
11497        "Aralık",
11498      ],
11499      shortcuts: "Kısayollar",
11500      "custom-values": "Özel Değerler",
11501      past: "Geçmiş",
11502      following: "Sonraki",
11503      previous: "&nbsp;&nbsp;&nbsp;",
11504      "prev-week": "Önceki Hafta",
11505      "prev-month": "Önceki Ay",
11506      "prev-year": "Öncəki Yıl",
11507      next: "&nbsp;&nbsp;&nbsp;",
11508      "next-week": "Sonraki Hafta",
11509      "next-month": "Sonraki Ay",
11510      "next-year": "Sonraki Yıl",
11511      "less-than": "Tarih aralığı %d günden çok olmamalıdır",
11512      "more-than": "Tarih aralığı %d günden az olmamalıdır",
11513      "default-more": "%d günden çok bir tarih seçin",
11514      "default-single": "Tarih seçin",
11515      "default-less": "%d günden az bir tarih seçin",
11516      "default-range": "%d ve %d gün aralığında tarihler seçin",
11517      "default-default": "Tarih aralığı seçin",
11518      time: "Zaman",
11519      hour: "Saat",
11520      minute: "Dakika",
11521    },
11522  };
11523
11524  $.fn.dateRangePicker = function (opt) {
11525    if (!opt) opt = {};
11526    opt = $.extend(
11527      true,
11528      {
11529        autoClose: false,
11530        format: "YYYY-MM-DD",
11531        separator: " to ",
11532        language: "auto",
11533        startOfWeek: "sunday", // or monday
11534        getValue: function () {
11535          return $(this).val();
11536        },
11537        setValue: function (s) {
11538          if (
11539            !$(this).attr("readonly") &&
11540            !$(this).is(":disabled") &&
11541            s != $(this).val()
11542          ) {
11543            $(this).val(s);
11544          }
11545        },
11546        startDate: false,
11547        endDate: false,
11548        time: {
11549          enabled: false,
11550        },
11551        minDays: 0,
11552        maxDays: 0,
11553        showShortcuts: false,
11554        shortcuts: {
11555          //'prev-days': [1,3,5,7],
11556          // 'next-days': [3,5,7],
11557          //'prev' : ['week','month','year'],
11558          // 'next' : ['week','month','year']
11559        },
11560        customShortcuts: [],
11561        inline: false,
11562        container: "body",
11563        alwaysOpen: false,
11564        singleDate: false,
11565        lookBehind: false,
11566        batchMode: false,
11567        duration: 200,
11568        stickyMonths: false,
11569        dayDivAttrs: [],
11570        dayTdAttrs: [],
11571        selectForward: false,
11572        selectBackward: false,
11573        applyBtnClass: "",
11574        singleMonth: "auto",
11575        hoveringTooltip: function (days, startTime, hoveringTime) {
11576          return days > 1 ? days + " " + translate("days") : "";
11577        },
11578        showTopbar: true,
11579        swapTime: false,
11580        showWeekNumbers: false,
11581        getWeekNumber: function (
11582          date //date will be the first day of a week
11583        ) {
11584          return moment(date).format("w");
11585        },
11586        customOpenAnimation: null,
11587        customCloseAnimation: null,
11588        customArrowPrevSymbol: null,
11589        customArrowNextSymbol: null,
11590        monthSelect: false,
11591        yearSelect: false,
11592      },
11593      opt
11594    );
11595
11596    opt.start = false;
11597    opt.end = false;
11598
11599    opt.startWeek = false;
11600
11601    //detect a touch device
11602    opt.isTouchDevice = "ontouchstart" in window || navigator.msMaxTouchPoints;
11603
11604    //if it is a touch device, hide hovering tooltip
11605    if (opt.isTouchDevice) opt.hoveringTooltip = false;
11606
11607    //show one month on mobile devices
11608    if (opt.singleMonth == "auto") opt.singleMonth = $(window).width() < 480;
11609    if (opt.singleMonth) opt.stickyMonths = false;
11610
11611    if (!opt.showTopbar) opt.autoClose = true;
11612
11613    if (opt.startDate && typeof opt.startDate == "string")
11614      opt.startDate = moment(opt.startDate, opt.format).toDate();
11615    if (opt.endDate && typeof opt.endDate == "string")
11616      opt.endDate = moment(opt.endDate, opt.format).toDate();
11617
11618    if (opt.yearSelect && typeof opt.yearSelect === "boolean") {
11619      opt.yearSelect = function (current) {
11620        return [current - 5, current + 5];
11621      };
11622    }
11623
11624    var languages = getLanguages();
11625    var box;
11626    var initiated = false;
11627    var self = this;
11628    var selfDom = $(self).get(0);
11629    var domChangeTimer;
11630
11631    $(this)
11632      .off(".datepicker")
11633      .on("click.datepicker", function (evt) {
11634        var isOpen = box.is(":visible");
11635        if (!isOpen) open(opt.duration);
11636      })
11637      .on("change.datepicker", function (evt) {
11638        checkAndSetDefaultValue();
11639      })
11640      .on("keyup.datepicker", function () {
11641        try {
11642          clearTimeout(domChangeTimer);
11643        } catch (e) {}
11644        domChangeTimer = setTimeout(function () {
11645          checkAndSetDefaultValue();
11646        }, 2000);
11647      });
11648
11649    init_datepicker.call(this);
11650
11651    if (opt.alwaysOpen) {
11652      open(0);
11653    }
11654
11655    // expose some api
11656    $(this).data("dateRangePicker", {
11657      setStart: function (d1) {
11658        if (typeof d1 == "string") {
11659          d1 = moment(d1, opt.format).toDate();
11660        }
11661
11662        opt.end = false;
11663        setSingleDate(d1);
11664
11665        return this;
11666      },
11667      setEnd: function (d2, silent) {
11668        var start = new Date();
11669        start.setTime(opt.start);
11670        if (typeof d2 == "string") {
11671          d2 = moment(d2, opt.format).toDate();
11672        }
11673        setDateRange(start, d2, silent);
11674        return this;
11675      },
11676      setDateRange: function (d1, d2, silent) {
11677        if (typeof d1 == "string" && typeof d2 == "string") {
11678          d1 = moment(d1, opt.format).toDate();
11679          d2 = moment(d2, opt.format).toDate();
11680        }
11681        setDateRange(d1, d2, silent);
11682      },
11683      clear: clearSelection,
11684      close: closeDatePicker,
11685      open: open,
11686      redraw: redrawDatePicker,
11687      getDatePicker: getDatePicker,
11688      resetMonthsView: resetMonthsView,
11689      destroy: function () {
11690        $(self).off(".datepicker");
11691        $(self).data("dateRangePicker", "");
11692        $(self).data("date-picker-opened", null);
11693        box.remove();
11694        $(window).off("resize.datepicker", calcPosition);
11695        $(document).off("click.datepicker", outsideClickClose);
11696      },
11697    });
11698
11699    $(window).on("resize.datepicker", calcPosition);
11700
11701    return this;
11702
11703    function IsOwnDatePickerClicked(evt, selfObj) {
11704      return (
11705        selfObj.contains(evt.target) ||
11706        evt.target == selfObj ||
11707        (selfObj.childNodes != undefined &&
11708          $.inArray(evt.target, selfObj.childNodes) >= 0)
11709      );
11710    }
11711
11712    function init_datepicker() {
11713      var self = this;
11714
11715      if ($(this).data("date-picker-opened")) {
11716        closeDatePicker();
11717        return;
11718      }
11719      $(this).data("date-picker-opened", true);
11720
11721      box = createDom().hide();
11722      box.append('<div class="date-range-length-tip"></div>');
11723
11724      $(opt.container).append(box);
11725
11726      if (!opt.inline) {
11727        calcPosition();
11728      } else {
11729        box.addClass("inline-wrapper");
11730      }
11731
11732      if (opt.alwaysOpen) {
11733        box.find(".apply-btn").hide();
11734      }
11735
11736      var defaultTime = getDefaultTime();
11737      resetMonthsView(defaultTime);
11738
11739      if (opt.time.enabled) {
11740        if ((opt.startDate && opt.endDate) || (opt.start && opt.end)) {
11741          showTime(moment(opt.start || opt.startDate).toDate(), "time1");
11742          showTime(moment(opt.end || opt.endDate).toDate(), "time2");
11743        } else {
11744          var defaultEndTime = opt.defaultEndTime
11745            ? opt.defaultEndTime
11746            : defaultTime;
11747          showTime(defaultTime, "time1");
11748          showTime(defaultEndTime, "time2");
11749        }
11750      }
11751
11752      //showSelectedInfo();
11753
11754      var defaultTopText = "";
11755      if (opt.singleDate) defaultTopText = translate("default-single");
11756      else if (opt.minDays && opt.maxDays)
11757        defaultTopText = translate("default-range");
11758      else if (opt.minDays) defaultTopText = translate("default-more");
11759      else if (opt.maxDays) defaultTopText = translate("default-less");
11760      else defaultTopText = translate("default-default");
11761
11762      box
11763        .find(".default-top")
11764        .html(
11765          defaultTopText.replace(/\%d/, opt.minDays).replace(/\%d/, opt.maxDays)
11766        );
11767      if (opt.singleMonth) {
11768        box.addClass("single-month");
11769      } else {
11770        box.addClass("two-months");
11771      }
11772
11773      setTimeout(function () {
11774        updateCalendarWidth();
11775        initiated = true;
11776      }, 0);
11777
11778      box.on("click", function (evt) {
11779        evt.stopPropagation();
11780      });
11781
11782      //if user click other place of the webpage, close date range picker window
11783      $(document).on("click.datepicker", outsideClickClose);
11784
11785      box.find(".next").on("click", function () {
11786        if (!opt.stickyMonths) gotoNextMonth(this);
11787        else gotoNextMonth_stickily(this);
11788      });
11789
11790      function gotoNextMonth(self) {
11791        var isMonth2 = $(self).parents("table").hasClass("month2");
11792        var month = isMonth2 ? opt.month2 : opt.month1;
11793        month = nextMonth(month);
11794        if (
11795          (!opt.singleMonth &&
11796            !opt.singleDate &&
11797            !isMonth2 &&
11798            compare_month(month, opt.month2) >= 0) ||
11799          isMonthOutOfBounds(month)
11800        )
11801          return;
11802        showMonth(month, isMonth2 ? "month2" : "month1");
11803        showGap();
11804      }
11805
11806      function gotoNextMonth_stickily(self) {
11807        var nextMonth1 = nextMonth(opt.month1);
11808        var nextMonth2 = nextMonth(opt.month2);
11809        if (isMonthOutOfBounds(nextMonth2)) return;
11810        if (!opt.singleDate && compare_month(nextMonth1, nextMonth2) >= 0)
11811          return;
11812        showMonth(nextMonth1, "month1");
11813        showMonth(nextMonth2, "month2");
11814        showSelectedDays();
11815      }
11816
11817      box.find(".prev").on("click", function () {
11818        if (!opt.stickyMonths) gotoPrevMonth(this);
11819        else gotoPrevMonth_stickily(this);
11820      });
11821
11822      function gotoPrevMonth(self) {
11823        var isMonth2 = $(self).parents("table").hasClass("month2");
11824        var month = isMonth2 ? opt.month2 : opt.month1;
11825        month = prevMonth(month);
11826        if (
11827          (isMonth2 && compare_month(month, opt.month1) <= 0) ||
11828          isMonthOutOfBounds(month)
11829        )
11830          return;
11831        showMonth(month, isMonth2 ? "month2" : "month1");
11832        showGap();
11833      }
11834
11835      function gotoPrevMonth_stickily(self) {
11836        var prevMonth1 = prevMonth(opt.month1);
11837        var prevMonth2 = prevMonth(opt.month2);
11838        if (isMonthOutOfBounds(prevMonth1)) return;
11839        if (!opt.singleDate && compare_month(prevMonth2, prevMonth1) <= 0)
11840          return;
11841        showMonth(prevMonth2, "month2");
11842        showMonth(prevMonth1, "month1");
11843        showSelectedDays();
11844      }
11845
11846      box
11847        .attr("unselectable", "on")
11848        .css("user-select", "none")
11849        .on("selectstart", function (e) {
11850          e.preventDefault();
11851          return false;
11852        });
11853
11854      box.find(".apply-btn").on("click", function () {
11855        closeDatePicker();
11856        var dateRange =
11857          getDateString(new Date(opt.start)) +
11858          opt.separator +
11859          getDateString(new Date(opt.end));
11860        $(self).trigger("datepicker-apply", {
11861          value: dateRange,
11862          date1: new Date(opt.start),
11863          date2: new Date(opt.end),
11864        });
11865      });
11866
11867      box.find("[custom]").on("click", function () {
11868        var valueName = $(this).attr("custom");
11869        opt.start = false;
11870        opt.end = false;
11871        box.find(".day.checked").removeClass("checked");
11872        opt.setValue.call(selfDom, valueName);
11873        checkSelectionValid();
11874        showSelectedInfo(true);
11875        showSelectedDays();
11876        if (opt.autoClose) closeDatePicker();
11877      });
11878
11879      box.find("[shortcut]").on("click", function () {
11880        var shortcut = $(this).attr("shortcut");
11881        var end = new Date(),
11882          start = false;
11883        var dir;
11884        if (shortcut.indexOf("day") != -1) {
11885          var day = parseInt(shortcut.split(",", 2)[1], 10);
11886          start = new Date(new Date().getTime() + 86400000 * day);
11887          end = new Date(end.getTime() + 86400000 * (day > 0 ? 1 : -1));
11888        } else if (shortcut.indexOf("week") != -1) {
11889          dir = shortcut.indexOf("prev,") != -1 ? -1 : 1;
11890          var stopDay;
11891          if (dir == 1) stopDay = opt.startOfWeek == "monday" ? 1 : 0;
11892          else stopDay = opt.startOfWeek == "monday" ? 0 : 6;
11893
11894          end = new Date(end.getTime() - 86400000);
11895          while (end.getDay() != stopDay)
11896            end = new Date(end.getTime() + dir * 86400000);
11897          start = new Date(end.getTime() + dir * 86400000 * 6);
11898        } else if (shortcut.indexOf("month") != -1) {
11899          dir = shortcut.indexOf("prev,") != -1 ? -1 : 1;
11900          if (dir == 1) start = nextMonth(end);
11901          else start = prevMonth(end);
11902          start.setDate(1);
11903          end = nextMonth(start);
11904          end.setDate(1);
11905          end = new Date(end.getTime() - 86400000);
11906        } else if (shortcut.indexOf("year") != -1) {
11907          dir = shortcut.indexOf("prev,") != -1 ? -1 : 1;
11908          start = new Date();
11909          start.setFullYear(end.getFullYear() + dir);
11910          start.setMonth(0);
11911          start.setDate(1);
11912          end.setFullYear(end.getFullYear() + dir);
11913          end.setMonth(11);
11914          end.setDate(31);
11915        } else if (shortcut == "custom") {
11916          var name = $(this).html();
11917          if (opt.customShortcuts && opt.customShortcuts.length > 0) {
11918            for (var i = 0; i < opt.customShortcuts.length; i++) {
11919              var sh = opt.customShortcuts[i];
11920              if (sh.name == name) {
11921                var data = [];
11922                // try
11923                // {
11924                data = sh["dates"].call();
11925                //}catch(e){}
11926                if (data && data.length == 2) {
11927                  start = data[0];
11928                  end = data[1];
11929                }
11930
11931                // if only one date is specified then just move calendars there
11932                // move calendars to show this date's month and next months
11933                if (data && data.length == 1) {
11934                  var movetodate = data[0];
11935                  showMonth(movetodate, "month1");
11936                  showMonth(nextMonth(movetodate), "month2");
11937                  showGap();
11938                }
11939
11940                break;
11941              }
11942            }
11943          }
11944        }
11945        if (start && end) {
11946          setDateRange(start, end);
11947          checkSelectionValid();
11948        }
11949      });
11950
11951      box.find(".time1 input[type=range]").on("change touchmove", function (e) {
11952        var target = e.target,
11953          hour =
11954            target.name == "hour"
11955              ? $(target)
11956                  .val()
11957                  .replace(/^(\d{1})$/, "0$1")
11958              : undefined,
11959          min =
11960            target.name == "minute"
11961              ? $(target)
11962                  .val()
11963                  .replace(/^(\d{1})$/, "0$1")
11964              : undefined;
11965        setTime("time1", hour, min);
11966      });
11967
11968      box.find(".time2 input[type=range]").on("change touchmove", function (e) {
11969        var target = e.target,
11970          hour =
11971            target.name == "hour"
11972              ? $(target)
11973                  .val()
11974                  .replace(/^(\d{1})$/, "0$1")
11975              : undefined,
11976          min =
11977            target.name == "minute"
11978              ? $(target)
11979                  .val()
11980                  .replace(/^(\d{1})$/, "0$1")
11981              : undefined;
11982        setTime("time2", hour, min);
11983      });
11984    }
11985
11986    function calcPosition() {
11987      if (!opt.inline) {
11988        var offset = $(self).offset();
11989        if ($(opt.container).css("position") == "relative") {
11990          var containerOffset = $(opt.container).offset();
11991          var leftIndent = Math.max(
11992            0,
11993            offset.left + box.outerWidth() - $("body").width() + 16
11994          );
11995          box.css({
11996            top: offset.top - containerOffset.top + $(self).outerHeight() + 4,
11997            left: offset.left - containerOffset.left - leftIndent,
11998          });
11999        } else {
12000          if (offset.left < 460) {
12001            //left to right
12002            box.css({
12003              top:
12004                offset.top +
12005                $(self).outerHeight() +
12006                parseInt($("body").css("border-top") || 0, 10),
12007              left: offset.left,
12008            });
12009          } else {
12010            box.css({
12011              top:
12012                offset.top +
12013                $(self).outerHeight() +
12014                parseInt($("body").css("border-top") || 0, 10),
12015              left: offset.left + $(self).width() - box.width() - 16,
12016            });
12017          }
12018        }
12019      }
12020    }
12021
12022    // Return the date picker wrapper element
12023    function getDatePicker() {
12024      return box;
12025    }
12026
12027    function open(animationTime) {
12028      redrawDatePicker();
12029      checkAndSetDefaultValue();
12030      if (opt.customOpenAnimation) {
12031        opt.customOpenAnimation.call(box.get(0), function () {
12032          $(self).trigger("datepicker-opened", {
12033            relatedTarget: box,
12034          });
12035        });
12036      } else {
12037        box.slideDown(animationTime, function () {
12038          $(self).trigger("datepicker-opened", {
12039            relatedTarget: box,
12040          });
12041        });
12042      }
12043      $(self).trigger("datepicker-open", {
12044        relatedTarget: box,
12045      });
12046      showGap();
12047      updateCalendarWidth();
12048      calcPosition();
12049    }
12050
12051    function checkAndSetDefaultValue() {
12052      var __default_string = opt.getValue.call(selfDom);
12053      var defaults = __default_string
12054        ? __default_string.split(opt.separator)
12055        : "";
12056
12057      if (
12058        defaults &&
12059        ((defaults.length == 1 && opt.singleDate) || defaults.length >= 2)
12060      ) {
12061        var ___format = opt.format;
12062        if (___format.match(/Do/)) {
12063          ___format = ___format.replace(/Do/, "D");
12064          defaults[0] = defaults[0].replace(/(\d+)(th|nd|st)/, "$1");
12065          if (defaults.length >= 2) {
12066            defaults[1] = defaults[1].replace(/(\d+)(th|nd|st)/, "$1");
12067          }
12068        }
12069        // set initiated  to avoid triggerring datepicker-change event
12070        initiated = false;
12071        if (defaults.length >= 2) {
12072          setDateRange(
12073            getValidValue(defaults[0], ___format, moment.locale(opt.language)),
12074            getValidValue(defaults[1], ___format, moment.locale(opt.language))
12075          );
12076        } else if (defaults.length == 1 && opt.singleDate) {
12077          setSingleDate(
12078            getValidValue(defaults[0], ___format, moment.locale(opt.language))
12079          );
12080        }
12081
12082        initiated = true;
12083      }
12084    }
12085
12086    function getValidValue(date, format, locale) {
12087      if (moment(date, format, locale).isValid()) {
12088        return moment(date, format, locale).toDate();
12089      } else {
12090        return moment().toDate();
12091      }
12092    }
12093
12094    function updateCalendarWidth() {
12095      var gapMargin = box.find(".gap").css("margin-left");
12096      if (gapMargin) gapMargin = parseInt(gapMargin);
12097      var w1 = box.find(".month1").width();
12098      var w2 = box.find(".gap").width() + (gapMargin ? gapMargin * 2 : 0);
12099      var w3 = box.find(".month2").width();
12100      box.find(".month-wrapper").width(w1 + w2 + w3);
12101    }
12102
12103    function renderTime(name, date) {
12104      box
12105        .find("." + name + " input[type=range].hour-range")
12106        .val(moment(date).hours());
12107      box
12108        .find("." + name + " input[type=range].minute-range")
12109        .val(moment(date).minutes());
12110      setTime(name, moment(date).format("HH"), moment(date).format("mm"));
12111    }
12112
12113    function changeTime(name, date) {
12114      opt[name] = parseInt(
12115        moment(parseInt(date))
12116          .hour(moment(opt[name + "Time"]).format("HH"), "h")
12117          .minute(moment(opt[name + "Time"]).format("mm"), "m")
12118          .valueOf()
12119      );
12120    }
12121
12122    function swapTime() {
12123      renderTime("time1", opt.start);
12124      renderTime("time2", opt.end);
12125    }
12126
12127    function setTime(name, hour, minute) {
12128      hour && box.find("." + name + " .hour-val").text(hour);
12129      minute && box.find("." + name + " .minute-val").text(minute);
12130      switch (name) {
12131        case "time1":
12132          if (opt.start) {
12133            setRange("start", moment(opt.start));
12134          }
12135          setRange("startTime", moment(opt.startTime || moment().valueOf()));
12136          break;
12137        case "time2":
12138          if (opt.end) {
12139            setRange("end", moment(opt.end));
12140          }
12141          setRange("endTime", moment(opt.endTime || moment().valueOf()));
12142          break;
12143      }
12144
12145      function setRange(name, timePoint) {
12146        var h = timePoint.format("HH"),
12147          m = timePoint.format("mm");
12148        opt[name] = timePoint
12149          .hour(hour || h, "h")
12150          .minute(minute || m, "m")
12151          .valueOf();
12152      }
12153      checkSelectionValid();
12154      showSelectedInfo();
12155      showSelectedDays();
12156    }
12157
12158    function clearSelection() {
12159      opt.start = false;
12160      opt.end = false;
12161      box.find(".day.checked").removeClass("checked");
12162      box.find(".day.last-date-selected").removeClass("last-date-selected");
12163      box.find(".day.first-date-selected").removeClass("first-date-selected");
12164      opt.setValue.call(selfDom, "");
12165      checkSelectionValid();
12166      showSelectedInfo();
12167      showSelectedDays();
12168    }
12169
12170    function handleStart(time) {
12171      var r = time;
12172      if (opt.batchMode === "week-range") {
12173        if (opt.startOfWeek === "monday") {
12174          r = moment(parseInt(time)).startOf("isoweek").valueOf();
12175        } else {
12176          r = moment(parseInt(time)).startOf("week").valueOf();
12177        }
12178      } else if (opt.batchMode === "month-range") {
12179        r = moment(parseInt(time)).startOf("month").valueOf();
12180      }
12181      return r;
12182    }
12183
12184    function handleEnd(time) {
12185      var r = time;
12186      if (opt.batchMode === "week-range") {
12187        if (opt.startOfWeek === "monday") {
12188          r = moment(parseInt(time)).endOf("isoweek").valueOf();
12189        } else {
12190          r = moment(parseInt(time)).endOf("week").valueOf();
12191        }
12192      } else if (opt.batchMode === "month-range") {
12193        r = moment(parseInt(time)).endOf("month").valueOf();
12194      }
12195      return r;
12196    }
12197
12198    function dayClicked(day) {
12199      if (day.hasClass("invalid")) return;
12200      var time = day.attr("time");
12201      day.addClass("checked");
12202      if (opt.singleDate) {
12203        opt.start = time;
12204        opt.end = false;
12205      } else if (opt.batchMode === "week") {
12206        if (opt.startOfWeek === "monday") {
12207          opt.start = moment(parseInt(time)).startOf("isoweek").valueOf();
12208          opt.end = moment(parseInt(time)).endOf("isoweek").valueOf();
12209        } else {
12210          opt.end = moment(parseInt(time)).endOf("week").valueOf();
12211          opt.start = moment(parseInt(time)).startOf("week").valueOf();
12212        }
12213      } else if (opt.batchMode === "workweek") {
12214        opt.start = moment(parseInt(time)).day(1).valueOf();
12215        opt.end = moment(parseInt(time)).day(5).valueOf();
12216      } else if (opt.batchMode === "weekend") {
12217        opt.start = moment(parseInt(time)).day(6).valueOf();
12218        opt.end = moment(parseInt(time)).day(7).valueOf();
12219      } else if (opt.batchMode === "month") {
12220        opt.start = moment(parseInt(time)).startOf("month").valueOf();
12221        opt.end = moment(parseInt(time)).endOf("month").valueOf();
12222      } else if ((opt.start && opt.end) || (!opt.start && !opt.end)) {
12223        opt.start = handleStart(time);
12224        opt.end = false;
12225      } else if (opt.start) {
12226        opt.end = handleEnd(time);
12227        if (opt.time.enabled) {
12228          changeTime("end", opt.end);
12229        }
12230      }
12231
12232      //Update time in case it is enabled and timestamps are available
12233      if (opt.time.enabled) {
12234        if (opt.start) {
12235          changeTime("start", opt.start);
12236        }
12237        if (opt.end) {
12238          changeTime("end", opt.end);
12239        }
12240      }
12241
12242      //In case the start is after the end, swap the timestamps
12243      if (!opt.singleDate && opt.start && opt.end && opt.start > opt.end) {
12244        var tmp = opt.end;
12245        opt.end = handleEnd(opt.start);
12246        opt.start = handleStart(tmp);
12247        if (opt.time.enabled && opt.swapTime) {
12248          swapTime();
12249        }
12250      }
12251
12252      opt.start = parseInt(opt.start);
12253      opt.end = parseInt(opt.end);
12254
12255      clearHovering();
12256      if (opt.start && !opt.end) {
12257        $(self).trigger("datepicker-first-date-selected", {
12258          date1: new Date(opt.start),
12259        });
12260        dayHovering(day);
12261      }
12262      updateSelectableRange(time);
12263
12264      checkSelectionValid();
12265      showSelectedInfo();
12266      showSelectedDays();
12267      autoclose();
12268    }
12269
12270    function weekNumberClicked(weekNumberDom) {
12271      var thisTime = parseInt(weekNumberDom.attr("data-start-time"), 10);
12272      var date1, date2;
12273      if (!opt.startWeek) {
12274        opt.startWeek = thisTime;
12275        weekNumberDom.addClass("week-number-selected");
12276        date1 = new Date(thisTime);
12277        opt.start = moment(date1)
12278          .day(opt.startOfWeek == "monday" ? 1 : 0)
12279          .valueOf();
12280        opt.end = moment(date1)
12281          .day(opt.startOfWeek == "monday" ? 7 : 6)
12282          .valueOf();
12283      } else {
12284        box.find(".week-number-selected").removeClass("week-number-selected");
12285        date1 = new Date(thisTime < opt.startWeek ? thisTime : opt.startWeek);
12286        date2 = new Date(thisTime < opt.startWeek ? opt.startWeek : thisTime);
12287        opt.startWeek = false;
12288        opt.start = moment(date1)
12289          .day(opt.startOfWeek == "monday" ? 1 : 0)
12290          .valueOf();
12291        opt.end = moment(date2)
12292          .day(opt.startOfWeek == "monday" ? 7 : 6)
12293          .valueOf();
12294      }
12295      updateSelectableRange();
12296      checkSelectionValid();
12297      showSelectedInfo();
12298      showSelectedDays();
12299      autoclose();
12300    }
12301
12302    function isValidTime(time) {
12303      time = parseInt(time, 10);
12304      if (opt.startDate && compare_day(time, opt.startDate) < 0) return false;
12305      if (opt.endDate && compare_day(time, opt.endDate) > 0) return false;
12306
12307      if (opt.start && !opt.end && !opt.singleDate) {
12308        //check maxDays and minDays setting
12309        if (opt.maxDays > 0 && countDays(time, opt.start) > opt.maxDays)
12310          return false;
12311        if (opt.minDays > 0 && countDays(time, opt.start) < opt.minDays)
12312          return false;
12313
12314        //check selectForward and selectBackward
12315        if (opt.selectForward && time < opt.start) return false;
12316        if (opt.selectBackward && time > opt.start) return false;
12317
12318        //check disabled days
12319        if (opt.beforeShowDay && typeof opt.beforeShowDay == "function") {
12320          var valid = true;
12321          var timeTmp = time;
12322          while (countDays(timeTmp, opt.start) > 1) {
12323            var arr = opt.beforeShowDay(new Date(timeTmp));
12324            if (!arr[0]) {
12325              valid = false;
12326              break;
12327            }
12328            if (Math.abs(timeTmp - opt.start) < 86400000) break;
12329            if (timeTmp > opt.start) timeTmp -= 86400000;
12330            if (timeTmp < opt.start) timeTmp += 86400000;
12331          }
12332          if (!valid) return false;
12333        }
12334      }
12335      return true;
12336    }
12337
12338    function updateSelectableRange() {
12339      box.find(".day.invalid.tmp").removeClass("tmp invalid").addClass("valid");
12340      if (opt.start && !opt.end) {
12341        box.find(".day.toMonth.valid").each(function () {
12342          var time = parseInt($(this).attr("time"), 10);
12343          if (!isValidTime(time))
12344            $(this).addClass("invalid tmp").removeClass("valid");
12345          else $(this).addClass("valid tmp").removeClass("invalid");
12346        });
12347      }
12348
12349      return true;
12350    }
12351
12352    function dayHovering(day) {
12353      var hoverTime = parseInt(day.attr("time"));
12354      var tooltip = "";
12355
12356      if (day.hasClass("has-tooltip") && day.attr("data-tooltip")) {
12357        tooltip =
12358          '<span class="tooltip-content">' +
12359          day.attr("data-tooltip") +
12360          "</span>";
12361      } else if (!day.hasClass("invalid")) {
12362        if (opt.singleDate) {
12363          box.find(".day.hovering").removeClass("hovering");
12364          day.addClass("hovering");
12365        } else {
12366          box.find(".day").each(function () {
12367            var time = parseInt($(this).attr("time")),
12368              start = opt.start,
12369              end = opt.end;
12370
12371            if (time == hoverTime) {
12372              $(this).addClass("hovering");
12373            } else {
12374              $(this).removeClass("hovering");
12375            }
12376
12377            if (
12378              opt.start &&
12379              !opt.end &&
12380              ((opt.start < time && hoverTime >= time) ||
12381                (opt.start > time && hoverTime <= time))
12382            ) {
12383              $(this).addClass("hovering");
12384            } else {
12385              $(this).removeClass("hovering");
12386            }
12387          });
12388
12389          if (opt.start && !opt.end) {
12390            var days = countDays(hoverTime, opt.start);
12391            if (opt.hoveringTooltip) {
12392              if (typeof opt.hoveringTooltip == "function") {
12393                tooltip = opt.hoveringTooltip(days, opt.start, hoverTime);
12394              } else if (opt.hoveringTooltip === true && days > 1) {
12395                tooltip = days + " " + translate("days");
12396              }
12397            }
12398          }
12399        }
12400      }
12401
12402      if (tooltip) {
12403        var posDay = day.offset();
12404        var posBox = box.offset();
12405
12406        var _left = posDay.left - posBox.left;
12407        var _top = posDay.top - posBox.top;
12408        _left += day.width() / 2;
12409
12410        var $tip = box.find(".date-range-length-tip");
12411        var w = $tip
12412          .css({
12413            visibility: "hidden",
12414            display: "none",
12415          })
12416          .html(tooltip)
12417          .width();
12418        var h = $tip.height();
12419        _left -= w / 2;
12420        _top -= h;
12421        setTimeout(function () {
12422          $tip.css({
12423            left: _left,
12424            top: _top,
12425            display: "block",
12426            visibility: "visible",
12427          });
12428        }, 10);
12429      } else {
12430        box.find(".date-range-length-tip").hide();
12431      }
12432    }
12433
12434    function clearHovering() {
12435      box.find(".day.hovering").removeClass("hovering");
12436      box.find(".date-range-length-tip").hide();
12437    }
12438
12439    function dateChanged(date) {
12440      var value = date.val();
12441      var name = date.attr("name");
12442      var type = date.parents("table").hasClass("month1") ? "month1" : "month2";
12443      var oppositeType = type === "month1" ? "month2" : "month1";
12444      var startDate = opt.startDate ? moment(opt.startDate) : false;
12445      var endDate = opt.endDate ? moment(opt.endDate) : false;
12446      var newDate = moment(opt[type])[name](value);
12447
12448      if (startDate && newDate.isSameOrBefore(startDate)) {
12449        newDate = startDate.add(type === "month2" ? 1 : 0, "month");
12450      }
12451
12452      if (endDate && newDate.isSameOrAfter(endDate)) {
12453        newDate = endDate.add(
12454          !opt.singleMonth && type === "month1" ? -1 : 0,
12455          "month"
12456        );
12457      }
12458
12459      showMonth(newDate, type);
12460
12461      if (type === "month1") {
12462        if (
12463          opt.stickyMonths ||
12464          moment(newDate).isSameOrAfter(opt[oppositeType], "month")
12465        ) {
12466          showMonth(moment(newDate).add(1, "month"), oppositeType);
12467        }
12468      } else {
12469        if (
12470          opt.stickyMonths ||
12471          moment(newDate).isSameOrBefore(opt[oppositeType], "month")
12472        ) {
12473          showMonth(moment(newDate).add(-1, "month"), oppositeType);
12474        }
12475      }
12476
12477      showGap();
12478    }
12479
12480    function autoclose() {
12481      if (opt.singleDate === true) {
12482        if (initiated && opt.start) {
12483          if (opt.autoClose) closeDatePicker();
12484        }
12485      } else {
12486        if (initiated && opt.start && opt.end) {
12487          if (opt.autoClose) closeDatePicker();
12488        }
12489      }
12490    }
12491
12492    function checkSelectionValid() {
12493      var days = Math.ceil((opt.end - opt.start) / 86400000) + 1;
12494      if (opt.singleDate) {
12495        // Validate if only start is there
12496        if (opt.start && !opt.end)
12497          box.find(".drp_top-bar").removeClass("error").addClass("normal");
12498        else
12499          box.find(".drp_top-bar").removeClass("error").removeClass("normal");
12500      } else if (opt.maxDays && days > opt.maxDays) {
12501        opt.start = false;
12502        opt.end = false;
12503        box.find(".day").removeClass("checked");
12504        box
12505          .find(".drp_top-bar")
12506          .removeClass("normal")
12507          .addClass("error")
12508          .find(".error-top")
12509          .html(translate("less-than").replace("%d", opt.maxDays));
12510      } else if (opt.minDays && days < opt.minDays) {
12511        opt.start = false;
12512        opt.end = false;
12513        box.find(".day").removeClass("checked");
12514        box
12515          .find(".drp_top-bar")
12516          .removeClass("normal")
12517          .addClass("error")
12518          .find(".error-top")
12519          .html(translate("more-than").replace("%d", opt.minDays));
12520      } else {
12521        if (opt.start || opt.end)
12522          box.find(".drp_top-bar").removeClass("error").addClass("normal");
12523        else
12524          box.find(".drp_top-bar").removeClass("error").removeClass("normal");
12525      }
12526
12527      if (
12528        (opt.singleDate && opt.start && !opt.end) ||
12529        (!opt.singleDate && opt.start && opt.end)
12530      ) {
12531        box.find(".apply-btn").removeClass("disabled");
12532      } else {
12533        box.find(".apply-btn").addClass("disabled");
12534      }
12535
12536      if (opt.batchMode) {
12537        if (
12538          (opt.start &&
12539            opt.startDate &&
12540            compare_day(opt.start, opt.startDate) < 0) ||
12541          (opt.end && opt.endDate && compare_day(opt.end, opt.endDate) > 0)
12542        ) {
12543          opt.start = false;
12544          opt.end = false;
12545          box.find(".day").removeClass("checked");
12546        }
12547      }
12548    }
12549
12550    function showSelectedInfo(forceValid, silent) {
12551      box.find(".start-day").html("...");
12552      box.find(".end-day").html("...");
12553      box.find(".selected-days").hide();
12554      if (opt.start) {
12555        box
12556          .find(".start-day")
12557          .html(getDateString(new Date(parseInt(opt.start))));
12558      }
12559      if (opt.end) {
12560        box.find(".end-day").html(getDateString(new Date(parseInt(opt.end))));
12561      }
12562      var dateRange;
12563      if (opt.start && opt.singleDate) {
12564        box.find(".apply-btn").removeClass("disabled");
12565        dateRange = getDateString(new Date(opt.start));
12566        opt.setValue.call(
12567          selfDom,
12568          dateRange,
12569          getDateString(new Date(opt.start)),
12570          getDateString(new Date(opt.end))
12571        );
12572
12573        if (initiated && !silent) {
12574          $(self).trigger("datepicker-change", {
12575            value: dateRange,
12576            date1: new Date(opt.start),
12577          });
12578        }
12579      } else if (opt.start && opt.end) {
12580        box
12581          .find(".selected-days")
12582          .show()
12583          .find(".selected-days-num")
12584          .html(countDays(opt.end, opt.start));
12585        box.find(".apply-btn").removeClass("disabled");
12586        dateRange =
12587          getDateString(new Date(opt.start)) +
12588          opt.separator +
12589          getDateString(new Date(opt.end));
12590        opt.setValue.call(
12591          selfDom,
12592          dateRange,
12593          getDateString(new Date(opt.start)),
12594          getDateString(new Date(opt.end))
12595        );
12596        if (initiated && !silent) {
12597          $(self).trigger("datepicker-change", {
12598            value: dateRange,
12599            date1: new Date(opt.start),
12600            date2: new Date(opt.end),
12601          });
12602        }
12603      } else if (forceValid) {
12604        box.find(".apply-btn").removeClass("disabled");
12605      } else {
12606        box.find(".apply-btn").addClass("disabled");
12607      }
12608    }
12609
12610    function countDays(start, end) {
12611      return Math.abs(moment(start).diff(moment(end), "d")) + 1;
12612    }
12613
12614    function setDateRange(date1, date2, silent) {
12615      if (date1.getTime() > date2.getTime()) {
12616        var tmp = date2;
12617        date2 = date1;
12618        date1 = tmp;
12619        tmp = null;
12620      }
12621      var valid = true;
12622      if (opt.startDate && compare_day(date1, opt.startDate) < 0) valid = false;
12623      if (opt.endDate && compare_day(date2, opt.endDate) > 0) valid = false;
12624      if (!valid) {
12625        showMonth(opt.startDate, "month1");
12626        showMonth(nextMonth(opt.startDate), "month2");
12627        showGap();
12628        return;
12629      }
12630
12631      opt.start = date1.getTime();
12632      opt.end = date2.getTime();
12633
12634      if (opt.time.enabled) {
12635        renderTime("time1", date1);
12636        renderTime("time2", date2);
12637      }
12638
12639      if (
12640        opt.stickyMonths ||
12641        (compare_day(date1, date2) > 0 && compare_month(date1, date2) === 0)
12642      ) {
12643        if (opt.lookBehind) {
12644          date1 = prevMonth(date2);
12645        } else {
12646          date2 = nextMonth(date1);
12647        }
12648      }
12649
12650      if (
12651        opt.stickyMonths &&
12652        opt.endDate !== false &&
12653        compare_month(date2, opt.endDate) > 0
12654      ) {
12655        date1 = prevMonth(date1);
12656        date2 = prevMonth(date2);
12657      }
12658
12659      if (!opt.stickyMonths) {
12660        if (compare_month(date1, date2) === 0) {
12661          if (opt.lookBehind) {
12662            date1 = prevMonth(date2);
12663          } else {
12664            date2 = nextMonth(date1);
12665          }
12666        }
12667      }
12668
12669      showMonth(date1, "month1");
12670      showMonth(date2, "month2");
12671      showGap();
12672      checkSelectionValid();
12673      showSelectedInfo(false, silent);
12674      autoclose();
12675    }
12676
12677    function setSingleDate(date1) {
12678      var valid = true;
12679      if (opt.startDate && compare_day(date1, opt.startDate) < 0) valid = false;
12680      if (opt.endDate && compare_day(date1, opt.endDate) > 0) valid = false;
12681      if (!valid) {
12682        showMonth(opt.startDate, "month1");
12683        return;
12684      }
12685
12686      opt.start = date1.getTime();
12687
12688      if (opt.time.enabled) {
12689        renderTime("time1", date1);
12690      }
12691      showMonth(date1, "month1");
12692      if (opt.singleMonth !== true) {
12693        var date2 = nextMonth(date1);
12694        showMonth(date2, "month2");
12695      }
12696      showGap();
12697      showSelectedInfo();
12698      autoclose();
12699    }
12700
12701    function showSelectedDays() {
12702      if (!opt.start && !opt.end) return;
12703      box.find(".day").each(function () {
12704        var time = parseInt($(this).attr("time")),
12705          start = opt.start,
12706          end = opt.end;
12707        if (opt.time.enabled) {
12708          time = moment(time).startOf("day").valueOf();
12709          start = moment(start || moment().valueOf())
12710            .startOf("day")
12711            .valueOf();
12712          end = moment(end || moment().valueOf())
12713            .startOf("day")
12714            .valueOf();
12715        }
12716        if (
12717          (opt.start && opt.end && end >= time && start <= time) ||
12718          (opt.start &&
12719            !opt.end &&
12720            moment(start).format("YYYY-MM-DD") ==
12721              moment(time).format("YYYY-MM-DD"))
12722        ) {
12723          $(this).addClass("checked");
12724        } else {
12725          $(this).removeClass("checked");
12726        }
12727
12728        //add first-date-selected class name to the first date selected
12729        if (
12730          opt.start &&
12731          moment(start).format("YYYY-MM-DD") ==
12732            moment(time).format("YYYY-MM-DD")
12733        ) {
12734          $(this).addClass("first-date-selected");
12735        } else {
12736          $(this).removeClass("first-date-selected");
12737        }
12738        //add last-date-selected
12739        if (
12740          opt.end &&
12741          moment(end).format("YYYY-MM-DD") == moment(time).format("YYYY-MM-DD")
12742        ) {
12743          $(this).addClass("last-date-selected");
12744        } else {
12745          $(this).removeClass("last-date-selected");
12746        }
12747      });
12748
12749      box.find(".week-number").each(function () {
12750        if ($(this).attr("data-start-time") == opt.startWeek) {
12751          $(this).addClass("week-number-selected");
12752        }
12753      });
12754    }
12755
12756    function showMonth(date, month) {
12757      date = moment(date).toDate();
12758      var monthElement = generateMonthElement(date, month);
12759      var yearElement = generateYearElement(date, month);
12760
12761      box
12762        .find("." + month + " .month-name")
12763        .html(monthElement + " " + yearElement);
12764      box.find("." + month + " tbody").html(createMonthHTML(date));
12765      opt[month] = date;
12766      updateSelectableRange();
12767      bindEvents();
12768    }
12769
12770    function generateMonthElement(date, month) {
12771      date = moment(date);
12772      var currentMonth = date.get("month");
12773      var currentMonthName = nameMonth(currentMonth);
12774      var nonSelectableMonth =
12775        '<div class="month-element">' + currentMonthName + "</div>";
12776
12777      if (!opt.monthSelect) {
12778        return nonSelectableMonth;
12779      }
12780
12781      var startDate = opt.startDate
12782        ? moment(opt.startDate).add(
12783            !opt.singleMonth && month === "month2" ? 1 : 0,
12784            "month"
12785          )
12786        : false;
12787      var endDate = opt.endDate
12788        ? moment(opt.endDate).add(
12789            !opt.singleMonth && month === "month1" ? -1 : 0,
12790            "month"
12791          )
12792        : false;
12793
12794      var minSelectableMonth =
12795        startDate && date.isSame(startDate, "year")
12796          ? startDate.get("month")
12797          : 0;
12798      var maxSelectableMonth =
12799        endDate && date.isSame(endDate, "year") ? endDate.get("month") : 11;
12800      var minVisibleMonth = Math.min(minSelectableMonth, currentMonth);
12801      var maxVisibleMonth = Math.max(maxSelectableMonth, currentMonth);
12802
12803      if (minVisibleMonth === maxVisibleMonth) {
12804        return nonSelectableMonth;
12805      }
12806
12807      var selectData = generateSelectData(
12808        {
12809          minSelectable: minSelectableMonth,
12810          maxSelectable: maxSelectableMonth,
12811          minVisible: minVisibleMonth,
12812          maxVisible: maxVisibleMonth,
12813        },
12814        currentMonth,
12815        function (value) {
12816          return nameMonth(value);
12817        }
12818      );
12819      return generateSelect("month", selectData);
12820    }
12821
12822    function generateYearElement(date, month) {
12823      date = moment(date);
12824      var currentYear = date.get("year");
12825      var nonSelectableMonth =
12826        '<div class="month-element">' + currentYear + "</div>";
12827
12828      if (!opt.yearSelect) {
12829        return nonSelectableMonth;
12830      }
12831
12832      var isYearFunction =
12833        opt.yearSelect && typeof opt.yearSelect === "function";
12834      var startDate = opt.startDate
12835        ? moment(opt.startDate).add(
12836            !opt.singleMonth && month === "month2" ? 1 : 0,
12837            "month"
12838          )
12839        : false;
12840      var endDate = opt.endDate
12841        ? moment(opt.endDate).add(
12842            !opt.singleMonth && month === "month1" ? -1 : 0,
12843            "month"
12844          )
12845        : false;
12846      var range = isYearFunction
12847        ? opt.yearSelect(currentYear)
12848        : opt.yearSelect.slice();
12849
12850      var minSelectableYear = startDate
12851        ? Math.max(range[0], startDate.get("year"))
12852        : Math.min(range[0], currentYear);
12853      var maxSelectableYear = endDate
12854        ? Math.min(range[1], endDate.get("year"))
12855        : Math.max(range[1], currentYear);
12856      var minVisibleYear = Math.min(minSelectableYear, currentYear);
12857      var maxVisibleYear = Math.max(maxSelectableYear, currentYear);
12858
12859      if (minVisibleYear === maxVisibleYear) {
12860        return nonSelectableMonth;
12861      }
12862
12863      var selectData = generateSelectData(
12864        {
12865          minSelectable: minSelectableYear,
12866          maxSelectable: maxSelectableYear,
12867          minVisible: minVisibleYear,
12868          maxVisible: maxVisibleYear,
12869        },
12870        currentYear
12871      );
12872      return generateSelect("year", selectData);
12873    }
12874
12875    function generateSelectData(range, current, valueBeautifier) {
12876      var data = [];
12877      valueBeautifier =
12878        valueBeautifier ||
12879        function (value) {
12880          return value;
12881        };
12882
12883      for (var i = range.minVisible; i <= range.maxVisible; i++) {
12884        data.push({
12885          value: i,
12886          text: valueBeautifier(i),
12887          selected: i === current,
12888          disabled: i < range.minSelectable || i > range.maxSelectable,
12889        });
12890      }
12891
12892      return data;
12893    }
12894
12895    function generateSelect(name, data) {
12896      var select =
12897        '<div class="select-wrapper"><select class="' +
12898        name +
12899        '" name="' +
12900        name +
12901        '">';
12902      var current;
12903
12904      for (var i = 0, l = data.length; i < l; i++) {
12905        var item = data[i];
12906        select +=
12907          '<option value="' +
12908          item.value +
12909          '"' +
12910          (item.selected ? " selected" : "") +
12911          (item.disabled ? " disabled" : "") +
12912          ">" +
12913          item.text +
12914          "</option>";
12915
12916        if (item.selected) {
12917          current = item.text;
12918        }
12919      }
12920
12921      select += "</select>" + current + "</div>";
12922
12923      return select;
12924    }
12925
12926    function bindEvents() {
12927      box
12928        .find(".day")
12929        .off("click")
12930        .on("click", function (evt) {
12931          dayClicked($(this));
12932        });
12933
12934      box
12935        .find(".day")
12936        .off("mouseenter")
12937        .on("mouseenter", function (evt) {
12938          dayHovering($(this));
12939        });
12940
12941      box
12942        .find(".day")
12943        .off("mouseleave")
12944        .on("mouseleave", function (evt) {
12945          box.find(".date-range-length-tip").hide();
12946          if (opt.singleDate) {
12947            clearHovering();
12948          }
12949        });
12950
12951      box
12952        .find(".week-number")
12953        .off("click")
12954        .on("click", function (evt) {
12955          weekNumberClicked($(this));
12956        });
12957
12958      box
12959        .find(".month")
12960        .off("change")
12961        .on("change", function (evt) {
12962          dateChanged($(this));
12963        });
12964
12965      box
12966        .find(".year")
12967        .off("change")
12968        .on("change", function (evt) {
12969          dateChanged($(this));
12970        });
12971    }
12972
12973    function showTime(date, name) {
12974      box.find("." + name).append(getTimeHTML());
12975      renderTime(name, date);
12976    }
12977
12978    function nameMonth(m) {
12979      return translate("month-name")[m];
12980    }
12981
12982    function getDateString(d) {
12983      return moment(d).format(opt.format);
12984    }
12985
12986    function showGap() {
12987      showSelectedDays();
12988      var m1 = parseInt(moment(opt.month1).format("YYYYMM"));
12989      var m2 = parseInt(moment(opt.month2).format("YYYYMM"));
12990      var p = Math.abs(m1 - m2);
12991      var shouldShow = p > 1 && p != 89;
12992      if (shouldShow) {
12993        box
12994          .addClass("has-gap")
12995          .removeClass("no-gap")
12996          .find(".gap")
12997          .css("visibility", "visible");
12998      } else {
12999        box
13000          .removeClass("has-gap")
13001          .addClass("no-gap")
13002          .find(".gap")
13003          .css("visibility", "hidden");
13004      }
13005      var h1 = box.find("table.month1").height();
13006      var h2 = box.find("table.month2").height();
13007      box.find(".gap").height(Math.max(h1, h2) + 10);
13008    }
13009
13010    function closeDatePicker() {
13011      if (opt.alwaysOpen) return;
13012
13013      var afterAnim = function () {
13014        $(self).data("date-picker-opened", false);
13015        $(self).trigger("datepicker-closed", {
13016          relatedTarget: box,
13017        });
13018      };
13019      if (opt.customCloseAnimation) {
13020        opt.customCloseAnimation.call(box.get(0), afterAnim);
13021      } else {
13022        $(box).slideUp(opt.duration, afterAnim);
13023      }
13024      $(self).trigger("datepicker-close", {
13025        relatedTarget: box,
13026      });
13027    }
13028
13029    function redrawDatePicker() {
13030      showMonth(opt.month1, "month1");
13031      showMonth(opt.month2, "month2");
13032    }
13033
13034    function compare_month(m1, m2) {
13035      var p =
13036        parseInt(moment(m1).format("YYYYMM")) -
13037        parseInt(moment(m2).format("YYYYMM"));
13038      if (p > 0) return 1;
13039      if (p === 0) return 0;
13040      return -1;
13041    }
13042
13043    function compare_day(m1, m2) {
13044      var p =
13045        parseInt(moment(m1).format("YYYYMMDD")) -
13046        parseInt(moment(m2).format("YYYYMMDD"));
13047      if (p > 0) return 1;
13048      if (p === 0) return 0;
13049      return -1;
13050    }
13051
13052    function nextMonth(month) {
13053      return moment(month).add(1, "months").toDate();
13054    }
13055
13056    function prevMonth(month) {
13057      return moment(month).add(-1, "months").toDate();
13058    }
13059
13060    function getTimeHTML() {
13061      return (
13062        "<div>" +
13063        "<span>" +
13064        translate("Time") +
13065        ': <span class="hour-val">00</span>:<span class="minute-val">00</span></span>' +
13066        "</div>" +
13067        '<div class="hour">' +
13068        "<label>" +
13069        translate("Hour") +
13070        ': <input type="range" class="hour-range" name="hour" min="0" max="23"></label>' +
13071        "</div>" +
13072        '<div class="minute">' +
13073        "<label>" +
13074        translate("Minute") +
13075        ': <input type="range" class="minute-range" name="minute" min="0" max="59"></label>' +
13076        "</div>"
13077      );
13078    }
13079
13080    function createDom() {
13081      var html = '<div class="date-picker-wrapper';
13082      if (opt.extraClass) html += " " + opt.extraClass + " ";
13083      if (opt.singleDate) html += " single-date ";
13084      if (!opt.showShortcuts) html += " no-shortcuts ";
13085      if (!opt.showTopbar) html += " no-topbar ";
13086      if (opt.customTopBar) html += " custom-topbar ";
13087      html += '">';
13088
13089      if (opt.showTopbar) {
13090        html += '<div class="drp_top-bar">';
13091
13092        if (opt.customTopBar) {
13093          if (typeof opt.customTopBar == "function")
13094            opt.customTopBar = opt.customTopBar();
13095          html += '<div class="custom-top">' + opt.customTopBar + "</div>";
13096        } else {
13097          html +=
13098            '<div class="normal-top">' +
13099            '<span class="selection-top">' +
13100            translate("selected") +
13101            ' </span> <b class="start-day">...</b>';
13102          if (!opt.singleDate) {
13103            html +=
13104              ' <span class="separator-day">' +
13105              opt.separator +
13106              '</span> <b class="end-day">...</b> <i class="selected-days">(<span class="selected-days-num">3</span> ' +
13107              translate("days") +
13108              ")</i>";
13109          }
13110          html += "</div>";
13111          html +=
13112            '<div class="error-top">error</div>' +
13113            '<div class="default-top">default</div>';
13114        }
13115
13116        html +=
13117          '<input type="button" class="apply-btn disabled' +
13118          getApplyBtnClass() +
13119          '" value="' +
13120          translate("apply") +
13121          '" />';
13122        html += "</div>";
13123      }
13124
13125      var _colspan = opt.showWeekNumbers ? 6 : 5;
13126
13127      var arrowPrev = "";
13128      if (opt.customArrowPrevSymbol) arrowPrev = opt.customArrowPrevSymbol;
13129
13130      var arrowNext = "";
13131      if (opt.customArrowNextSymbol) arrowNext = opt.customArrowNextSymbol;
13132
13133      html +=
13134        '<div class="month-wrapper">' +
13135        '   <table class="month1" cellspacing="0" border="0" cellpadding="0">' +
13136        "       <thead>" +
13137        '           <tr class="caption">' +
13138        "               <th>" +
13139        '                   <span class="prev">' +
13140        arrowPrev +
13141        "                   </span>" +
13142        "               </th>" +
13143        '               <th colspan="' +
13144        _colspan +
13145        '" class="month-name">' +
13146        "               </th>" +
13147        "               <th>" +
13148        (opt.singleDate || !opt.stickyMonths
13149          ? '<span class="next">' + arrowNext + "</span>"
13150          : "") +
13151        "               </th>" +
13152        "           </tr>" +
13153        '           <tr class="week-name">' +
13154        getWeekHead() +
13155        "       </thead>" +
13156        "       <tbody></tbody>" +
13157        "   </table>";
13158
13159      if (hasMonth2()) {
13160        html +=
13161          '<div class="gap">' +
13162          getGapHTML() +
13163          "</div>" +
13164          '<table class="month2" cellspacing="0" border="0" cellpadding="0">' +
13165          "   <thead>" +
13166          '   <tr class="caption">' +
13167          "       <th>" +
13168          (!opt.stickyMonths
13169            ? '<span class="prev">' + arrowPrev + "</span>"
13170            : "") +
13171          "       </th>" +
13172          '       <th colspan="' +
13173          _colspan +
13174          '" class="month-name">' +
13175          "       </th>" +
13176          "       <th>" +
13177          '           <span class="next">' +
13178          arrowNext +
13179          "</span>" +
13180          "       </th>" +
13181          "   </tr>" +
13182          '   <tr class="week-name">' +
13183          getWeekHead() +
13184          "   </thead>" +
13185          "   <tbody></tbody>" +
13186          "</table>";
13187      }
13188      //+'</div>'
13189      html +=
13190        '<div class="dp-clearfix"></div>' +
13191        '<div class="time">' +
13192        '<div class="time1"></div>';
13193      if (!opt.singleDate) {
13194        html += '<div class="time2"></div>';
13195      }
13196      html += "</div>" + '<div class="dp-clearfix"></div>' + "</div>";
13197
13198      html += '<div class="footer">';
13199      if (opt.showShortcuts) {
13200        html += '<div class="shortcuts"><b>' + translate("shortcuts") + "</b>";
13201
13202        var data = opt.shortcuts;
13203        if (data) {
13204          var name;
13205          if (data["prev-days"] && data["prev-days"].length > 0) {
13206            html += '&nbsp;<span class="prev-days">' + translate("past");
13207            for (var i = 0; i < data["prev-days"].length; i++) {
13208              name = data["prev-days"][i];
13209              name +=
13210                data["prev-days"][i] > 1 ? translate("days") : translate("day");
13211              html +=
13212                ' <a href="javascript:;" shortcut="day,-' +
13213                data["prev-days"][i] +
13214                '">' +
13215                name +
13216                "</a>";
13217            }
13218            html += "</span>";
13219          }
13220
13221          if (data["next-days"] && data["next-days"].length > 0) {
13222            html += '&nbsp;<span class="next-days">' + translate("following");
13223            for (var i = 0; i < data["next-days"].length; i++) {
13224              name = data["next-days"][i];
13225              name +=
13226                data["next-days"][i] > 1 ? translate("days") : translate("day");
13227              html +=
13228                ' <a href="javascript:;" shortcut="day,' +
13229                data["next-days"][i] +
13230                '">' +
13231                name +
13232                "</a>";
13233            }
13234            html += "</span>";
13235          }
13236
13237          if (data.prev && data.prev.length > 0) {
13238            html += '&nbsp;<span class="prev-buttons">' + translate("previous");
13239            for (var i = 0; i < data.prev.length; i++) {
13240              name = translate("prev-" + data.prev[i]);
13241              html +=
13242                ' <a href="javascript:;" shortcut="prev,' +
13243                data.prev[i] +
13244                '">' +
13245                name +
13246                "</a>";
13247            }
13248            html += "</span>";
13249          }
13250
13251          if (data.next && data.next.length > 0) {
13252            html += '&nbsp;<span class="next-buttons">' + translate("next");
13253            for (var i = 0; i < data.next.length; i++) {
13254              name = translate("next-" + data.next[i]);
13255              html +=
13256                ' <a href="javascript:;" shortcut="next,' +
13257                data.next[i] +
13258                '">' +
13259                name +
13260                "</a>";
13261            }
13262            html += "</span>";
13263          }
13264        }
13265
13266        if (opt.customShortcuts) {
13267          for (var i = 0; i < opt.customShortcuts.length; i++) {
13268            var sh = opt.customShortcuts[i];
13269            html +=
13270              '&nbsp;<span class="custom-shortcut"><a href="javascript:;" shortcut="custom">' +
13271              sh.name +
13272              "</a></span>";
13273          }
13274        }
13275        html += "</div>";
13276      }
13277
13278      // Add Custom Values Dom
13279      if (opt.showCustomValues) {
13280        html +=
13281          '<div class="customValues"><b>' +
13282          (opt.customValueLabel || translate("custom-values")) +
13283          "</b>";
13284
13285        if (opt.customValues) {
13286          for (var i = 0; i < opt.customValues.length; i++) {
13287            var val = opt.customValues[i];
13288            html +=
13289              '&nbsp;<span class="custom-value"><a href="javascript:;" custom="' +
13290              val.value +
13291              '">' +
13292              val.name +
13293              "</a></span>";
13294          }
13295        }
13296      }
13297
13298      html += "</div></div>";
13299
13300      return $(html);
13301    }
13302
13303    function getApplyBtnClass() {
13304      var klass = "";
13305      if (opt.autoClose === true) {
13306        klass += " hide";
13307      }
13308      if (opt.applyBtnClass !== "") {
13309        klass += " " + opt.applyBtnClass;
13310      }
13311      return klass;
13312    }
13313
13314    function getWeekHead() {
13315      var prepend = opt.showWeekNumbers
13316        ? "<th>" + translate("week-number") + "</th>"
13317        : "";
13318      if (opt.startOfWeek == "monday") {
13319        return (
13320          prepend +
13321          "<th>" +
13322          translate("week-1") +
13323          "</th>" +
13324          "<th>" +
13325          translate("week-2") +
13326          "</th>" +
13327          "<th>" +
13328          translate("week-3") +
13329          "</th>" +
13330          "<th>" +
13331          translate("week-4") +
13332          "</th>" +
13333          "<th>" +
13334          translate("week-5") +
13335          "</th>" +
13336          "<th>" +
13337          translate("week-6") +
13338          "</th>" +
13339          "<th>" +
13340          translate("week-7") +
13341          "</th>"
13342        );
13343      } else {
13344        return (
13345          prepend +
13346          "<th>" +
13347          translate("week-7") +
13348          "</th>" +
13349          "<th>" +
13350          translate("week-1") +
13351          "</th>" +
13352          "<th>" +
13353          translate("week-2") +
13354          "</th>" +
13355          "<th>" +
13356          translate("week-3") +
13357          "</th>" +
13358          "<th>" +
13359          translate("week-4") +
13360          "</th>" +
13361          "<th>" +
13362          translate("week-5") +
13363          "</th>" +
13364          "<th>" +
13365          translate("week-6") +
13366          "</th>"
13367        );
13368      }
13369    }
13370
13371    function isMonthOutOfBounds(month) {
13372      month = moment(month);
13373      if (opt.startDate && month.endOf("month").isBefore(opt.startDate)) {
13374        return true;
13375      }
13376      if (opt.endDate && month.startOf("month").isAfter(opt.endDate)) {
13377        return true;
13378      }
13379      return false;
13380    }
13381
13382    function getGapHTML() {
13383      var html = [
13384        '<div class="gap-top-mask"></div><div class="gap-bottom-mask"></div><div class="gap-lines">',
13385      ];
13386      for (var i = 0; i < 20; i++) {
13387        html.push(
13388          '<div class="gap-line">' +
13389            '<div class="gap-1"></div>' +
13390            '<div class="gap-2"></div>' +
13391            '<div class="gap-3"></div>' +
13392            "</div>"
13393        );
13394      }
13395      html.push("</div>");
13396      return html.join("");
13397    }
13398
13399    function hasMonth2() {
13400      return !opt.singleMonth;
13401    }
13402
13403    function attributesCallbacks(initialObject, callbacksArray, today) {
13404      var resultObject = $.extend(true, {}, initialObject);
13405
13406      $.each(callbacksArray, function (cbAttrIndex, cbAttr) {
13407        var addAttributes = cbAttr(today);
13408        for (var attr in addAttributes) {
13409          if (resultObject.hasOwnProperty(attr)) {
13410            resultObject[attr] += addAttributes[attr];
13411          } else {
13412            resultObject[attr] = addAttributes[attr];
13413          }
13414        }
13415      });
13416
13417      var attrString = "";
13418
13419      for (var attr in resultObject) {
13420        if (resultObject.hasOwnProperty(attr)) {
13421          attrString += attr + '="' + resultObject[attr] + '" ';
13422        }
13423      }
13424
13425      return attrString;
13426    }
13427
13428    function createMonthHTML(d) {
13429      var days = [];
13430      d.setDate(1);
13431      var lastMonth = new Date(d.getTime() - 86400000);
13432      var now = new Date();
13433
13434      var dayOfWeek = d.getDay();
13435      if (dayOfWeek === 0 && opt.startOfWeek === "monday") {
13436        // add one week
13437        dayOfWeek = 7;
13438      }
13439      var today, valid;
13440
13441      if (dayOfWeek > 0) {
13442        for (var i = dayOfWeek; i > 0; i--) {
13443          var day = new Date(d.getTime() - 86400000 * i);
13444          valid = isValidTime(day.getTime());
13445          if (opt.startDate && compare_day(day, opt.startDate) < 0)
13446            valid = false;
13447          if (opt.endDate && compare_day(day, opt.endDate) > 0) valid = false;
13448          days.push({
13449            date: day,
13450            type: "lastMonth",
13451            day: day.getDate(),
13452            time: day.getTime(),
13453            valid: valid,
13454          });
13455        }
13456      }
13457      var toMonth = d.getMonth();
13458      for (var i = 0; i < 40; i++) {
13459        today = moment(d).add(i, "days").toDate();
13460        valid = isValidTime(today.getTime());
13461        if (opt.startDate && compare_day(today, opt.startDate) < 0)
13462          valid = false;
13463        if (opt.endDate && compare_day(today, opt.endDate) > 0) valid = false;
13464        days.push({
13465          date: today,
13466          type: today.getMonth() == toMonth ? "toMonth" : "nextMonth",
13467          day: today.getDate(),
13468          time: today.getTime(),
13469          valid: valid,
13470        });
13471      }
13472      var html = [];
13473      for (var week = 0; week < 6; week++) {
13474        if (days[week * 7].type == "nextMonth") break;
13475        html.push("<tr>");
13476
13477        for (var day = 0; day < 7; day++) {
13478          var _day = opt.startOfWeek == "monday" ? day + 1 : day;
13479          today = days[week * 7 + _day];
13480          var highlightToday =
13481            moment(today.time).format("L") == moment(now).format("L");
13482          today.extraClass = "";
13483          today.tooltip = "";
13484          if (
13485            today.valid &&
13486            opt.beforeShowDay &&
13487            typeof opt.beforeShowDay == "function"
13488          ) {
13489            var _r = opt.beforeShowDay(moment(today.time).toDate());
13490            today.valid = _r[0];
13491            today.extraClass = _r[1] || "";
13492            today.tooltip = _r[2] || "";
13493            if (today.tooltip !== "") today.extraClass += " has-tooltip ";
13494          }
13495
13496          var todayDivAttr = {
13497            time: today.time,
13498            "data-tooltip": today.tooltip,
13499            class:
13500              "day " +
13501              today.type +
13502              " " +
13503              today.extraClass +
13504              " " +
13505              (today.valid ? "valid" : "invalid") +
13506              " " +
13507              (highlightToday ? "real-today" : ""),
13508          };
13509
13510          if (day === 0 && opt.showWeekNumbers) {
13511            html.push(
13512              '<td><div class="week-number" data-start-time="' +
13513                today.time +
13514                '">' +
13515                opt.getWeekNumber(today.date) +
13516                "</div></td>"
13517            );
13518          }
13519
13520          html.push(
13521            "<td " +
13522              attributesCallbacks({}, opt.dayTdAttrs, today) +
13523              "><div " +
13524              attributesCallbacks(todayDivAttr, opt.dayDivAttrs, today) +
13525              ">" +
13526              showDayHTML(today.time, today.day) +
13527              "</div></td>"
13528          );
13529        }
13530        html.push("</tr>");
13531      }
13532      return html.join("");
13533    }
13534
13535    function showDayHTML(time, date) {
13536      if (opt.showDateFilter && typeof opt.showDateFilter == "function")
13537        return opt.showDateFilter(time, date);
13538      return date;
13539    }
13540
13541    function getLanguages() {
13542      if (opt.language == "auto") {
13543        var language = navigator.language
13544          ? navigator.language
13545          : navigator.browserLanguage;
13546        if (!language) {
13547          return $.dateRangePickerLanguages["default"];
13548        }
13549        language = language.toLowerCase();
13550        if (language in $.dateRangePickerLanguages) {
13551          return $.dateRangePickerLanguages[language];
13552        }
13553
13554        return $.dateRangePickerLanguages["default"];
13555      } else if (opt.language && opt.language in $.dateRangePickerLanguages) {
13556        return $.dateRangePickerLanguages[opt.language];
13557      } else {
13558        return $.dateRangePickerLanguages["default"];
13559      }
13560    }
13561
13562    /**
13563     * Translate language string, try both the provided translation key, as the lower case version
13564     */
13565    function translate(translationKey) {
13566      var translationKeyLowerCase = translationKey.toLowerCase();
13567      var result =
13568        translationKey in languages
13569          ? languages[translationKey]
13570          : translationKeyLowerCase in languages
13571          ? languages[translationKeyLowerCase]
13572          : null;
13573      var defaultLanguage = $.dateRangePickerLanguages["default"];
13574      if (result == null)
13575        result =
13576          translationKey in defaultLanguage
13577            ? defaultLanguage[translationKey]
13578            : translationKeyLowerCase in defaultLanguage
13579            ? defaultLanguage[translationKeyLowerCase]
13580            : "";
13581
13582      return result;
13583    }
13584
13585    function getDefaultTime() {
13586      var defaultTime = opt.defaultTime ? opt.defaultTime : new Date();
13587
13588      if (opt.lookBehind) {
13589        if (opt.startDate && compare_month(defaultTime, opt.startDate) < 0)
13590          defaultTime = nextMonth(moment(opt.startDate).toDate());
13591        if (opt.endDate && compare_month(defaultTime, opt.endDate) > 0)
13592          defaultTime = moment(opt.endDate).toDate();
13593      } else {
13594        if (opt.startDate && compare_month(defaultTime, opt.startDate) < 0)
13595          defaultTime = moment(opt.startDate).toDate();
13596        if (
13597          opt.endDate &&
13598          compare_month(nextMonth(defaultTime), opt.endDate) > 0
13599        )
13600          defaultTime = prevMonth(moment(opt.endDate).toDate());
13601      }
13602
13603      if (opt.singleDate) {
13604        if (opt.startDate && compare_month(defaultTime, opt.startDate) < 0)
13605          defaultTime = moment(opt.startDate).toDate();
13606        if (opt.endDate && compare_month(defaultTime, opt.endDate) > 0)
13607          defaultTime = moment(opt.endDate).toDate();
13608      }
13609
13610      return defaultTime;
13611    }
13612
13613    function resetMonthsView(time) {
13614      if (!time) {
13615        time = getDefaultTime();
13616      }
13617
13618      if (opt.lookBehind) {
13619        showMonth(prevMonth(time), "month1");
13620        showMonth(time, "month2");
13621      } else {
13622        showMonth(time, "month1");
13623        showMonth(nextMonth(time), "month2");
13624      }
13625
13626      if (opt.singleDate) {
13627        showMonth(time, "month1");
13628      }
13629
13630      showSelectedDays();
13631      showGap();
13632    }
13633
13634    function outsideClickClose(evt) {
13635      if (!IsOwnDatePickerClicked(evt, self[0])) {
13636        if (box.is(":visible")) closeDatePicker();
13637      }
13638    }
13639  };
13640});
13641
13642// ==================================================
13643// fancyBox v3.5.7
13644//
13645// Licensed GPLv3 for open source use
13646// or fancyBox Commercial License for commercial use
13647//
13648// http://fancyapps.com/fancybox/
13649// Copyright 2019 fancyApps
13650//
13651// ==================================================
13652!(function (t, e, n, o) {
13653  "use strict";
13654  function i(t, e) {
13655    var o,
13656      i,
13657      a,
13658      s = [],
13659      r = 0;
13660    (t && t.isDefaultPrevented()) ||
13661      (t.preventDefault(),
13662      (e = e || {}),
13663      t && t.data && (e = h(t.data.options, e)),
13664      (o = e.$target || n(t.currentTarget).trigger("blur")),
13665      ((a = n.fancybox.getInstance()) && a.$trigger && a.$trigger.is(o)) ||
13666        (e.selector
13667          ? (s = n(e.selector))
13668          : ((i = o.attr("data-fancybox") || ""),
13669            i
13670              ? ((s = t.data ? t.data.items : []),
13671                (s = s.length
13672                  ? s.filter('[data-fancybox="' + i + '"]')
13673                  : n('[data-fancybox="' + i + '"]')))
13674              : (s = [o])),
13675        (r = n(s).index(o)),
13676        r < 0 && (r = 0),
13677        (a = n.fancybox.open(s, e, r)),
13678        (a.$trigger = o)));
13679  }
13680  if (((t.console = t.console || { info: function (t) {} }), n)) {
13681    if (n.fn.fancybox) return void console.info("fancyBox already initialized");
13682    var a = {
13683        closeExisting: !1,
13684        loop: !1,
13685        gutter: 50,
13686        keyboard: !0,
13687        preventCaptionOverlap: !0,
13688        arrows: !0,
13689        infobar: !0,
13690        smallBtn: "auto",
13691        toolbar: "auto",
13692        buttons: ["zoom", "slideShow", "thumbs", "close"],
13693        idleTime: 3,
13694        protect: !1,
13695        modal: !1,
13696        image: { preload: !1 },
13697        ajax: { settings: { data: { fancybox: !0 } } },
13698        iframe: {
13699          tpl: '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen="allowfullscreen" allow="autoplay; fullscreen" src=""></iframe>',
13700          preload: !0,
13701          css: {},
13702          attr: { scrolling: "auto" },
13703        },
13704        video: {
13705          tpl: '<video class="fancybox-video" controls controlsList="nodownload" poster="{{poster}}"><source src="{{src}}" type="{{format}}" />Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!</video>',
13706          format: "",
13707          autoStart: !0,
13708        },
13709        defaultType: "image",
13710        animationEffect: "zoom",
13711        animationDuration: 366,
13712        zoomOpacity: "auto",
13713        transitionEffect: "fade",
13714        transitionDuration: 366,
13715        slideClass: "",
13716        baseClass: "",
13717        baseTpl:
13718          '<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption"><div class="fancybox-caption__body"></div></div></div></div>',
13719        spinnerTpl: '<div class="fancybox-loading"></div>',
13720        errorTpl: '<div class="fancybox-error"><p>{{ERROR}}</p></div>',
13721        btnTpl: {
13722          download:
13723            '<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
13723<path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/></svg></a>',
13724          zoom: '<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/></svg></button>',
13725          close:
13726            '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/></svg></button>',
13727          arrowLeft:
13728            '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/></svg></div></button>',
13729          arrowRight:
13730            '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/></svg></div></button>',
13731          smallBtn:
13732            '<button type="button" data-fancybox-close class="fancybox-button fancybox-close-small" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/></svg></button>',
13733        },
13734        parentEl: "body",
13735        hideScrollbar: !0,
13736        autoFocus: !0,
13737        backFocus: !0,
13738        trapFocus: !0,
13739        fullScreen: { autoStart: !1 },
13740        touch: { vertical: !0, momentum: !0 },
13741        hash: null,
13742        media: {},
13743        slideShow: { autoStart: !1, speed: 3e3 },
13744        thumbs: {
13745          autoStart: !1,
13746          hideOnClose: !0,
13747          parentEl: ".fancybox-container",
13748          axis: "y",
13749        },
13750        wheel: "auto",
13751        onInit: n.noop,
13752        beforeLoad: n.noop,
13753        afterLoad: n.noop,
13754        beforeShow: n.noop,
13755        afterShow: n.noop,
13756        beforeClose: n.noop,
13757        afterClose: n.noop,
13758        onActivate: n.noop,
13759        onDeactivate: n.noop,
13760        clickContent: function (t, e) {
13761          return "image" === t.type && "zoom";
13762        },
13763        clickSlide: "close",
13764        clickOutside: "close",
13765        dblclickContent: !1,
13766        dblclickSlide: !1,
13767        dblclickOutside: !1,
13768        mobile: {
13769          preventCaptionOverlap: !1,
13770          idleTime: !1,
13771          clickContent: function (t, e) {
13772            return "image" === t.type && "toggleControls";
13773          },
13774          clickSlide: function (t, e) {
13775            return "image" === t.type ? "toggleControls" : "close";
13776          },
13777          dblclickContent: function (t, e) {
13778            return "image" === t.type && "zoom";
13779          },
13780          dblclickSlide: function (t, e) {
13781            return "image" === t.type && "zoom";
13782          },
13783        },
13784        lang: "en",
13785        i18n: {
13786          en: {
13787            CLOSE: "Close",
13788            NEXT: "Next",
13789            PREV: "Previous",
13790            ERROR:
13791              "The requested content cannot be loaded. <br/> Please try again later.",
13792            PLAY_START: "Start slideshow",
13793            PLAY_STOP: "Pause slideshow",
13794            FULL_SCREEN: "Full screen",
13795            THUMBS: "Thumbnails",
13796            DOWNLOAD: "Download",
13797            SHARE: "Share",
13798            ZOOM: "Zoom",
13799          },
13800          de: {
13801            CLOSE: "Schlie&szlig;en",
13802            NEXT: "Weiter",
13803            PREV: "Zur&uuml;ck",
13804            ERROR:
13805              "Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es sp&auml;ter nochmal.",
13806            PLAY_START: "Diaschau starten",
13807            PLAY_STOP: "Diaschau beenden",
13808            FULL_SCREEN: "Vollbild",
13809            THUMBS: "Vorschaubilder",
13810            DOWNLOAD: "Herunterladen",
13811            SHARE: "Teilen",
13812            ZOOM: "Vergr&ouml;&szlig;ern",
13813          },
13814        },
13815      },
13816      s = n(t),
13817      r = n(e),
13818      c = 0,
13819      l = function (t) {
13820        return t && t.hasOwnProperty && t instanceof n;
13821      },
13822      d = (function () {
13823        return (
13824          t.requestAnimationFrame ||
13825          t.webkitRequestAnimationFrame ||
13826          t.mozRequestAnimationFrame ||
13827          t.oRequestAnimationFrame ||
13828          function (e) {
13829            return t.setTimeout(e, 1e3 / 60);
13830          }
13831        );
13832      })(),
13833      u = (function () {
13834        return (
13835          t.cancelAnimationFrame ||
13836          t.webkitCancelAnimationFrame ||
13837          t.mozCancelAnimationFrame ||
13838          t.oCancelAnimationFrame ||
13839          function (e) {
13840            t.clearTimeout(e);
13841          }
13842        );
13843      })(),
13844      f = (function () {
13845        var t,
13846          n = e.createElement("fakeelement"),
13847          o = {
13848            transition: "transitionend",
13849            OTransition: "oTransitionEnd",
13850            MozTransition: "transitionend",
13851            WebkitTransition: "webkitTransitionEnd",
13852          };
13853        for (t in o) if (void 0 !== n.style[t]) return o[t];
13854        return "transitionend";
13855      })(),
13856      p = function (t) {
13857        return t && t.length && t[0].offsetHeight;
13858      },
13859      h = function (t, e) {
13860        var o = n.extend(!0, {}, t, e);
13861        return (
13862          n.each(e, function (t, e) {
13863            n.isArray(e) && (o[t] = e);
13864          }),
13865          o
13866        );
13867      },
13868      g = function (t) {
13869        var o, i;
13870        return (
13871          !(!t || t.ownerDocument !== e) &&
13872          (n(".fancybox-container").css("pointer-events", "none"),
13873          (o = {
13874            x: t.getBoundingClientRect().left + t.offsetWidth / 2,
13875            y: t.getBoundingClientRect().top + t.offsetHeight / 2,
13876          }),
13877          (i = e.elementFromPoint(o.x, o.y) === t),
13878          n(".fancybox-container").css("pointer-events", ""),
13879          i)
13880        );
13881      },
13882      b = function (t, e, o) {
13883        var i = this;
13884        (i.opts = h({ index: o }, n.fancybox.defaults)),
13885          n.isPlainObject(e) && (i.opts = h(i.opts, e)),
13886          n.fancybox.isMobile && (i.opts = h(i.opts, i.opts.mobile)),
13887          (i.id = i.opts.id || ++c),
13888          (i.currIndex = parseInt(i.opts.index, 10) || 0),
13889          (i.prevIndex = null),
13890          (i.prevPos = null),
13891          (i.currPos = 0),
13892          (i.firstRun = !0),
13893          (i.group = []),
13894          (i.slides = {}),
13895          i.addContent(t),
13896          i.group.length && i.init();
13897      };
13898    n.extend(b.prototype, {
13899      init: function () {
13900        var o,
13901          i,
13902          a = this,
13903          s = a.group[a.currIndex],
13904          r = s.opts;
13905        r.closeExisting && n.fancybox.close(!0),
13906          n("body").addClass("fancybox-active"),
13907          !n.fancybox.getInstance() &&
13908            !1 !== r.hideScrollbar &&
13909            !n.fancybox.isMobile &&
13910            e.body.scrollHeight > t.innerHeight &&
13911            (n("head").append(
13912              '<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:' +
13913                (t.innerWidth - e.documentElement.clientWidth) +
13914                "px;}</style>"
13915            ),
13916            n("body").addClass("compensate-for-scrollbar")),
13917          (i = ""),
13918          n.each(r.buttons, function (t, e) {
13919            i += r.btnTpl[e] || "";
13920          }),
13921          (o = n(
13922            a.translate(
13923              a,
13924              r.baseTpl
13925                .replace("{{buttons}}", i)
13926                .replace("{{arrows}}", r.btnTpl.arrowLeft + r.btnTpl.arrowRight)
13927            )
13928          )
13929            .attr("id", "fancybox-container-" + a.id)
13930            .addClass(r.baseClass)
13931            .data("FancyBox", a)
13932            .appendTo(r.parentEl)),
13933          (a.$refs = { container: o }),
13934          [
13935            "bg",
13936            "inner",
13937            "infobar",
13938            "toolbar",
13939            "stage",
13940            "caption",
13941            "navigation",
13942          ].forEach(function (t) {
13943            a.$refs[t] = o.find(".fancybox-" + t);
13944          }),
13945          a.trigger("onInit"),
13946          a.activate(),
13947          a.jumpTo(a.currIndex);
13948      },
13949      translate: function (t, e) {
13950        var n = t.opts.i18n[t.opts.lang] || t.opts.i18n.en;
13951        return e.replace(/\{\{(\w+)\}\}/g, function (t, e) {
13952          return void 0 === n[e] ? t : n[e];
13953        });
13954      },
13955      addContent: function (t) {
13956        var e,
13957          o = this,
13958          i = n.makeArray(t);
13959        n.each(i, function (t, e) {
13960          var i,
13961            a,
13962            s,
13963            r,
13964            c,
13965            l = {},
13966            d = {};
13967          n.isPlainObject(e)
13968            ? ((l = e), (d = e.opts || e))
13969            : "object" === n.type(e) && n(e).length
13970            ? ((i = n(e)),
13971              (d = i.data() || {}),
13972              (d = n.extend(!0, {}, d, d.options)),
13973              (d.$orig = i),
13974              (l.src = o.opts.src || d.src || i.attr("href")),
13975              l.type || l.src || ((l.type = "inline"), (l.src = e)))
13976            : (l = { type: "html", src: e + "" }),
13977            (l.opts = n.extend(!0, {}, o.opts, d)),
13978            n.isArray(d.buttons) && (l.opts.buttons = d.buttons),
13979            n.fancybox.isMobile &&
13980              l.opts.mobile &&
13981              (l.opts = h(l.opts, l.opts.mobile)),
13982            (a = l.type || l.opts.type),
13983            (r = l.src || ""),
13984            !a &&
13985              r &&
13986              ((s = r.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))
13987                ? ((a = "video"),
13988                  l.opts.video.format ||
13989                    (l.opts.video.format =
13990                      "video/" + ("ogv" === s[1] ? "ogg" : s[1])))
13991                : r.match(
13992                    /(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i
13993                  )
13994                ? (a = "image")
13995                : r.match(/\.(pdf)((\?|#).*)?$/i)
13996                ? ((a = "iframe"),
13997                  (l = n.extend(!0, l, {
13998                    contentType: "pdf",
13999                    opts: { iframe: { preload: !1 } },
14000                  })))
14001                : "#" === r.charAt(0) && (a = "inline")),
14002            a ? (l.type = a) : o.trigger("objectNeedsType", l),
14003            l.contentType ||
14004              (l.contentType =
14005                n.inArray(l.type, ["html", "inline", "ajax"]) > -1
14006                  ? "html"
14007                  : l.type),
14008            (l.index = o.group.length),
14009            "auto" == l.opts.smallBtn &&
14010              (l.opts.smallBtn =
14011                n.inArray(l.type, ["html", "inline", "ajax"]) > -1),
14012            "auto" === l.opts.toolbar && (l.opts.toolbar = !l.opts.smallBtn),
14013            (l.$thumb = l.opts.$thumb || null),
14014            l.opts.$trigger &&
14015              l.index === o.opts.index &&
14016              ((l.$thumb = l.opts.$trigger.find("img:first")),
14017              l.$thumb.length && (l.opts.$orig = l.opts.$trigger)),
14018            (l.$thumb && l.$thumb.length) ||
14019              !l.opts.$orig ||
14020              (l.$thumb = l.opts.$orig.find("img:first")),
14021            l.$thumb && !l.$thumb.length && (l.$thumb = null),
14022            (l.thumb = l.opts.thumb || (l.$thumb ? l.$thumb[0].src : null)),
14023            "function" === n.type(l.opts.caption) &&
14024              (l.opts.caption = l.opts.caption.apply(e, [o, l])),
14025            "function" === n.type(o.opts.caption) &&
14026              (l.opts.caption = o.opts.caption.apply(e, [o, l])),
14027            l.opts.caption instanceof n ||
14028              (l.opts.caption =
14029                void 0 === l.opts.caption ? "" : l.opts.caption + ""),
14030            "ajax" === l.type &&
14031              ((c = r.split(/\s+/, 2)),
14032              c.length > 1 &&
14033                ((l.src = c.shift()), (l.opts.filter = c.shift()))),
14034            l.opts.modal &&
14035              (l.opts = n.extend(!0, l.opts, {
14036                trapFocus: !0,
14037                infobar: 0,
14038                toolbar: 0,
14039                smallBtn: 0,
14040                keyboard: 0,
14041                slideShow: 0,
14042                fullScreen: 0,
14043                thumbs: 0,
14044                touch: 0,
14045                clickContent: !1,
14046                clickSlide: !1,
14047                clickOutside: !1,
14048                dblclickContent: !1,
14049                dblclickSlide: !1,
14050                dblclickOutside: !1,
14051              })),
14052            o.group.push(l);
14053        }),
14054          Object.keys(o.slides).length &&
14055            (o.updateControls(),
14056            (e = o.Thumbs) && e.isActive && (e.create(), e.focus()));
14057      },
14058      addEvents: function () {
14059        var e = this;
14060        e.removeEvents(),
14061          e.$refs.container
14062            .on("click.fb-close", "[data-fancybox-close]", function (t) {
14063              t.stopPropagation(), t.preventDefault(), e.close(t);
14064            })
14065            .on(
14066              "touchstart.fb-prev click.fb-prev",
14067              "[data-fancybox-prev]",
14068              function (t) {
14069                t.stopPropagation(), t.preventDefault(), e.previous();
14070              }
14071            )
14072            .on(
14073              "touchstart.fb-next click.fb-next",
14074              "[data-fancybox-next]",
14075              function (t) {
14076                t.stopPropagation(), t.preventDefault(), e.next();
14077              }
14078            )
14079            .on("click.fb", "[data-fancybox-zoom]", function (t) {
14080              e[e.isScaledDown() ? "scaleToActual" : "scaleToFit"]();
14081            }),
14082          s.on("orientationchange.fb resize.fb", function (t) {
14083            t && t.originalEvent && "resize" === t.originalEvent.type
14084              ? (e.requestId && u(e.requestId),
14085                (e.requestId = d(function () {
14086                  e.update(t);
14087                })))
14088              : (e.current &&
14089                  "iframe" === e.current.type &&
14090                  e.$refs.stage.hide(),
14091                setTimeout(
14092                  function () {
14093                    e.$refs.stage.show(), e.update(t);
14094                  },
14095                  n.fancybox.isMobile ? 600 : 250
14096                ));
14097          }),
14098          r.on("keydown.fb", function (t) {
14099            var o = n.fancybox ? n.fancybox.getInstance() : null,
14100              i = o.current,
14101              a = t.keyCode || t.which;
14102            if (9 == a) return void (i.opts.trapFocus && e.focus(t));
14103            if (
14104              !(
14105                !i.opts.keyboard ||
14106                t.ctrlKey ||
14107                t.altKey ||
14108                t.shiftKey ||
14109                n(t.target).is("input,textarea,video,audio,select")
14110              )
14111            )
14112              return 8 === a || 27 === a
14113                ? (t.preventDefault(), void e.close(t))
14114                : 37 === a || 38 === a
14115                ? (t.preventDefault(), void e.previous())
14116                : 39 === a || 40 === a
14117                ? (t.preventDefault(), void e.next())
14118                : void e.trigger("afterKeydown", t, a);
14119          }),
14120          e.group[e.currIndex].opts.idleTime &&
14121            ((e.idleSecondsCounter = 0),
14122            r.on(
14123              "mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",
14124              function (t) {
14125                (e.idleSecondsCounter = 0),
14126                  e.isIdle && e.showControls(),
14127                  (e.isIdle = !1);
14128              }
14129            ),
14130            (e.idleInterval = t.setInterval(function () {
14131              ++e.idleSecondsCounter >= e.group[e.currIndex].opts.idleTime &&
14132                !e.isDragging &&
14133                ((e.isIdle = !0), (e.idleSecondsCounter = 0), e.hideControls());
14134            }, 1e3)));
14135      },
14136      removeEvents: function () {
14137        var e = this;
14138        s.off("orientationchange.fb resize.fb"),
14139          r.off("keydown.fb .fb-idle"),
14140          this.$refs.container.off(".fb-close .fb-prev .fb-next"),
14141          e.idleInterval &&
14142            (t.clearInterval(e.idleInterval), (e.idleInterval = null));
14143      },
14144      previous: function (t) {
14145        return this.jumpTo(this.currPos - 1, t);
14146      },
14147      next: function (t) {
14148        return this.jumpTo(this.currPos + 1, t);
14149      },
14150      jumpTo: function (t, e) {
14151        var o,
14152          i,
14153          a,
14154          s,
14155          r,
14156          c,
14157          l,
14158          d,
14159          u,
14160          f = this,
14161          h = f.group.length;
14162        if (!(f.isDragging || f.isClosing || (f.isAnimating && f.firstRun))) {
14163          if (
14164            ((t = parseInt(t, 10)),
14165            !(a = f.current ? f.current.opts.loop : f.opts.loop) &&
14166              (t < 0 || t >= h))
14167          )
14168            return !1;
14169          if (
14170            ((o = f.firstRun = !Object.keys(f.slides).length),
14171            (r = f.current),
14172            (f.prevIndex = f.currIndex),
14173            (f.prevPos = f.currPos),
14174            (s = f.createSlide(t)),
14175            h > 1 &&
14176              ((a || s.index < h - 1) && f.createSlide(t + 1),
14177              (a || s.index > 0) && f.createSlide(t - 1)),
14178            (f.current = s),
14179            (f.currIndex = s.index),
14180            (f.currPos = s.pos),
14181            f.trigger("beforeShow", o),
14182            f.updateControls(),
14183            (s.forcedDuration = void 0),
14184            n.isNumeric(e)
14185              ? (s.forcedDuration = e)
14186              : (e = s.opts[o ? "animationDuration" : "transitionDuration"]),
14187            (e = parseInt(e, 10)),
14188            (i = f.isMoved(s)),
14189            s.$slide.addClass("fancybox-slide--current"),
14190            o)
14191          )
14192            return (
14193              s.opts.animationEffect &&
14194                e &&
14195                f.$refs.container.css("transition-duration", e + "ms"),
14196              f.$refs.container.addClass("fancybox-is-open").trigger("focus"),
14197              f.loadSlide(s),
14198              void f.preload("image")
14199            );
14200          (c = n.fancybox.getTranslate(r.$slide)),
14201            (l = n.fancybox.getTranslate(f.$refs.stage)),
14202            n.each(f.slides, function (t, e) {
14203              n.fancybox.stop(e.$slide, !0);
14204            }),
14205            r.pos !== s.pos && (r.isComplete = !1),
14206            r.$slide.removeClass(
14207              "fancybox-slide--complete fancybox-slide--current"
14208            ),
14209            i
14210              ? ((u = c.left - (r.pos * c.width + r.pos * r.opts.gutter)),
14211                n.each(f.slides, function (t, o) {
14212                  o.$slide
14213                    .removeClass("fancybox-animated")
14214                    .removeClass(function (t, e) {
14215                      return (e.match(/(^|\s)fancybox-fx-\S+/g) || []).join(
14216                        " "
14217                      );
14218                    });
14219                  var i = o.pos * c.width + o.pos * o.opts.gutter;
14220                  n.fancybox.setTranslate(o.$slide, {
14221                    top: 0,
14222                    left: i - l.left + u,
14223                  }),
14224                    o.pos !== s.pos &&
14225                      o.$slide.addClass(
14226                        "fancybox-slide--" +
14227                          (o.pos > s.pos ? "next" : "previous")
14228                      ),
14229                    p(o.$slide),
14230                    n.fancybox.animate(
14231                      o.$slide,
14232                      {
14233                        top: 0,
14234                        left:
14235                          (o.pos - s.pos) * c.width +
14236                          (o.pos - s.pos) * o.opts.gutter,
14237                      },
14238                      e,
14239                      function () {
14240                        o.$slide
14241                          .css({ transform: "", opacity: "" })
14242                          .removeClass(
14243                            "fancybox-slide--next fancybox-slide--previous"
14244                          ),
14245                          o.pos === f.currPos && f.complete();
14246                      }
14247                    );
14248                }))
14249              : e &&
14250                s.opts.transitionEffect &&
14251                ((d =
14252                  "fancybox-animated fancybox-fx-" + s.opts.transitionEffect),
14253                r.$slide.addClass(
14254                  "fancybox-slide--" + (r.pos > s.pos ? "next" : "previous")
14255                ),
14256                n.fancybox.animate(
14257                  r.$slide,
14258                  d,
14259                  e,
14260                  function () {
14261                    r.$slide
14262                      .removeClass(d)
14263                      .removeClass(
14264                        "fancybox-slide--next fancybox-slide--previous"
14265                      );
14266                  },
14267                  !1
14268                )),
14269            s.isLoaded ? f.revealContent(s) : f.loadSlide(s),
14270            f.preload("image");
14271        }
14272      },
14273      createSlide: function (t) {
14274        var e,
14275          o,
14276          i = this;
14277        return (
14278          (o = t % i.group.length),
14279          (o = o < 0 ? i.group.length + o : o),
14280          !i.slides[t] &&
14281            i.group[o] &&
14282            ((e = n('<div class="fancybox-slide"></div>').appendTo(
14283              i.$refs.stage
14284            )),
14285            (i.slides[t] = n.extend(!0, {}, i.group[o], {
14286              pos: t,
14287              $slide: e,
14288              isLoaded: !1,
14289            })),
14290            i.updateSlide(i.slides[t])),
14291          i.slides[t]
14292        );
14293      },
14294      scaleToActual: function (t, e, o) {
14295        var i,
14296          a,
14297          s,
14298          r,
14299          c,
14300          l = this,
14301          d = l.current,
14302          u = d.$content,
14303          f = n.fancybox.getTranslate(d.$slide).width,
14304          p = n.fancybox.getTranslate(d.$slide).height,
14305          h = d.width,
14306          g = d.height;
14307        l.isAnimating ||
14308          l.isMoved() ||
14309          !u ||
14310          "image" != d.type ||
14311          !d.isLoaded ||
14312          d.hasError ||
14313          ((l.isAnimating = !0),
14314          n.fancybox.stop(u),
14315          (t = void 0 === t ? 0.5 * f : t),
14316          (e = void 0 === e ? 0.5 * p : e),
14317          (i = n.fancybox.getTranslate(u)),
14318          (i.top -= n.fancybox.getTranslate(d.$slide).top),
14319          (i.left -= n.fancybox.getTranslate(d.$slide).left),
14320          (r = h / i.width),
14321          (c = g / i.height),
14322          (a = 0.5 * f - 0.5 * h),
14323          (s = 0.5 * p - 0.5 * g),
14324          h > f &&
14325            ((a = i.left * r - (t * r - t)),
14326            a > 0 && (a = 0),
14327            a < f - h && (a = f - h)),
14328          g > p &&
14329            ((s = i.top * c - (e * c - e)),
14330            s > 0 && (s = 0),
14331            s < p - g && (s = p - g)),
14332          l.updateCursor(h, g),
14333          n.fancybox.animate(
14334            u,
14335            { top: s, left: a, scaleX: r, scaleY: c },
14336            o || 366,
14337            function () {
14338              l.isAnimating = !1;
14339            }
14340          ),
14341          l.SlideShow && l.SlideShow.isActive && l.SlideShow.stop());
14342      },
14343      scaleToFit: function (t) {
14344        var e,
14345          o = this,
14346          i = o.current,
14347          a = i.$content;
14348        o.isAnimating ||
14349          o.isMoved() ||
14350          !a ||
14351          "image" != i.type ||
14352          !i.isLoaded ||
14353          i.hasError ||
14354          ((o.isAnimating = !0),
14355          n.fancybox.stop(a),
14356          (e = o.getFitPos(i)),
14357          o.updateCursor(e.width, e.height),
14358          n.fancybox.animate(
14359            a,
14360            {
14361              top: e.top,
14362              left: e.left,
14363              scaleX: e.width / a.width(),
14364              scaleY: e.height / a.height(),
14365            },
14366            t || 366,
14367            function () {
14368              o.isAnimating = !1;
14369            }
14370          ));
14371      },
14372      getFitPos: function (t) {
14373        var e,
14374          o,
14375          i,
14376          a,
14377          s = this,
14378          r = t.$content,
14379          c = t.$slide,
14380          l = t.width || t.opts.width,
14381          d = t.height || t.opts.height,
14382          u = {};
14383        return (
14384          !!(t.isLoaded && r && r.length) &&
14385          ((e = n.fancybox.getTranslate(s.$refs.stage).width),
14386          (o = n.fancybox.getTranslate(s.$refs.stage).height),
14387          (e -=
14388            parseFloat(c.css("paddingLeft")) +
14389            parseFloat(c.css("paddingRight")) +
14390            parseFloat(r.css("marginLeft")) +
14391            parseFloat(r.css("marginRight"))),
14392          (o -=
14393            parseFloat(c.css("paddingTop")) +
14394            parseFloat(c.css("paddingBottom")) +
14395            parseFloat(r.css("marginTop")) +
14396            parseFloat(r.css("marginBottom"))),
14397          (l && d) || ((l = e), (d = o)),
14398          (i = Math.min(1, e / l, o / d)),
14399          (l *= i),
14400          (d *= i),
14401          l > e - 0.5 && (l = e),
14402          d > o - 0.5 && (d = o),
14403          "image" === t.type
14404            ? ((u.top =
14405                Math.floor(0.5 * (o - d)) + parseFloat(c.css("paddingTop"))),
14406              (u.left =
14407                Math.floor(0.5 * (e - l)) + parseFloat(c.css("paddingLeft"))))
14408            : "video" === t.contentType &&
14409              ((a =
14410                t.opts.width && t.opts.height ? l / d : t.opts.ratio || 16 / 9),
14411              d > l / a ? (d = l / a) : l > d * a && (l = d * a)),
14412          (u.width = l),
14413          (u.height = d),
14414          u)
14415        );
14416      },
14417      update: function (t) {
14418        var e = this;
14419        n.each(e.slides, function (n, o) {
14420          e.updateSlide(o, t);
14421        });
14422      },
14423      updateSlide: function (t, e) {
14424        var o = this,
14425          i = t && t.$content,
14426          a = t.width || t.opts.width,
14427          s = t.height || t.opts.height,
14428          r = t.$slide;
14429        o.adjustCaption(t),
14430          i &&
14431            (a || s || "video" === t.contentType) &&
14432            !t.hasError &&
14433            (n.fancybox.stop(i),
14434            n.fancybox.setTranslate(i, o.getFitPos(t)),
14435            t.pos === o.currPos && ((o.isAnimating = !1), o.updateCursor(
14435))),
14436          o.adjustLayout(t),
14437          r.length &&
14438            (r.trigger("refresh"),
14439            t.pos === o.currPos &&
14440              o.$refs.toolbar
14441                .add(o.$refs.navigation.find(".fancybox-button--arrow_right"))
14442                .toggleClass(
14443                  "compensate-for-scrollbar",
14444                  r.get(0).scrollHeight > r.get(0).clientHeight
14445                )),
14446          o.trigger("onUpdate", t, e);
14447      },
14448      centerSlide: function (t) {
14449        var e = this,
14450          o = e.current,
14451          i = o.$slide;
14452        !e.isClosing &&
14453          o &&
14454          (i.siblings().css({ transform: "", opacity: "" }),
14455          i
14456            .parent()
14457            .children()
14458            .removeClass("fancybox-slide--previous fancybox-slide--next"),
14459          n.fancybox.animate(
14460            i,
14461            { top: 0, left: 0, opacity: 1 },
14462            void 0 === t ? 0 : t,
14463            function () {
14464              i.css({ transform: "", opacity: "" }),
14465                o.isComplete || e.complete();
14466            },
14467            !1
14468          ));
14469      },
14470      isMoved: function (t) {
14471        var e,
14472          o,
14473          i = t || this.current;
14474        return (
14475          !!i &&
14476          ((o = n.fancybox.getTranslate(this.$refs.stage)),
14477          (e = n.fancybox.getTranslate(i.$slide)),
14478          !i.$slide.hasClass("fancybox-animated") &&
14479            (Math.abs(e.top - o.top) > 0.5 || Math.abs(e.left - o.left) > 0.5))
14480        );
14481      },
14482      updateCursor: function (t, e) {
14483        var o,
14484          i,
14485          a = this,
14486          s = a.current,
14487          r = a.$refs.container;
14488        s &&
14489          !a.isClosing &&
14490          a.Guestures &&
14491          (r.removeClass(
14492            "fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"
14493          ),
14494          (o = a.canPan(t, e)),
14495          (i = !!o || a.isZoomable()),
14496          r.toggleClass("fancybox-is-zoomable", i),
14497          n("[data-fancybox-zoom]").prop("disabled", !i),
14498          o
14499            ? r.addClass("fancybox-can-pan")
14500            : i &&
14501              ("zoom" === s.opts.clickContent ||
14502                (n.isFunction(s.opts.clickContent) &&
14503                  "zoom" == s.opts.clickContent(s)))
14504            ? r.addClass("fancybox-can-zoomIn")
14505            : s.opts.touch &&
14506              (s.opts.touch.vertical || a.group.length > 1) &&
14507              "video" !== s.contentType &&
14508              r.addClass("fancybox-can-swipe"));
14509      },
14510      isZoomable: function () {
14511        var t,
14512          e = this,
14513          n = e.current;
14514        if (n && !e.isClosing && "image" === n.type && !n.hasError) {
14515          if (!n.isLoaded) return !0;
14516          if (
14517            (t = e.getFitPos(n)) &&
14518            (n.width > t.width || n.height > t.height)
14519          )
14520            return !0;
14521        }
14522        return !1;
14523      },
14524      isScaledDown: function (t, e) {
14525        var o = this,
14526          i = !1,
14527          a = o.current,
14528          s = a.$content;
14529        return (
14530          void 0 !== t && void 0 !== e
14531            ? (i = t < a.width && e < a.height)
14532            : s &&
14533              ((i = n.fancybox.getTranslate(s)),
14534              (i = i.width < a.width && i.height < a.height)),
14535          i
14536        );
14537      },
14538      canPan: function (t, e) {
14539        var o = this,
14540          i = o.current,
14541          a = null,
14542          s = !1;
14543        return (
14544          "image" === i.type &&
14545            (i.isComplete || (t && e)) &&
14546            !i.hasError &&
14547            ((s = o.getFitPos(i)),
14548            void 0 !== t && void 0 !== e
14549              ? (a = { width: t, height: e })
14550              : i.isComplete && (a = n.fancybox.getTranslate(i.$content)),
14551            a &&
14552              s &&
14553              (s =
14554                Math.abs(a.width - s.width) > 1.5 ||
14555                Math.abs(a.height - s.height) > 1.5)),
14556          s
14557        );
14558      },
14559      loadSlide: function (t) {
14560        var e,
14561          o,
14562          i,
14563          a = this;
14564        if (!t.isLoading && !t.isLoaded) {
14565          if (((t.isLoading = !0), !1 === a.trigger("beforeLoad", t)))
14566            return (t.isLoading = !1), !1;
14567          switch (
14568            ((e = t.type),
14569            (o = t.$slide),
14570            o.off("refresh").trigger("onReset").addClass(t.opts.slideClass),
14571            e)
14572          ) {
14573            case "image":
14574              a.setImage(t);
14575              break;
14576            case "iframe":
14577              a.setIframe(t);
14578              break;
14579            case "html":
14580              a.setContent(t, t.src || t.content);
14581              break;
14582            case "video":
14583              a.setContent(
14584                t,
14585                t.opts.video.tpl
14586                  .replace(/\{\{src\}\}/gi, t.src)
14587                  .replace(
14588                    "{{format}}",
14589                    t.opts.videoFormat || t.opts.video.format || ""
14590                  )
14591                  .replace("{{poster}}", t.thumb || "")
14592              );
14593              break;
14594            case "inline":
14595              n(t.src).length ? a.setContent(t, n(t.src)) : a.setError(t);
14596              break;
14597            case "ajax":
14598              a.showLoading(t),
14599                (i = n.ajax(
14600                  n.extend({}, t.opts.ajax.settings, {
14601                    url: t.src,
14602                    success: function (e, n) {
14603                      "success" === n && a.setContent(t, e);
14604                    },
14605                    error: function (e, n) {
14606                      e && "abort" !== n && a.setError(t);
14607                    },
14608                  })
14609                )),
14610                o.one("onReset", function () {
14611                  i.abort();
14612                });
14613              break;
14614            default:
14615              a.setError(t);
14616          }
14617          return !0;
14618        }
14619      },
14620      setImage: function (t) {
14621        var o,
14622          i = this;
14623        setTimeout(function () {
14624          var e = t.$image;
14625          i.isClosing ||
14626            !t.isLoading ||
14627            (e && e.length && e[0].complete) ||
14628            t.hasError ||
14629            i.showLoading(t);
14630        }, 50),
14631          i.checkSrcset(t),
14632          (t.$content = n('<div class="fancybox-content"></div>')
14633            .addClass("fancybox-is-hidden")
14634            .appendTo(t.$slide.addClass("fancybox-slide--image"))),
14635          !1 !== t.opts.preload &&
14636            t.opts.width &&
14637            t.opts.height &&
14638            t.thumb &&
14639            ((t.width = t.opts.width),
14640            (t.height = t.opts.height),
14641            (o = e.createElement("img")),
14642            (o.onerror = function () {
14643              n(this).remove(), (t.$ghost = null);
14644            }),
14645            (o.onload = function () {
14646              i.afterLoad(t);
14647            }),
14648            (t.$ghost = n(o)
14649              .addClass("fancybox-image")
14650              .appendTo(t.$content)
14651              .attr("src", t.thumb))),
14652          i.setBigImage(t);
14653      },
14654      checkSrcset: function (e) {
14655        var n,
14656          o,
14657          i,
14658          a,
14659          s = e.opts.srcset || e.opts.image.srcset;
14660        if (s) {
14661          (i = t.devicePixelRatio || 1),
14662            (a = t.innerWidth * i),
14663            (o = s.split(",").map(function (t) {
14664              var e = {};
14665              return (
14666                t
14667                  .trim()
14668                  .split(/\s+/)
14669                  .forEach(function (t, n) {
14670                    var o = parseInt(t.substring(0, t.length - 1), 10);
14671                    if (0 === n) return (e.url = t);
14672                    o && ((e.value = o), (e.postfix = t[t.length - 1]));
14673                  }),
14674                e
14675              );
14676            })),
14677            o.sort(function (t, e) {
14678              return t.value - e.value;
14679            });
14680          for (var r = 0; r < o.length; r++) {
14681            var c = o[r];
14682            if (
14683              ("w" === c.postfix && c.value >= a) ||
14684              ("x" === c.postfix && c.value >= i)
14685            ) {
14686              n = c;
14687              break;
14688            }
14689          }
14690          !n && o.length && (n = o[o.length - 1]),
14691            n &&
14692              ((e.src = n.url),
14693              e.width &&
14694                e.height &&
14695                "w" == n.postfix &&
14696                ((e.height = (e.width / e.height) * n.value),
14697                (e.width = n.value)),
14698              (e.opts.srcset = s));
14699        }
14700      },
14701      setBigImage: function (t) {
14702        var o = this,
14703          i = e.createElement("img"),
14704          a = n(i);
14705        (t.$image = a
14706          .one("error", function () {
14707            o.setError(t);
14708          })
14709          .one("load", function () {
14710            var e;
14711            t.$ghost ||
14712              (o.resolveImageSlideSize(
14713                t,
14714                this.naturalWidth,
14715                this.naturalHeight
14716              ),
14717              o.afterLoad(t)),
14718              o.isClosing ||
14719                (t.opts.srcset &&
14720                  ((e = t.opts.sizes),
14721                  (e && "auto" !== e) ||
14722                    (e =
14723                      (t.width / t.height > 1 && s.width() / s.height() > 1
14724                        ? "100"
14725                        : Math.round((t.width / t.height) * 100)) + "vw"),
14726                  a.attr("sizes", e).attr("srcset", t.opts.srcset)),
14727                t.$ghost &&
14728                  setTimeout(function () {
14729                    t.$ghost && !o.isClosing && t.$ghost.hide();
14730                  }, Math.min(300, Math.max(1e3, t.height / 1600))),
14731                o.hideLoading(t));
14732          })
14733          .addClass("fancybox-image")
14734          .attr("src", t.src)
14735          .appendTo(t.$content)),
14736          (i.complete || "complete" == i.readyState) &&
14737          a.naturalWidth &&
14738          a.naturalHeight
14739            ? a.trigger("load")
14740            : i.error && a.trigger("error");
14741      },
14742      resolveImageSlideSize: function (t, e, n) {
14743        var o = parseInt(t.opts.width, 10),
14744          i = parseInt(t.opts.height, 10);
14745        (t.width = e),
14746          (t.height = n),
14747          o > 0 && ((t.width = o), (t.height = Math.floor((o * n) / e))),
14748          i > 0 && ((t.width = Math.floor((i * e) / n)), (t.height = i));
14749      },
14750      setIframe: function (t) {
14751        var e,
14752          o = this,
14753          i = t.opts.iframe,
14754          a = t.$slide;
14755        (t.$content = n(
14756          '<div class="fancybox-content' +
14757            (i.preload ? " fancybox-is-hidden" : "") +
14758            '"></div>'
14759        )
14760          .css(i.css)
14761          .appendTo(a)),
14762          a.addClass("fancybox-slide--" + t.contentType),
14763          (t.$iframe = e =
14764            n(i.tpl.replace(/\{rnd\}/g, new Date().getTime()))
14765              .attr(i.attr)
14766              .appendTo(t.$content)),
14767          i.preload
14768            ? (o.showLoading(t),
14769              e.on("load.fb error.fb", function (e) {
14770                (this.isReady = 1), t.$slide.trigger("refresh"), o.afterLoad(t);
14771              }),
14772              a.on("refresh.fb", function () {
14773                var n,
14774                  o,
14775                  s = t.$content,
14776                  r = i.css.width,
14777                  c = i.css.height;
14778                if (1 === e[0].isReady) {
14779                  try {
14780                    (n = e.contents()), (o = n.find("body"));
14781                  } catch (t) {}
14782                  o &&
14783                    o.length &&
14784                    o.children().length &&
14785                    (a.css("overflow", "visible"),
14786                    s.css({
14787                      width: "100%",
14788                      "max-width": "100%",
14789                      height: "9999px",
14790                    }),
14791                    void 0 === r &&
14792                      (r = Math.ceil(
14793                        Math.max(o[0].clientWidth, o.outerWidth(!0))
14794                      )),
14795                    s.css("width", r || "").css("max-width", ""),
14796                    void 0 === c &&
14797                      (c = Math.ceil(
14798                        Math.max(o[0].clientHeight, o.outerHeight(!0))
14799                      )),
14800                    s.css("height", c || ""),
14801                    a.css("overflow", "auto")),
14802                    s.removeClass("fancybox-is-hidden");
14803                }
14804              }))
14805            : o.afterLoad(t),
14806          e.attr("src", t.src),
14807          a.one("onReset", function () {
14808            try {
14809              n(this)
14810                .find("iframe")
14811                .hide()
14812                .unbind()
14813                .attr("src", "//about:blank");
14814            } catch (t) {}
14815            n(this).off("refresh.fb").empty(),
14816              (t.isLoaded = !1),
14817              (t.isRevealed = !1);
14818          });
14819      },
14820      setContent: function (t, e) {
14821        var o = this;
14822        o.isClosing ||
14823          (o.hideLoading(t),
14824          t.$content && n.fancybox.stop(t.$content),
14825          t.$slide.empty(),
14826          l(e) && e.parent().length
14827            ? ((e.hasClass("fancybox-content") ||
14828                e.parent().hasClass("fancybox-content")) &&
14829                e.parents(".fancybox-slide").trigger("onReset"),
14830              (t.$placeholder = n("<div>").hide().insertAfter(e)),
14831              e.css("display", "inline-block"))
14832            : t.hasError ||
14833              ("string" === n.type(e) &&
14834                (e = n("<div>").append(n.trim(e)).contents()),
14835              t.opts.filter && (e = n("<div>").html(e).find(t.opts.filter))),
14836          t.$slide.one("onReset", function () {
14837            n(this).find("video,audio").trigger("pause"),
14838              t.$placeholder &&
14839                (t.$placeholder
14840                  .after(e.removeClass("fancybox-content").hide())
14841                  .remove(),
14842                (t.$placeholder = null)),
14843              t.$smallBtn && (t.$smallBtn.remove(), (t.$smallBtn = null)),
14844              t.hasError ||
14845                (n(this).empty(), (t.isLoaded = !1), (t.isRevealed = !1));
14846          }),
14847          n(e).appendTo(t.$slide),
14848          n(e).is("video,audio") &&
14849            (n(e).addClass("fancybox-video"),
14850            n(e).wrap("<div></div>"),
14851            (t.contentType = "video"),
14852            (t.opts.width = t.opts.width || n(e).attr("width")),
14853            (t.opts.height = t.opts.height || n(e).attr("height"))),
14854          (t.$content = t.$slide
14855            .children()
14856            .filter("div,form,main,video,audio,article,.fancybox-content")
14857            .first()),
14858          t.$content.siblings().hide(),
14859          t.$content.length ||
14860            (t.$content = t.$slide.wrapInner("<div></div>").children().first()),
14861          t.$content.addClass("fancybox-content"),
14862          t.$slide.addClass("fancybox-slide--" + t.contentType),
14863          o.afterLoad(t));
14864      },
14865      setError: function (t) {
14866        (t.hasError = !0),
14867          t.$slide
14868            .trigger("onReset")
14869            .removeClass("fancybox-slide--" + t.contentType)
14870            .addClass("fancybox-slide--error"),
14871          (t.contentType = "html"),
14872          this.setContent(t, this.translate(t, t.opts.errorTpl)),
14873          t.pos === this.currPos && (this.isAnimating = !1);
14874      },
14875      showLoading: function (t) {
14876        var e = this;
14877        (t = t || e.current) &&
14878          !t.$spinner &&
14879          (t.$spinner = n(e.translate(e, e.opts.spinnerTpl))
14880            .appendTo(t.$slide)
14881            .hide()
14882            .fadeIn("fast"));
14883      },
14884      hideLoading: function (t) {
14885        var e = this;
14886        (t = t || e.current) &&
14887          t.$spinner &&
14888          (t.$spinner.stop().remove(), delete t.$spinner);
14889      },
14890      afterLoad: function (t) {
14891        var e = this;
14892        e.isClosing ||
14893          ((t.isLoading = !1),
14894          (t.isLoaded = !0),
14895          e.trigger("afterLoad", t),
14896          e.hideLoading(t),
14897          !t.opts.smallBtn ||
14898            (t.$smallBtn && t.$smallBtn.length) ||
14899            (t.$smallBtn = n(e.translate(t, t.opts.btnTpl.smallBtn)).appendTo(
14900              t.$content
14901            )),
14902          t.opts.protect &&
14903            t.$content &&
14904            !t.hasError &&
14905            (t.$content.on("contextmenu.fb", function (t) {
14906              return 2 == t.button && t.preventDefault(), !0;
14907            }),
14908            "image" === t.type &&
14909              n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)),
14910          e.adjustCaption(t),
14911          e.adjustLayout(t),
14912          t.pos === e.currPos && e.updateCursor(),
14913          e.revealContent(t));
14914      },
14915      adjustCaption: function (t) {
14916        var e,
14917          n = this,
14918          o = t || n.current,
14919          i = o.opts.caption,
14920          a = o.opts.preventCaptionOverlap,
14921          s = n.$refs.caption,
14922          r = !1;
14923        s.toggleClass("fancybox-caption--separate", a),
14924          a &&
14925            i &&
14926            i.length &&
14927            (o.pos !== n.currPos
14928              ? ((e = s.clone().appendTo(s.parent())),
14929                e.children().eq(0).empty().html(i),
14930                (r = e.outerHeight(!0)),
14931                e.empty().remove())
14932              : n.$caption && (r = n.$caption.outerHeight(!0)),
14933            o.$slide.css("padding-bottom", r || ""));
14934      },
14935      adjustLayout: function (t) {
14936        var e,
14937          n,
14938          o,
14939          i,
14940          a = this,
14941          s = t || a.current;
14942        s.isLoaded &&
14943          !0 !== s.opts.disableLayoutFix &&
14944          (s.$content.css("margin-bottom", ""),
14945          s.$content.outerHeight() > s.$slide.height() + 0.5 &&
14946            ((o = s.$slide[0].style["padding-bottom"]),
14947            (i = s.$slide.css("padding-bottom")),
14948            parseFloat(i) > 0 &&
14949              ((e = s.$slide[0].scrollHeight),
14950              s.$slide.css("padding-bottom", 0),
14951              Math.abs(e - s.$slide[0].scrollHeight) < 1 && (n = i),
14952              s.$slide.css("padding-bottom", o))),
14953          s.$content.css("margin-bottom", n));
14954      },
14955      revealContent: function (t) {
14956        var e,
14957          o,
14958          i,
14959          a,
14960          s = this,
14961          r = t.$slide,
14962          c = !1,
14963          l = !1,
14964          d = s.isMoved(t),
14965          u = t.isRevealed;
14966        return (
14967          (t.isRevealed = !0),
14968          (e = t.opts[s.firstRun ? "animationEffect" : "transitionEffect"]),
14969          (i = t.opts[s.firstRun ? "animationDuration" : "transitionDuration"]),
14970          (i = parseInt(
14971            void 0 === t.forcedDuration ? i : t.forcedDuration,
14972            10
14973          )),
14974          (!d && t.pos === s.currPos && i) || (e = !1),
14975          "zoom" === e &&
14976            (t.pos === s.currPos &&
14977            i &&
14978            "image" === t.type &&
14979            !t.hasError &&
14980            (l = s.getThumbPos(t))
14981              ? (c = s.getFitPos(t))
14982              : (e = "fade")),
14983          "zoom" === e
14984            ? ((s.isAnimating = !0),
14985              (c.scaleX = c.width / l.width),
14986              (c.scaleY = c.height / l.height),
14987              (a = t.opts.zoomOpacity),
14988              "auto" == a &&
14989                (a = Math.abs(t.width / t.height - l.width / l.height) > 0.1),
14990              a && ((l.opacity = 0.1), (c.opacity = 1)),
14991              n.fancybox.setTranslate(
14992                t.$content.removeClass("fancybox-is-hidden"),
14993                l
14994              ),
14995              p(t.$content),
14996              void n.fancybox.animate(t.$content, c, i, function () {
14997                (s.isAnimating = !1), s.complete();
14998              }))
14999            : (s.updateSlide(t),
15000              e
15001                ? (n.fancybox.stop(r),
15002                  (o =
15003                    "fancybox-slide--" +
15004                    (t.pos >= s.prevPos ? "next" : "previous") +
15005                    " fancybox-animated fancybox-fx-" +
15006                    e),
15007                  r.addClass(o).removeClass("fancybox-slide--current"),
15008                  t.$content.removeClass("fancybox-is-hidden"),
15009                  p(r),
15010                  "image" !== t.type && t.$content.hide().show(0),
15011                  void n.fancybox.animate(
15012                    r,
15013                    "fancybox-slide--current",
15014                    i,
15015                    function () {
15016                      r.removeClass(o).css({ transform: "", opacity: "" }),
15017                        t.pos === s.currPos && s.complete();
15018                    },
15019                    !0
15020                  ))
15021                : (t.$content.removeClass("fancybox-is-hidden"),
15022                  u ||
15023                    !d ||
15024                    "image" !== t.type ||
15025                    t.hasError ||
15026                    t.$content.hide().fadeIn("fast"),
15027                  void (t.pos === s.currPos && s.complete())))
15028        );
15029      },
15030      getThumbPos: function (t) {
15031        var e,
15032          o,
15033          i,
15034          a,
15035          s,
15036          r = !1,
15037          c = t.$thumb;
15038        return (
15039          !(!c || !g(c[0])) &&
15040          ((e = n.fancybox.getTranslate(c)),
15041          (o = parseFloat(c.css("border-top-width") || 0)),
15042          (i = parseFloat(c.css("border-right-width") || 0)),
15043          (a = parseFloat(c.css("border-bottom-width") || 0)),
15044          (s = parseFloat(c.css("border-left-width") || 0)),
15045          (r = {
15046            top: e.top + o,
15047            left: e.left + s,
15048            width: e.width - i - s,
15049            height: e.height - o - a,
15050            scaleX: 1,
15051            scaleY: 1,
15052          }),
15053          e.width > 0 && e.height > 0 && r)
15054        );
15055      },
15056      complete: function () {
15057        var t,
15058          e = this,
15059          o = e.current,
15060          i = {};
15061        !e.isMoved() &&
15062          o.isLoaded &&
15063          (o.isComplete ||
15064            ((o.isComplete = !0),
15065            o.$slide.siblings().trigger("onReset"),
15066            e.preload("inline"),
15067            p(o.$slide),
15068            o.$slide.addClass("fancybox-slide--complete"),
15069            n.each(e.slides, function (t, o) {
15070              o.pos >= e.currPos - 1 && o.pos <= e.currPos + 1
15071                ? (i[o.pos] = o)
15072                : o && (n.fancybox.stop(o.$slide), o.$slide.off().remove());
15073            }),
15074            (e.slides = i)),
15075          (e.isAnimating = !1),
15076          e.updateCursor(),
15077          e.trigger("afterShow"),
15078          o.opts.video.autoStart &&
15079            o.$slide
15080              .find("video,audio")
15081              .filter(":visible:first")
15082              .trigger("play")
15083              .one("ended", function () {
15084                Document.exitFullscreen
15085                  ? Document.exitFullscreen()
15086                  : this.webkitExitFullscreen && this.webkitExitFullscreen(),
15087                  e.next();
15088              }),
15089          o.opts.autoFocus &&
15090            "html" === o.contentType &&
15091            ((t = o.$content.find("input[autofocus]:enabled:visible:first")),
15092            t.length ? t.trigger("focus") : e.focus(null, !0)),
15093          o.$slide.scrollTop(0).scrollLeft(0));
15094      },
15095      preload: function (t) {
15096        var e,
15097          n,
15098          o = this;
15099        o.group.length < 2 ||
15100          ((n = o.slides[o.currPos + 1]),
15101          (e = o.slides[o.currPos - 1]),
15102          e && e.type === t && o.loadSlide(e),
15103          n && n.type === t && o.loadSlide(n));
15104      },
15105      focus: function (t, o) {
15106        var i,
15107          a,
15108          s = this,
15109          r = [
15110            "a[href]",
15111            "area[href]",
15112            'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',
15113            "select:not([disabled]):not([aria-hidden])",
15114            "textarea:not([disabled]):not([aria-hidden])",
15115            "button:not([disabled]):not([aria-hidden])",
15116            "iframe",
15117            "object",
15118            "embed",
15119            "video",
15120            "audio",
15121            "[contenteditable]",
15122            '[tabindex]:not([tabindex^="-"])',
15123          ].join(",");
15124        s.isClosing ||
15125          ((i =
15126            !t && s.current && s.current.isComplete
15127              ? s.current.$slide.find(
15128                  "*:visible" + (o ? ":not(.fancybox-close-small)" : "")
15129                )
15130              : s.$refs.container.find("*:visible")),
15131          (i = i.filter(r).filter(function () {
15132            return (
15133              "hidden" !== n(this).css("visibility") &&
15134              !n(this).hasClass("disabled")
15135            );
15136          })),
15137          i.length
15138            ? ((a = i.index(e.activeElement)),
15139              t && t.shiftKey
15140                ? (a < 0 || 0 == a) &&
15141                  (t.preventDefault(), i.eq(i.length - 1).trigger("focus"))
15142                : (a < 0 || a == i.length - 1) &&
15143                  (t && t.preventDefault(), i.eq(0).trigger("focus")))
15144            : s.$refs.container.trigger("focus"));
15145      },
15146      activate: function () {
15147        var t = this;
15148        n(".fancybox-container").each(function () {
15149          var e = n(this).data("FancyBox");
15150          e &&
15151            e.id !== t.id &&
15152            !e.isClosing &&
15153            (e.trigger("onDeactivate"), e.removeEvents(), (e.isVisible = !1));
15154        }),
15155          (t.isVisible = !0),
15156          (t.current || t.isIdle) && (t.update(), t.updateControls()),
15157          t.trigger("onActivate"),
15158          t.addEvents();
15159      },
15160      close: function (t, e) {
15161        var o,
15162          i,
15163          a,
15164          s,
15165          r,
15166          c,
15167          l,
15168          u = this,
15169          f = u.current,
15170          h = function () {
15171            u.cleanUp(t);
15172          };
15173        return (
15174          !u.isClosing &&
15175          ((u.isClosing = !0),
15176          !1 === u.trigger("beforeClose", t)
15177            ? ((u.isClosing = !1),
15178              d(function () {
15179                u.update();
15180              }),
15181              !1)
15182            : (u.removeEvents(),
15183              (a = f.$content),
15184              (o = f.opts.animationEffect),
15185              (i = n.isNumeric(e) ? e : o ? f.opts.animationDuration : 0),
15186              f.$slide.removeClass(
15187                "fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"
15188              ),
15189              !0 !== t ? n.fancybox.stop(f.$slide) : (o = !1),
15190              f.$slide.siblings().trigger("onReset").remove(),
15191              i &&
15192                u.$refs.container
15193                  .removeClass("fancybox-is-open")
15194                  .addClass("fancybox-is-closing")
15195                  .css("transition-duration", i + "ms"),
15196              u.hideLoading(f),
15197              u.hideControls(!0),
15198              u.updateCursor(),
15199              "zoom" !== o ||
15200                (a &&
15201                  i &&
15202                  "image" === f.type &&
15203                  !u.isMoved() &&
15204                  !f.hasError &&
15205                  (l = u.getThumbPos(f))) ||
15206                (o = "fade"),
15207              "zoom" === o
15208                ? (n.fancybox.stop(a),
15209                  (s = n.fancybox.getTranslate(a)),
15210                  (c = {
15211                    top: s.top,
15212                    left: s.left,
15213                    scaleX: s.width / l.width,
15214                    scaleY: s.height / l.height,
15215                    width: l.width,
15216                    height: l.height,
15217                  }),
15218                  (r = f.opts.zoomOpacity),
15219                  "auto" == r &&
15220                    (r =
15221                      Math.abs(f.width / f.height - l.width / l.height) > 0.1),
15222                  r && (l.opacity = 0),
15223                  n.fancybox.setTranslate(a, c),
15224                  p(a),
15225                  n.fancybox.animate(a, l, i, h),
15226                  !0)
15227                : (o && i
15228                    ? n.fancybox.animate(
15229                        f.$slide
15230                          .addClass("fancybox-slide--previous")
15231                          .removeClass("fancybox-slide--current"),
15232                        "fancybox-animated fancybox-fx-" + o,
15233                        i,
15234                        h
15235                      )
15236                    : !0 === t
15237                    ? setTimeout(h, i)
15238                    : h(),
15239                  !0)))
15240        );
15241      },
15242      cleanUp: function (e) {
15243        var o,
15244          i,
15245          a,
15246          s = this,
15247          r = s.current.opts.$orig;
15248        s.current.$slide.trigger("onReset"),
15249          s.$refs.container.empty().remove(),
15250          s.trigger("afterClose", e),
15251          s.current.opts.backFocus &&
15252            ((r && r.length && r.is(":visible")) || (r = s.$trigger),
15253            r &&
15254              r.length &&
15255              ((i = t.scrollX),
15256              (a = t.scrollY),
15257              r.trigger("focus"),
15258              n("html, body").scrollTop(a).scrollLeft(i))),
15259          (s.current = null),
15260          (o = n.fancybox.getInstance()),
15261          o
15262            ? o.activate()
15263            : (n("body").removeClass(
15264                "fancybox-active compensate-for-scrollbar"
15265              ),
15266              n("#fancybox-style-noscroll").remove());
15267      },
15268      trigger: function (t, e) {
15269        var o,
15270          i = Array.prototype.slice.call(arguments, 1),
15271          a = this,
15272          s = e && e.opts ? e : a.current;
15273        if (
15274          (s ? i.unshift(s) : (s = a),
15275          i.unshift(a),
15276          n.isFunction(s.opts[t]) && (o = s.opts[t].apply(s, i)),
15277          !1 === o)
15278        )
15279          return o;
15280        "afterClose" !== t && a.$refs
15281          ? a.$refs.container.trigger(t + ".fb", i)
15282          : r.trigger(t + ".fb", i);
15283      },
15284      updateControls: function () {
15285        var t = this,
15286          o = t.current,
15287          i = o.index,
15288          a = t.$refs.container,
15289          s = t.$refs.caption,
15290          r = o.opts.caption;
15291        o.$slide.trigger("refresh"),
15292          r && r.length
15293            ? ((t.$caption = s), s.children().eq(0).html(r))
15294            : (t.$caption = null),
15295          t.hasHiddenControls || t.isIdle || t.showControls(),
15296          a.find("[data-fancybox-count]").html(t.group.length),
15297          a.find("[data-fancybox-index]").html(i + 1),
15298          a
15299            .find("[data-fancybox-prev]")
15300            .prop("disabled", !o.opts.loop && i <= 0),
15301          a
15302            .find("[data-fancybox-next]")
15303            .prop("disabled", !o.opts.loop && i >= t.group.length - 1),
15304          "image" === o.type
15305            ? a
15306                .find("[data-fancybox-zoom]")
15307                .show()
15308                .end()
15309                .find("[data-fancybox-download]")
15310                .attr("href", o.opts.image.src || o.src)
15311                .show()
15312            : o.opts.toolbar &&
15313              a.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),
15314          n(e.activeElement).is(":hidden,[disabled]") &&
15315            t.$refs.container.trigger("focus");
15316      },
15317      hideControls: function (t) {
15318        var e = this,
15319          n = ["infobar", "toolbar", "nav"];
15320        (!t && e.current.opts.preventCaptionOverlap) || n.push("caption"),
15321          this.$refs.container.removeClass(
15322            n
15323              .map(function (t) {
15324                return "fancybox-show-" + t;
15325              })
15326              .join(" ")
15327          ),
15328          (this.hasHiddenControls = !0);
15329      },
15330      showControls: function () {
15331        var t = this,
15332          e = t.current ? t.current.opts : t.opts,
15333          n = t.$refs.container;
15334        (t.hasHiddenControls = !1),
15335          (t.idleSecondsCounter = 0),
15336          n
15337            .toggleClass("fancybox-show-toolbar", !(!e.toolbar || !e.buttons))
15338            .toggleClass(
15339              "fancybox-show-infobar",
15340              !!(e.infobar && t.group.length > 1)
15341            )
15342            .toggleClass("fancybox-show-caption", !!t.$caption)
15343            .toggleClass(
15344              "fancybox-show-nav",
15345              !!(e.arrows && t.group.length > 1)
15346            )
15347            .toggleClass("fancybox-is-modal", !!e.modal);
15348      },
15349      toggleControls: function () {
15350        this.hasHiddenControls ? this.showControls() : this.hideControls();
15351      },
15352    }),
15353      (n.fancybox = {
15354        version: "3.5.7",
15355        defaults: a,
15356        getInstance: function (t) {
15357          var e = n(
15358              '.fancybox-container:not(".fancybox-is-closing"):last'
15359            ).data("FancyBox"),
15360            o = Array.prototype.slice.call(arguments, 1);
15361          return (
15362            e instanceof b &&
15363            ("string" === n.type(t)
15364              ? e[t].apply(e, o)
15365              : "function" === n.type(t) && t.apply(e, o),
15366            e)
15367          );
15368        },
15369        open: function (t, e, n) {
15370          return new b(t, e, n);
15371        },
15372        close: function (t) {
15373          var e = this.getInstance();
15374          e && (e.close(), !0 === t && this.close(t));
15375        },
15376        destroy: function () {
15377          this.close(!0), r.add("body").off("click.fb-start", "**");
15378        },
15379        isMobile:
15380          /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
15381            navigator.userAgent
15382          ),
15383        use3d: (function () {
15384          var n = e.createElement("div");
15385          return (
15386            t.getComputedStyle &&
15387            t.getComputedStyle(n) &&
15388            t.getComputedStyle(n).getPropertyValue("transform") &&
15389            !(e.documentMode && e.documentMode < 11)
15390          );
15391        })(),
15392        getTranslate: function (t) {
15393          var e;
15394          return (
15395            !(!t || !t.length) &&
15396            ((e = t[0].getBoundingClientRect()),
15397            {
15398              top: e.top || 0,
15399              left: e.left || 0,
15400              width: e.width,
15401              height: e.height,
15402              opacity: parseFloat(t.css("opacity")),
15403            })
15404          );
15405        },
15406        setTranslate: function (t, e) {
15407          var n = "",
15408            o = {};
15409          if (t && e)
15410            return (
15411              (void 0 === e.left && void 0 === e.top) ||
15412                ((n =
15413                  (void 0 === e.left ? t.position().left : e.left) +
15414                  "px, " +
15415                  (void 0 === e.top ? t.position().top : e.top) +
15416                  "px"),
15417                (n = this.use3d
15418                  ? "translate3d(" + n + ", 0px)"
15419                  : "translate(" + n + ")")),
15420              void 0 !== e.scaleX && void 0 !== e.scaleY
15421                ? (n += " scale(" + e.scaleX + ", " + e.scaleY + ")")
15422                : void 0 !== e.scaleX && (n += " scaleX(" + e.scaleX + ")"),
15423              n.length && (o.transform = n),
15424              void 0 !== e.opacity && (o.opacity = e.opacity),
15425              void 0 !== e.width && (o.width = e.width),
15426              void 0 !== e.height && (o.height = e.height),
15427              t.css(o)
15428            );
15429        },
15430        animate: function (t, e, o, i, a) {
15431          var s,
15432            r = this;
15433          n.isFunction(o) && ((i = o), (o = null)),
15434            r.stop(t),
15435            (s = r.getTranslate(t)),
15436            t.on(f, function (c) {
15437              (!c ||
15438                !c.originalEvent ||
15439                (t.is(c.originalEvent.target) &&
15440                  "z-index" != c.originalEvent.propertyName)) &&
15441                (r.stop(t),
15442                n.isNumeric(o) && t.css("transition-duration", ""),
15443                n.isPlainObject(e)
15444                  ? void 0 !== e.scaleX &&
15445                    void 0 !== e.scaleY &&
15446                    r.setTranslate(t, {
15447                      top: e.top,
15448                      left: e.left,
15449                      width: s.width * e.scaleX,
15450                      height: s.height * e.scaleY,
15451                      scaleX: 1,
15452                      scaleY: 1,
15453                    })
15454                  : !0 !== a && t.removeClass(e),
15455                n.isFunction(i) && i(c));
15456            }),
15457            n.isNumeric(o) && t.css("transition-duration", o + "ms"),
15458            n.isPlainObject(e)
15459              ? (void 0 !== e.scaleX &&
15460                  void 0 !== e.scaleY &&
15461                  (delete e.width,
15462                  delete e.height,
15463                  t.parent().hasClass("fancybox-slide--image") &&
15464                    t.parent().addClass("fancybox-is-scaling")),
15465                n.fancybox.setTranslate(t, e))
15466              : t.addClass(e),
15467            t.data(
15468              "timer",
15469              setTimeout(function () {
15470                t.trigger(f);
15471              }, o + 33)
15472            );
15473        },
15474        stop: function (t, e) {
15475          t &&
15476            t.length &&
15477            (clearTimeout(t.data("timer")),
15478            e && t.trigger(f),
15479            t.off(f).css("transition-duration", ""),
15480            t.parent().removeClass("fancybox-is-scaling"));
15481        },
15482      }),
15483      (n.fn.fancybox = function (t) {
15484        var e;
15485        return (
15486          (t = t || {}),
15487          (e = t.selector || !1),
15488          e
15489            ? n("body")
15490                .off("click.fb-start", e)
15491                .on("click.fb-start", e, { options: t }, i)
15492            : this.off("click.fb-start").on(
15493                "click.fb-start",
15494                { items: this, options: t },
15495                i
15496              ),
15497          this
15498        );
15499      }),
15500      r.on("click.fb-start", "[data-fancybox]", i),
15501      r.on("click.fb-start", "[data-fancybox-trigger]", function (t) {
15502        n('[data-fancybox="' + n(this).attr("data-fancybox-trigger") + '"]')
15503          .eq(n(this).attr("data-fancybox-index") || 0)
15504          .trigger("click.fb-start", { $trigger: n(this) });
15505      }),
15506      (function () {
15507        var t = null;
15508        r.on("mousedown mouseup focus blur", ".fancybox-button", function (e) {
15509          switch (e.type) {
15510            case "mousedown":
15511              t = n(this);
15512              break;
15513            case "mouseup":
15514              t = null;
15515              break;
15516            case "focusin":
15517              n(".fancybox-button").removeClass("fancybox-focus"),
15518                n(this).is(t) ||
15519                  n(this).is("[disabled]") ||
15520                  n(this).addClass("fancybox-focus");
15521              break;
15522            case "focusout":
15523              n(".fancybox-button").removeClass("fancybox-focus");
15524          }
15525        });
15526      })();
15527  }
15528})(window, document, jQuery),
15529  (function (t) {
15530    "use strict";
15531    var e = {
15532        youtube: {
15533          matcher:
15534            /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,
15535          params: {
15536            autoplay: 1,
15537            autohide: 1,
15538            fs: 1,
15539            rel: 0,
15540            hd: 1,
15541            wmode: "transparent",
15542            enablejsapi: 1,
15543            html5: 1,
15544          },
15545          paramPlace: 8,
15546          type: "iframe",
15547          url: "https://www.youtube-nocookie.com/embed/$4",
15548          thumb: "https://img.youtube.com/vi/$4/hqdefault.jpg",
15549        },
15550        vk: {
15551          matcher: /^.+vk\.com\/video([-_0-9]+)_([0-9]+)\/?/,
15552          params: {
15553            frameBorder: 0,
15554            allow: "autoplay; encrypted-media",
15555            allowfullscreen: !0,
15556          },
15557          paramPlace: 1,
15558          type: "iframe",
15559          url: "//vk.com/video_ext.php?oid=$1&id=$2&hd=2&autoplay=1",
15560        },
15561        vkvideo: {
15562          matcher: /^.+vkvideo\.ru\/video([-_0-9]+)_([0-9]+)\/?/,
15563          params: {
15564            frameBorder: 0,
15565            allow: "autoplay; encrypted-media",
15566            allowfullscreen: !0,
15567          },
15568          paramPlace: 1,
15569          type: "iframe",
15570          url: "//vkvideo.ru/video_ext.php?oid=$1&id=$2&hd=2&autoplay=1",
15571        },
15572        rutube: {
15573          matcher: /^.+rutube.ru\/video\/(.*\/)?([\w]+)(.*)\/?/,
15574          params: { frameBorder: 0 },
15575          paramPlace: 1,
15576          type: "iframe",
15577          url: "//rutube.ru/play/embed/$2",
15578        },
15579        vimeo: {
15580          matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,
15581          params: {
15582            autoplay: 1,
15583            hd: 1,
15584            show_title: 1,
15585            show_byline: 1,
15586            show_portrait: 0,
15587            fullscreen: 1,
15588          },
15589          paramPlace: 3,
15590          type: "iframe",
15591          url: "//player.vimeo.com/video/$2",
15592        },
15593        instagram: {
15594          matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
15595          type: "image",
15596          url: "//$1/p/$2/media/?size=l",
15597        },
15598        gmap_place: {
15599          matcher:
15600            /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,
15601          type: "iframe",
15602          url: function (t) {
15603            return (
15604              "//maps.google." +
15605              t[2] +
15606              "/?ll=" +
15607              (t[9]
15608                ? t[9] +
15609                  "&z=" +
15610                  Math.floor(t[10]) +
15611                  (t[12] ? t[12].replace(/^\//, "&") : "")
15612                : t[12] + ""
15613              ).replace(/\?/, "&") +
15614              "&output=" +
15615              (t[12] && t[12].indexOf("layer=c") > 0 ? "svembed" : "embed")
15616            );
15617          },
15618        },
15619        gmap_search: {
15620          matcher:
15621            /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,
15622          type: "iframe",
15623          url: function (t) {
15624            return (
15625              "//maps.google." +
15626              t[2] +
15627              "/maps?q=" +
15628              t[5].replace("query=", "q=").replace("api=1", "") +
15629              "&output=embed"
15630            );
15631          },
15632        },
15633      },
15634      n = function (e, n, o) {
15635        if (e)
15636          return (
15637            (o = o || ""),
15638            "object" === t.type(o) && (o = t.param(o, !0)),
15639            t.each(n, function (t, n) {
15640              e = e.replace("$" + t, n || "");
15641            }),
15642            o.length && (e += (e.indexOf("?") > 0 ? "&" : "?") + o),
15643            e
15644          );
15645      };
15646    t(document).on("objectNeedsType.fb", function (o, i, a) {
15647      var s,
15648        r,
15649        c,
15650        l,
15651        d,
15652        u,
15653        f,
15654        p = a.src || "",
15655        h = !1;
15656      (s = t.extend(!0, {}, e, a.opts.media)),
15657        t.each(s, function (e, o) {
15658          if ((c = p.match(o.matcher))) {
15659            if (
15660              ((h = o.type), (f = e), (u = {}), o.paramPlace && c[o.paramPlace])
15661            ) {
15662              (d = c[o.paramPlace]),
15663                "?" == d[0] && (d = d.substring(1)),
15664                (d = d.split("&"));
15665              for (var i = 0; i < d.length; ++i) {
15666                var s = d[i].split("=", 2);
15667                2 == s.length &&
15668                  (u[s[0]] = decodeURIComponent(s[1].replace(/\+/g, " ")));
15669              }
15670            }
15671            return (
15672              (l = t.extend(!0, {}, o.params, a.opts[e], u)),
15673              (p =
15674                "function" === t.type(o.url)
15675                  ? o.url.call(this, c, l, a)
15676                  : n(o.url, c, l)),
15677              (r =
15678                "function" === t.type(o.thumb)
15679                  ? o.thumb.call(this, c, l, a)
15680                  : n(o.thumb, c)),
15681              "youtube" === e
15682                ? (p = p.replace(/&t=((\d+)m)?(\d+)s/, function (t, e, n, o) {
15683                    return (
15684                      "&start=" +
15685                      ((n ? 60 * parseInt(n, 10) : 0) + parseInt(o, 10))
15686                    );
15687                  }))
15688                : "vimeo" === e && (p = p.replace("&%23", "#")),
15689              !1
15690            );
15691          }
15692        }),
15693        h
15694          ? (a.opts.thumb ||
15695              (a.opts.$thumb && a.opts.$thumb.length) ||
15696              (a.opts.thumb = r),
15697            "iframe" === h &&
15698              (a.opts = t.extend(!0, a.opts, {
15699                iframe: { preload: !1, attr: { scrolling: "no" } },
15700              })),
15701            t.extend(a, {
15702              type: h,
15703              src: p,
15704              origSrc: a.src,
15705              contentSource: f,
15706              contentType:
15707                "image" === h
15708                  ? "image"
15709                  : "gmap_place" == f || "gmap_search" == f
15710                  ? "map"
15711                  : "video",
15712            }))
15713          : p && (a.type = a.opts.defaultType);
15714    });
15715    var o = {
15716      youtube: {
15717        src: "https://www.youtube.com/iframe_api",
15718        class: "YT",
15719        loading: !1,
15720        loaded: !1,
15721      },
15722      vimeo: {
15723        src: "https://player.vimeo.com/api/player.js",
15724        class: "Vimeo",
15725        loading: !1,
15726        loaded: !1,
15727      },
15728      load: function (t) {
15729        var e,
15730          n = this;
15731        if (this[t].loaded)
15732          return void setTimeout(function () {
15733            n.done(t);
15734          });
15735        this[t].loading ||
15736          ((this[t].loading = !0),
15737          (e = document.createElement("script")),
15738          (e.type = "text/javascript"),
15739          (e.src = this[t].src),
15740          "youtube" === t
15741            ? (window.onYouTubeIframeAPIReady = function () {
15742                (n[t].loaded = !0), n.done(t);
15743              })
15744            : (e.onload = function () {
15745                (n[t].loaded = !0), n.done(t);
15746              }),
15747          document.body.appendChild(e));
15748      },
15749      done: function (e) {
15750        var n, o, i;
15751        "youtube" === e && delete window.onYouTubeIframeAPIReady,
15752          (n = t.fancybox.getInstance()) &&
15753            ((o = n.current.$content.find("iframe")),
15754            "youtube" === e && void 0 !== YT && YT
15755              ? (i = new YT.Player(o.attr("id"), {
15756                  events: {
15757                    onStateChange: function (t) {
15758                      0 == t.data && n.next();
15759                    },
15760                  },
15761                }))
15762              : "vimeo" === e &&
15763                void 0 !== Vimeo &&
15764                Vimeo &&
15765                ((i = new Vimeo.Player(o)),
15766                i.on("ended", function () {
15767                  n.next();
15768                })));
15769      },
15770    };
15771    t(document).on({
15772      "afterShow.fb": function (t, e, n) {
15773        e.group.length > 1 &&
15774          ("youtube" === n.contentSource || "vimeo" === n.contentSource) &&
15775          o.load(n.contentSource);
15776      },
15777    });
15778  })(jQuery),
15779  (function (t, e, n) {
15780    "use strict";
15781    var o = (function () {
15782        return (
15783          t.requestAnimationFrame ||
15784          t.webkitRequestAnimationFrame ||
15785          t.mozRequestAnimationFrame ||
15786          t.oRequestAnimationFrame ||
15787          function (e) {
15788            return t.setTimeout(e, 1e3 / 60);
15789          }
15790        );
15791      })(),
15792      i = (function () {
15793        return (
15794          t.cancelAnimationFrame ||
15795          t.webkitCancelAnimationFrame ||
15796          t.mozCancelAnimationFrame ||
15797          t.oCancelAnimationFrame ||
15798          function (e) {
15799            t.clearTimeout(e);
15800          }
15801        );
15802      })(),
15803      a = function (e) {
15804        var n = [];
15805        (e = e.originalEvent || e || t.e),
15806          (e =
15807            e.touches && e.touches.length
15808              ? e.touches
15809              : e.changedTouches && e.changedTouches.length
15810              ? e.changedTouches
15811              : [e]);
15812        for (var o in e)
15813          e[o].pageX
15814            ? n.push({ x: e[o].pageX, y: e[o].pageY })
15815            : e[o].clientX && n.push({ x: e[o].clientX, y: e[o].clientY });
15816        return n;
15817      },
15818      s = function (t, e, n) {
15819        return e && t
15820          ? "x" === n
15821            ? t.x - e.x
15822            : "y" === n
15823            ? t.y - e.y
15824            : Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2))
15825          : 0;
15826      },
15827      r = function (t) {
15828        if (
15829          t.is(
15830            'a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe'
15831          ) ||
15832          n.isFunction(t.get(0).onclick) ||
15833          t.data("selectable")
15834        )
15835          return !0;
15836        for (var e = 0, o = t[0].attributes, i = o.length; e < i; e++)
15837          if ("data-fancybox-" === o[e].nodeName.substr(0, 14)) return !0;
15838        return !1;
15839      },
15840      c = function (e) {
15841        var n = t.getComputedStyle(e)["overflow-y"],
15842          o = t.getComputedStyle(e)["overflow-x"],
15843          i =
15844            ("scroll" === n || "auto" === n) && e.scrollHeight > e.clientHeight,
15845          a = ("scroll" === o || "auto" === o) && e.scrollWidth > e.clientWidth;
15846        return i || a;
15847      },
15848      l = function (t) {
15849        for (var e = !1; ; ) {
15850          if ((e = c(t.get(0)))) break;
15851          if (
15852            ((t = t.parent()),
15853            !t.length || t.hasClass("fancybox-stage") || t.is("body"))
15854          )
15855            break;
15856        }
15857        return e;
15858      },
15859      d = function (t) {
15860        var e = this;
15861        (e.instance = t),
15862          (e.$bg = t.$refs.bg),
15863          (e.$stage = t.$refs.stage),
15864          (e.$container = t.$refs.container),
15865          e.destroy(),
15866          e.$container.on(
15867            "touchstart.fb.touch mousedown.fb.touch",
15868            n.proxy(e, "ontouchstart")
15869          );
15870      };
15871    (d.prototype.destroy = function () {
15872      var t = this;
15873      t.$container.off(".fb.touch"),
15874        n(e).off(".fb.touch"),
15875        t.requestId && (i(t.requestId), (t.requestId = null)),
15876        t.tapped && (clearTimeout(t.tapped), (t.tapped = null));
15877    }),
15878      (d.prototype.ontouchstart = function (o) {
15879        var i = this,
15880          c = n(o.target),
15881          d = i.instance,
15882          u = d.current,
15883          f = u.$slide,
15884          p = u.$content,
15885          h = "touchstart" == o.type;
15886        if (
15887          (h && i.$container.off("mousedown.fb.touch"),
15888          (!o.originalEvent || 2 != o.originalEvent.button) &&
15889            f.length &&
15890            c.length &&
15891            !r(c) &&
15892            !r(c.parent()) &&
15893            (c.is("img") ||
15894              !(o.originalEvent.clientX > c[0].clientWidth + c.offset().left)))
15895        ) {
15896          if (!u || d.isAnimating || u.$slide.hasClass("fancybox-animated"))
15897            return o.stopPropagation(), void o.preventDefault();
15898          (i.realPoints = i.startPoints = a(o)),
15899            i.startPoints.length &&
15900              (u.touch && o.stopPropagation(),
15901              (i.startEvent = o),
15902              (i.canTap = !0),
15903              (i.$target = c),
15904              (i.$content = p),
15905              (i.opts = u.opts.touch),
15906              (i.isPanning = !1),
15907              (i.isSwiping = !1),
15908              (i.isZooming = !1),
15909              (i.isScrolling = !1),
15910              (i.canPan = d.canPan()),
15911              (i.startTime = new Date().getTime()),
15912              (i.distanceX = i.distanceY = i.distance = 0),
15913              (i.canvasWidth = Math.round(f[0].clientWidth)),
15914              (i.canvasHeight = Math.round(f[0].clientHeight)),
15915              (i.contentLastPos = null),
15916              (i.contentStartPos = n.fancybox.getTranslate(i.$content) || {
15917                top: 0,
15918                left: 0,
15919              }),
15920              (i.sliderStartPos = n.fancybox.getTranslate(f)),
15921              (i.stagePos = n.fancybox.getTranslate(d.$refs.stage)),
15922              (i.sliderStartPos.top -= i.stagePos.top),
15923              (i.sliderStartPos.left -= i.stagePos.left),
15924              (i.contentStartPos.top -= i.stagePos.top),
15925              (i.contentStartPos.left -= i.stagePos.left),
15926              n(e)
15927                .off(".fb.touch")
15928                .on(
15929                  h
15930                    ? "touchend.fb.touch touchcancel.fb.touch"
15931                    : "mouseup.fb.touch mouseleave.fb.touch",
15932                  n.proxy(i, "ontouchend")
15933                )
15934                .on(
15935                  h ? "touchmove.fb.touch" : "mousemove.fb.touch",
15936                  n.proxy(i, "ontouchmove")
15937                ),
15938              n.fancybox.isMobile &&
15939                e.addEventListener("scroll", i.onscroll, !0),
15940              (((i.opts || i.canPan) &&
15941                (c.is(i.$stage) || i.$stage.find(c).length)) ||
15942                (c.is(".fancybox-image") && o.preventDefault(),
15943                n.fancybox.isMobile &&
15944                  c.parents(".fancybox-caption").length)) &&
15945                ((i.isScrollable = l(c) || l(c.parent())),
15946                (n.fancybox.isMobile && i.isScrollable) || o.preventDefault(),
15947                (1 === i.startPoints.length || u.hasError) &&
15948                  (i.canPan
15949                    ? (n.fancybox.stop(i.$content), (i.isPanning = !0))
15950                    : (i.isSwiping = !0),
15951                  i.$container.addClass("fancybox-is-grabbing")),
15952                2 === i.startPoints.length &&
15953                  "image" === u.type &&
15954                  (u.isLoaded || u.$ghost) &&
15955                  ((i.canTap = !1),
15956                  (i.isSwiping = !1),
15957                  (i.isPanning = !1),
15958                  (i.isZooming = !0),
15959                  n.fancybox.stop(i.$content),
15960                  (i.centerPointStartX =
15961                    0.5 * (i.startPoints[0].x + i.startPoints[1].x) -
15962                    n(t).scrollLeft()),
15963                  (i.centerPointStartY =
15964                    0.5 * (i.startPoints[0].y + i.startPoints[1].y) -
15965                    n(t).scrollTop()),
15966                  (i.percentageOfImageAtPinchPointX =
15967                    (i.centerPointStartX - i.contentStartPos.left) /
15968                    i.contentStartPos.width),
15969                  (i.percentageOfImageAtPinchPointY =
15970                    (i.centerPointStartY - i.contentStartPos.top) /
15971                    i.contentStartPos.height),
15972                  (i.startDistanceBetweenFingers = s(
15973                    i.startPoints[0],
15974                    i.startPoints[1]
15975                  )))));
15976        }
15977      }),
15978      (d.prototype.onscroll = function (t) {
15979        var n = this;
15980        (n.isScrolling = !0), e.removeEventListener("scroll", n.onscroll, !0);
15981      }),
15982      (d.prototype.ontouchmove = function (t) {
15983        var e = this;
15984        return void 0 !== t.originalEvent.buttons &&
15985          0 === t.originalEvent.buttons
15986          ? void e.ontouchend(t)
15987          : e.isScrolling
15988          ? void (e.canTap = !1)
15989          : ((e.newPoints = a(t)),
15990            void (
15991              (e.opts || e.canPan) &&
15992              e.newPoints.length &&
15993              e.newPoints.length &&
15994              ((e.isSwiping && !0 === e.isSwiping) || t.preventDefault(),
15995              (e.distanceX = s(e.newPoints[0], e.startPoints[0], "x")),
15996              (e.distanceY = s(e.newPoints[0], e.startPoints[0], "y")),
15997              (e.distance = s(e.newPoints[0], e.startPoints[0])),
15998              e.distance > 0 &&
15999                (e.isSwiping
16000                  ? e.onSwipe(t)
16001                  : e.isPanning
16002                  ? e.onPan()
16003                  : e.isZooming && e.onZoom()))
16004            ));
16005      }),
16006      (d.prototype.onSwipe = function (e) {
16007        var a,
16008          s = this,
16009          r = s.instance,
16010          c = s.isSwiping,
16011          l = s.sliderStartPos.left || 0;
16012        if (!0 !== c)
16013          "x" == c &&
16014            (s.distanceX > 0 &&
16015            (s.instance.group.length < 2 ||
16016              (0 === s.instance.current.index && !s.instance.current.opts.loop))
16017              ? (l += Math.pow(s.distanceX, 0.8))
16018              : s.distanceX < 0 &&
16019                (s.instance.group.length < 2 ||
16020                  (s.instance.current.index === s.instance.group.length - 1 &&
16021                    !s.instance.current.opts.loop))
16022              ? (l -= Math.pow(-s.distanceX, 0.8))
16023              : (l += s.distanceX)),
16024            (s.sliderLastPos = {
16025              top: "x" == c ? 0 : s.sliderStartPos.top + s.distanceY,
16026              left: l,
16027            }),
16028            s.requestId && (i(s.requestId), (s.requestId = null)),
16029            (s.requestId = o(function () {
16030              s.sliderLastPos &&
16031                (n.each(s.instance.slides, function (t, e) {
16032                  var o = e.pos - s.instance.currPos;
16033                  n.fancybox.setTranslate(e.$slide, {
16034                    top: s.sliderLastPos.top,
16035                    left:
16036                      s.sliderLastPos.left +
16037                      o * s.canvasWidth +
16038                      o * e.opts.gutter,
16039                  });
16040                }),
16041                s.$container.addClass("fancybox-is-sliding"));
16042            }));
16043        else if (Math.abs(s.distance) > 10) {
16044          if (
16045            ((s.canTap = !1),
16046            r.group.length < 2 && s.opts.vertical
16047              ? (s.isSwiping = "y")
16048              : r.isDragging ||
16049                !1 === s.opts.vertical ||
16050                ("auto" === s.opts.vertical && n(t).width() > 800)
16051              ? (s.isSwiping = "x")
16052              : ((a = Math.abs(
16053                  (180 * Math.atan2(s.distanceY, s.distanceX)) / Math.PI
16054                )),
16055                (s.isSwiping = a > 45 && a < 135 ? "y" : "x")),
16056            "y" === s.isSwiping && n.fancybox.isMobile && s.isScrollable)
16057          )
16058            return void (s.isScrolling = !0);
16059          (r.isDragging = s.isSwiping),
16060            (s.startPoints = s.newPoints),
16061            n.each(r.slides, function (t, e) {
16062              var o, i;
16063              n.fancybox.stop(e.$slide),
16064                (o = n.fancybox.getTranslate(e.$slide)),
16065                (i = n.fancybox.getTranslate(r.$refs.stage)),
16066                e.$slide
16067                  .css({
16068                    transform: "",
16069                    opacity: "",
16070                    "transition-duration": "",
16071                  })
16072                  .removeClass("fancybox-animated")
16073                  .removeClass(function (t, e) {
16074                    return (e.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ");
16075                  }),
16076                e.pos === r.current.pos &&
16077                  ((s.sliderStartPos.top = o.top - i.top),
16078                  (s.sliderStartPos.left = o.left - i.left)),
16079                n.fancybox.setTranslate(e.$slide, {
16080                  top: o.top - i.top,
16081                  left: o.left - i.left,
16082                });
16083            }),
16084            r.SlideShow && r.SlideShow.isActive && r.SlideShow.stop();
16085        }
16086      }),
16087      (d.prototype.onPan = function () {
16088        var t = this;
16089        if (s(t.newPoints[0], t.realPoints[0]) < (n.fancybox.isMobile ? 10 : 5))
16090          return void (t.startPoints = t.newPoints);
16091        (t.canTap = !1),
16092          (t.contentLastPos = t.limitMovement()),
16093          t.requestId && i(t.requestId),
16094          (t.requestId = o(function () {
16095            n.fancybox.setTranslate(t.$content, t.contentLastPos);
16096          }));
16097      }),
16098      (d.prototype.limitMovement = function () {
16099        var t,
16100          e,
16101          n,
16102          o,
16103          i,
16104          a,
16105          s = this,
16106          r = s.canvasWidth,
16107          c = s.canvasHeight,
16108          l = s.distanceX,
16109          d = s.distanceY,
16110          u = s.contentStartPos,
16111          f = u.left,
16112          p = u.top,
16113          h = u.width,
16114          g = u.height;
16115        return (
16116          (i = h > r ? f + l : f),
16117          (a = p + d),
16118          (t = Math.max(0, 0.5 * r - 0.5 * h)),
16119          (e = Math.max(0, 0.5 * c - 0.5 * g)),
16120          (n = Math.min(r - h, 0.5 * r - 0.5 * h)),
16121          (o = Math.min(c - g, 0.5 * c - 0.5 * g)),
16122          l > 0 && i > t && (i = t - 1 + Math.pow(-t + f + l, 0.8) || 0),
16123          l < 0 && i < n && (i = n + 1 - Math.pow(n - f - l, 0.8) || 0),
16124          d > 0 && a > e && (a = e - 1 + Math.pow(-e + p + d, 0.8) || 0),
16125          d < 0 && a < o && (a = o + 1 - Math.pow(o - p - d, 0.8) || 0),
16126          { top: a, left: i }
16127        );
16128      }),
16129      (d.prototype.limitPosition = function (t, e, n, o) {
16130        var i = this,
16131          a = i.canvasWidth,
16132          s = i.canvasHeight;
16133        return (
16134          n > a
16135            ? ((t = t > 0 ? 0 : t), (t = t < a - n ? a - n : t))
16136            : (t = Math.max(0, a / 2 - n / 2)),
16137          o > s
16138            ? ((e = e > 0 ? 0 : e), (e = e < s - o ? s - o : e))
16139            : (e = Math.max(0, s / 2 - o / 2)),
16140          { top: e, left: t }
16141        );
16142      }),
16143      (d.prototype.onZoom = function () {
16144        var e = this,
16145          a = e.contentStartPos,
16146          r = a.width,
16147          c = a.height,
16148          l = a.left,
16149          d = a.top,
16150          u = s(e.newPoints[0], e.newPoints[1]),
16151          f = u / e.startDistanceBetweenFingers,
16152          p = Math.floor(r * f),
16153          h = Math.floor(c * f),
16154          g = (r - p) * e.percentageOfImageAtPinchPointX,
16155          b = (c - h) * e.percentageOfImageAtPinchPointY,
16156          m = (e.newPoints[0].x + e.newPoints[1].x) / 2 - n(t).scrollLeft(),
16157          v = (e.newPoints[0].y + e.newPoints[1].y) / 2 - n(t).scrollTop(),
16158          y = m - e.centerPointStartX,
16159          x = v - e.centerPointStartY,
16160          w = l + (g + y),
16161          $ = d + (b + x),
16162          S = { top: $, left: w, scaleX: f, scaleY: f };
16163        (e.canTap = !1),
16164          (e.newWidth = p),
16165          (e.newHeight = h),
16166          (e.contentLastPos = S),
16167          e.requestId && i(e.requestId),
16168          (e.requestId = o(function () {
16169            n.fancybox.setTranslate(e.$content, e.contentLastPos);
16170          }));
16171      }),
16172      (d.prototype.ontouchend = function (t) {
16173        var o = this,
16174          s = o.isSwiping,
16175          r = o.isPanning,
16176          c = o.isZooming,
16177          l = o.isScrolling;
16178        if (
16179          ((o.endPoints = a(t)),
16180          (o.dMs = Math.max(new Date().getTime() - o.startTime, 1)),
16181          o.$container.removeClass("fancybox-is-grabbing"),
16182          n(e).off(".fb.touch"),
16183          e.removeEventListener("scroll", o.onscroll, !0),
16184          o.requestId && (i(o.requestId), (o.requestId = null)),
16185          (o.isSwiping = !1),
16186          (o.isPanning = !1),
16187          (o.isZooming = !1),
16188          (o.isScrolling = !1),
16189          (o.instance.isDragging = !1),
16190          o.canTap)
16191        )
16192          return o.onTap(t);
16193        (o.speed = 100),
16194          (o.velocityX = (o.distanceX / o.dMs) * 0.5),
16195          (o.velocityY = (o.distanceY / o.dMs) * 0.5),
16196          r ? o.endPanning() : c ? o.endZooming() : o.endSwiping(s, l);
16197      }),
16198      (d.prototype.endSwiping = function (t, e) {
16199        var o = this,
16200          i = !1,
16201          a = o.instance.group.length,
16202          s = Math.abs(o.distanceX),
16203          r = "x" == t && a > 1 && ((o.dMs > 130 && s > 10) || s > 50);
16204        (o.sliderLastPos = null),
16205          "y" == t && !e && Math.abs(o.distanceY) > 50
16206            ? (n.fancybox.animate(
16207                o.instance.current.$slide,
16208                {
16209                  top: o.sliderStartPos.top + o.distanceY + 150 * o.velocityY,
16210                  opacity: 0,
16211                },
16212                200
16213              ),
16214              (i = o.instance.close(!0, 250)))
16215            : r && o.distanceX > 0
16216            ? (i = o.instance.previous(300))
16217            : r && o.distanceX < 0 && (i = o.instance.next(300)),
16218          !1 !== i || ("x" != t && "y" != t) || o.instance.centerSlide(200),
16219          o.$container.removeClass("fancybox-is-sliding");
16220      }),
16221      (d.prototype.endPanning = function () {
16222        var t,
16223          e,
16224          o,
16225          i = this;
16226        i.contentLastPos &&
16227          (!1 === i.opts.momentum || i.dMs > 350
16228            ? ((t = i.contentLastPos.left), (e = i.contentLastPos.top))
16229            : ((t = i.contentLastPos.left + 500 * i.velocityX),
16230              (e = i.contentLastPos.top + 500 * i.velocityY)),
16231          (o = i.limitPosition(
16232            t,
16233            e,
16234            i.contentStartPos.width,
16235            i.contentStartPos.height
16236          )),
16237          (o.width = i.contentStartPos.width),
16238          (o.height = i.contentStartPos.height),
16239          n.fancybox.animate(i.$content, o, 366));
16240      }),
16241      (d.prototype.endZooming = function () {
16242        var t,
16243          e,
16244          o,
16245          i,
16246          a = this,
16247          s = a.instance.current,
16248          r = a.newWidth,
16249          c = a.newHeight;
16250        a.contentLastPos &&
16251          ((t = a.contentLastPos.left),
16252          (e = a.contentLastPos.top),
16253          (i = { top: e, left: t, width: r, height: c, scaleX: 1, scaleY: 1 }),
16254          n.fancybox.setTranslate(a.$content, i),
16255          r < a.canvasWidth && c < a.canvasHeight
16256            ? a.instance.scaleToFit(150)
16257            : r > s.width || c > s.height
16258            ? a.instance.scaleToActual(
16259                a.centerPointStartX,
16260                a.centerPointStartY,
16261                150
16262              )
16263            : ((o = a.limitPosition(t, e, r, c)),
16264              n.fancybox.animate(a.$content, o, 150)));
16265      }),
16266      (d.prototype.onTap = function (e) {
16267        var o,
16268          i = this,
16269          s = n(e.target),
16270          r = i.instance,
16271          c = r.current,
16272          l = (e && a(e)) || i.startPoints,
16273          d = l[0] ? l[0].x - n(t).scrollLeft() - i.stagePos.left : 0,
16274          u = l[0] ? l[0].y - n(t).scrollTop() - i.stagePos.top : 0,
16275          f = function (t) {
16276            var o = c.opts[t];
16277            if ((n.isFunction(o) && (o = o.apply(r, [c, e])), o))
16278              switch (o) {
16279                case "close":
16280                  r.close(i.startEvent);
16281                  break;
16282                case "toggleControls":
16283                  r.toggleControls();
16284                  break;
16285                case "next":
16286                  r.next();
16287                  break;
16288                case "nextOrClose":
16289                  r.group.length > 1 ? r.next() : r.close(i.startEvent);
16290                  break;
16291                case "zoom":
16292                  "image" == c.type &&
16293                    (c.isLoaded || c.$ghost) &&
16294                    (r.canPan()
16295                      ? r.scaleToFit()
16296                      : r.isScaledDown()
16297                      ? r.scaleToActual(d, u)
16298                      : r.group.length < 2 && r.close(i.startEvent));
16299              }
16300          };
16301        if (
16302          (!e.originalEvent || 2 != e.originalEvent.button) &&
16303          (s.is("img") || !(d > s[0].clientWidth + s.offset().left))
16304        ) {
16305          if (
16306            s.is(
16307              ".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"
16308            )
16309          )
16310            o = "Outside";
16311          else if (s.is(".fancybox-slide")) o = "Slide";
16312          else {
16313            if (
16314              !r.current.$content ||
16315              !r.current.$content.find(s).addBack().filter(s).length
16316            )
16317              return;
16318            o = "Content";
16319          }
16320          if (i.tapped) {
16321            if (
16322              (clearTimeout(i.tapped),
16323              (i.tapped = null),
16324              Math.abs(d - i.tapX) > 50 || Math.abs(u - i.tapY) > 50)
16325            )
16326              return this;
16327            f("dblclick" + o);
16328          } else
16329            (i.tapX = d),
16330              (i.tapY = u),
16331              c.opts["dblclick" + o] &&
16332              c.opts["dblclick" + o] !== c.opts["click" + o]
16333                ? (i.tapped = setTimeout(function () {
16334                    (i.tapped = null), r.isAnimating || f("click" + o);
16335                  }, 500))
16336                : f("click" + o);
16337          return this;
16338        }
16339      }),
16340      n(e)
16341        .on("onActivate.fb", function (t, e) {
16342          e && !e.Guestures && (e.Guestures = new d(e));
16343        })
16344        .on("beforeClose.fb", function (t, e) {
16345          e && e.Guestures && e.Guestures.destroy();
16346        });
16347  })(window, document, jQuery),
16348  (function (t, e) {
16349    "use strict";
16350    e.extend(!0, e.fancybox.defaults, {
16351      btnTpl: {
16352        slideShow:
16353          '<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 5.4v13.2l11-6.6z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/></svg></button>',
16354      },
16355      slideShow: { autoStart: !1, speed: 3e3, progress: !0 },
16356    });
16357    var n = function (t) {
16358      (this.instance = t), this.init();
16359    };
16360    e.extend(n.prototype, {
16361      timer: null,
16362      isActive: !1,
16363      $button: null,
16364      init: function () {
16365        var t = this,
16366          n = t.instance,
16367          o = n.group[n.currIndex].opts.slideShow;
16368        (t.$button = n.$refs.toolbar
16369          .find("[data-fancybox-play]")
16370          .on("click", function () {
16371            t.toggle();
16372          })),
16373          n.group.length < 2 || !o
16374            ? t.$button.hide()
16375            : o.progress &&
16376              (t.$progress = e(
16377                '<div class="fancybox-progress"></div>'
16378              ).appendTo(n.$refs.inner));
16379      },
16380      set: function (t) {
16381        var n = this,
16382          o = n.instance,
16383          i = o.current;
16384        i && (!0 === t || i.opts.loop || o.currIndex < o.group.length - 1)
16385          ? n.isActive &&
16386            "video" !== i.contentType &&
16387            (n.$progress &&
16388              e.fancybox.animate(
16389                n.$progress.show(),
16390                { scaleX: 1 },
16391                i.opts.slideShow.speed
16392              ),
16393            (n.timer = setTimeout(function () {
16394              o.current.opts.loop || o.current.index != o.group.length - 1
16395                ? o.next()
16396                : o.jumpTo(0);
16397            }, i.opts.slideShow.speed)))
16398          : (n.stop(), (o.idleSecondsCounter = 0), o.showControls());
16399      },
16400      clear: function () {
16401        var t = this;
16402        clearTimeout(t.timer),
16403          (t.timer = null),
16404          t.$progress && t.$progress.removeAttr("style").hide();
16405      },
16406      start: function () {
16407        var t = this,
16408          e = t.instance.current;
16409        e &&
16410          (t.$button
16411            .attr(
16412              "title",
16413              (e.opts.i18n[e.opts.lang] || e.opts.i18n.en).PLAY_STOP
16414            )
16415            .removeClass("fancybox-button--play")
16416            .addClass("fancybox-button--pause"),
16417          (t.isActive = !0),
16418          e.isComplete && t.set(!0),
16419          t.instance.trigger("onSlideShowChange", !0));
16420      },
16421      stop: function () {
16422        var t = this,
16423          e = t.instance.current;
16424        t.clear(),
16425          t.$button
16426            .attr(
16427              "title",
16428              (e.opts.i18n[e.opts.lang] || e.opts.i18n.en).PLAY_START
16429            )
16430            .removeClass("fancybox-button--pause")
16431            .addClass("fancybox-button--play"),
16432          (t.isActive = !1),
16433          t.instance.trigger("onSlideShowChange", !1),
16434          t.$progress && t.$progress.removeAttr("style").hide();
16435      },
16436      toggle: function () {
16437        var t = this;
16438        t.isActive ? t.stop() : t.start();
16439      },
16440    }),
16441      e(t).on({
16442        "onInit.fb": function (t, e) {
16443          e && !e.SlideShow && (e.SlideShow = new n(e));
16444        },
16445        "beforeShow.fb": function (t, e, n, o) {
16446          var i = e && e.SlideShow;
16447          o
16448            ? i && n.opts.slideShow.autoStart && i.start()
16449            : i && i.isActive && i.clear();
16450        },
16451        "afterShow.fb": function (t, e, n) {
16452          var o = e && e.SlideShow;
16453          o && o.isActive && o.set();
16454        },
16455        "afterKeydown.fb": function (n, o, i, a, s) {
16456          var r = o && o.SlideShow;
16457          !r ||
16458            !i.opts.slideShow ||
16459            (80 !== s && 32 !== s) ||
16460            e(t.activeElement).is("button,a,input") ||
16461            (a.preventDefault(), r.toggle());
16462        },
16463        "beforeClose.fb onDeactivate.fb": function (t, e) {
16464          var n = e && e.SlideShow;
16465          n && n.stop();
16466        },
16467      }),
16468      e(t).on("visibilitychange", function () {
16469        var n = e.fancybox.getInstance(),
16470          o = n && n.SlideShow;
16471        o && o.isActive && (t.hidden ? o.clear() : o.set());
16472      });
16473  })(document, jQuery),
16474  (function (t, e) {
16475    "use strict";
16476    var n = (function () {
16477      for (
16478        var e = [
16479            [
16480              "requestFullscreen",
16481              "exitFullscreen",
16482              "fullscreenElement",
16483              "fullscreenEnabled",
16484              "fullscreenchange",
16485              "fullscreenerror",
16486            ],
16487            [
16488              "webkitRequestFullscreen",
16489              "webkitExitFullscreen",
16490              "webkitFullscreenElement",
16491              "webkitFullscreenEnabled",
16492              "webkitfullscreenchange",
16493              "webkitfullscreenerror",
16494            ],
16495            [
16496              "webkitRequestFullScreen",
16497              "webkitCancelFullScreen",
16498              "webkitCurrentFullScreenElement",
16499              "webkitCancelFullScreen",
16500              "webkitfullscreenchange",
16501              "webkitfullscreenerror",
16502            ],
16503            [
16504              "mozRequestFullScreen",
16505              "mozCancelFullScreen",
16506              "mozFullScreenElement",
16507              "mozFullScreenEnabled",
16508              "mozfullscreenchange",
16509              "mozfullscreenerror",
16510            ],
16511            [
16512              "msRequestFullscreen",
16513              "msExitFullscreen",
16514              "msFullscreenElement",
16515              "msFullscreenEnabled",
16516              "MSFullscreenChange",
16517              "MSFullscreenError",
16518            ],
16519          ],
16520          n = {},
16521          o = 0;
16522        o < e.length;
16523        o++
16524      ) {
16525        var i = e[o];
16526        if (i && i[1] in t) {
16527          for (var a = 0; a < i.length; a++) n[e[0][a]] = i[a];
16528          return n;
16529        }
16530      }
16531      return !1;
16532    })();
16533    if (n) {
16534      var o = {
16535        request: function (e) {
16536          (e = e || t.documentElement),
16537            e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT);
16538        },
16539        exit: function () {
16540          t[n.exitFullscreen]();
16541        },
16542        toggle: function (e) {
16543          (e = e || t.documentElement),
16544            this.isFullscreen() ? this.exit() : this.request(e);
16545        },
16546        isFullscreen: function () {
16547          return Boolean(t[n.fullscreenElement]);
16548        },
16549        enabled: function () {
16550          return Boolean(t[n.fullscreenEnabled]);
16551        },
16552      };
16553      e.extend(!0, e.fancybox.defaults, {
16554        btnTpl: {
16555          fullScreen:
16556            '<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fsenter" title="{{FULL_SCREEN}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/></svg></button>',
16557        },
16558        fullScreen: { autoStart: !1 },
16559      }),
16560        e(t).on(n.fullscreenchange, function () {
16561          var t = o.isFullscreen(),
16562            n = e.fancybox.getInstance();
16563          n &&
16564            (n.current &&
16565              "image" === n.current.type &&
16566              n.isAnimating &&
16567              ((n.isAnimating = !1),
16568              n.update(!0, !0, 0),
16569              n.isComplete || n.complete()),
16570            n.trigger("onFullscreenChange", t),
16571            n.$refs.container.toggleClass("fancybox-is-fullscreen", t),
16572            n.$refs.toolbar
16573              .find("[data-fancybox-fullscreen]")
16574              .toggleClass("fancybox-button--fsenter", !t)
16575              .toggleClass("fancybox-button--fsexit", t));
16576        });
16577    }
16578    e(t).on({
16579      "onInit.fb": function (t, e) {
16580        var i;
16581        if (!n)
16582          return void e.$refs.toolbar
16583            .find("[data-fancybox-fullscreen]")
16584            .remove();
16585        e && e.group[e.currIndex].opts.fullScreen
16586          ? ((i = e.$refs.container),
16587            i.on(
16588              "click.fb-fullscreen",
16589              "[data-fancybox-fullscreen]",
16590              function (t) {
16591                t.stopPropagation(), t.preventDefault(), o.toggle();
16592              }
16593            ),
16594            e.opts.fullScreen &&
16595              !0 === e.opts.fullScreen.autoStart &&
16596              o.request(),
16597            (e.FullScreen = o))
16598          : e && e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide();
16599      },
16600      "afterKeydown.fb": function (t, e, n, o, i) {
16601        e &&
16602          e.FullScreen &&
16603          70 === i &&
16604          (o.preventDefault(), e.FullScreen.toggle());
16605      },
16606      "beforeClose.fb": function (t, e) {
16607        e &&
16608          e.FullScreen &&
16609          e.$refs.container.hasClass("fancybox-is-fullscreen") &&
16610          o.exit();
16611      },
16612    });
16613  })(document, jQuery),
16614  (function (t, e) {
16615    "use strict";
16616    var n = "fancybox-thumbs";
16617    e.fancybox.defaults = e.extend(
16618      !0,
16619      {
16620        btnTpl: {
16621          thumbs:
16622            '<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/></svg></button>',
16623        },
16624        thumbs: {
16625          autoStart: !1,
16626          hideOnClose: !0,
16627          parentEl: ".fancybox-container",
16628          axis: "y",
16629        },
16630      },
16631      e.fancybox.defaults
16632    );
16633    var o = function (t) {
16634      this.init(t);
16635    };
16636    e.extend(o.prototype, {
16637      $button: null,
16638      $grid: null,
16639      $list: null,
16640      isVisible: !1,
16641      isActive: !1,
16642      init: function (t) {
16643        var e = this,
16644          n = t.group,
16645          o = 0;
16646        (e.instance = t),
16647          (e.opts = n[t.currIndex].opts.thumbs),
16648          (t.Thumbs = e),
16649          (e.$button = t.$refs.toolbar.find("[data-fancybox-thumbs]"));
16650        for (
16651          var i = 0, a = n.length;
16652          i < a && (n[i].thumb && o++, !(o > 1));
16653          i++
16654        );
16655        o > 1 && e.opts
16656          ? (e.$button.removeAttr("style").on("click", function () {
16657              e.toggle();
16658            }),
16659            (e.isActive = !0))
16660          : e.$button.hide();
16661      },
16662      create: function () {
16663        var t,
16664          o = this,
16665          i = o.instance,
16666          a = o.opts.parentEl,
16667          s = [];
16668        o.$grid ||
16669          ((o.$grid = e(
16670            '<div class="' + n + " " + n + "-" + o.opts.axis + '"></div>'
16671          ).appendTo(i.$refs.container.find(a).addBack().filter(a))),
16672          o.$grid.on("click", "a", function () {
16673            i.jumpTo(e(this).attr("data-index"));
16674          })),
16675          o.$list ||
16676            (o.$list = e('<div class="' + n + '__list">').appendTo(o.$grid)),
16677          e.each(i.group, function (e, n) {
16678            (t = n.thumb),
16679              t || "image" !== n.type || (t = n.src),
16680              s.push(
16681                '<a href="javascript:;" tabindex="0" data-index="' +
16682                  e +
16683                  '"' +
16684                  (t && t.length
16685                    ? ' style="background-image:url(' + t + ')"'
16686                    : 'class="fancybox-thumbs-missing"') +
16687                  "></a>"
16688              );
16689          }),
16690          (o.$list[0].innerHTML = s.join("")),
16691          "x" === o.opts.axis &&
16692            o.$list.width(
16693              parseInt(o.$grid.css("padding-right"), 10) +
16694                i.group.length * o.$list.children().eq(0).outerWidth(!0)
16695            );
16696      },
16697      focus: function (t) {
16698        var e,
16699          n,
16700          o = this,
16701          i = o.$list,
16702          a = o.$grid;
16703        o.instance.current &&
16704          ((e = i
16705            .children()
16706            .removeClass("fancybox-thumbs-active")
16707            .filter('[data-index="' + o.instance.current.index + '"]')
16708            .addClass("fancybox-thumbs-active")),
16709          (n = e.position()),
16710          "y" === o.opts.axis &&
16711          (n.top < 0 || n.top > i.height() - e.outerHeight())
16712            ? i.stop().animate({ scrollTop: i.scrollTop() + n.top }, t)
16713            : "x" === o.opts.axis &&
16714              (n.left < a.scrollLeft() ||
16715                n.left > a.scrollLeft() + (a.width() - e.outerWidth())) &&
16716              i.parent().stop().animate({ scrollLeft: n.left }, t));
16717      },
16718      update: function () {
16719        var t = this;
16720        t.instance.$refs.container.toggleClass(
16721          "fancybox-show-thumbs",
16722          this.isVisible
16723        ),
16724          t.isVisible
16725            ? (t.$grid || t.create(),
16726              t.instance.trigger("onThumbsShow"),
16727              t.focus(0))
16728            : t.$grid && t.instance.trigger("onThumbsHide"),
16729          t.instance.update();
16730      },
16731      hide: function () {
16732        (this.isVisible = !1), this.update();
16733      },
16734      show: function () {
16735        (this.isVisible = !0), this.update();
16736      },
16737      toggle: function () {
16738        (this.isVisible = !this.isVisible), this.update();
16739      },
16740    }),
16741      e(t).on({
16742        "onInit.fb": function (t, e) {
16743          var n;
16744          e &&
16745            !e.Thumbs &&
16746            ((n = new o(e)), n.isActive && !0 === n.opts.autoStart && n.show());
16747        },
16748        "beforeShow.fb": function (t, e, n, o) {
16749          var i = e && e.Thumbs;
16750          i && i.isVisible && i.focus(o ? 0 : 250);
16751        },
16752        "afterKeydown.fb": function (t, e, n, o, i) {
16753          var a = e && e.Thumbs;
16754          a && a.isActive && 71 === i && (o.preventDefault(), a.toggle());
16755        },
16756        "beforeClose.fb": function (t, e) {
16757          var n = e && e.Thumbs;
16758          n && n.isVisible && !1 !== n.opts.hideOnClose && n.$grid.hide();
16759        },
16760      });
16761  })(document, jQuery),
16762  (function (t, e) {
16763    "use strict";
16764    function n(t) {
16765      var e = {
16766        "&": "&amp;",
16767        "<": "&lt;",
16768        ">": "&gt;",
16769        '"': "&quot;",
16770        "'": "&#39;",
16771        "/": "&#x2F;",
16772        "`": "&#x60;",
16773        "=": "&#x3D;",
16774      };
16775      return String(t).replace(/[&<>"'`=\/]/g, function (t) {
16776        return e[t];
16777      });
16778    }
16779    e.extend(!0, e.fancybox.defaults, {
16780      btnTpl: {
16781        share:
16782          '<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/></svg></button>',
16783      },
16784      share: {
16785        url: function (t, e) {
16786          return (
16787            (!t.currentHash &&
16788              "inline" !== e.type &&
16789              "html" !== e.type &&
16790              (e.origSrc || e.src)) ||
16791            window.location
16792          );
16793        },
16794        tpl: '<div class="fancybox-share"><h1>{{SHARE}}</h1><p><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg><span>Facebook</span></a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg><span>Twitter</span></a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg><span>Pinterest</span></a></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p></div>',
16795      },
16796    }),
16797      e(t).on("click", "[data-fancybox-share]", function () {
16798        var t,
16799          o,
16800          i = e.fancybox.getInstance(),
16801          a = i.current || null;
16802        a &&
16803          ("function" === e.type(a.opts.share.url) &&
16804            (t = a.opts.share.url.apply(a, [i, a])),
16805          (o = a.opts.share.tpl
16806            .replace(
16807              /\{\{media\}\}/g,
16808              "image" === a.type ? encodeURIComponent(a.src) : ""
16809            )
16810            .replace(/\{\{url\}\}/g, encodeURIComponent(t))
16811            .replace(/\{\{url_raw\}\}/g, n(t))
16812            .replace(
16813              /\{\{descr\}\}/g,
16814              i.$caption ? encodeURIComponent(i.$caption.text()) : ""
16815            )),
16816          e.fancybox.open({
16817            src: i.translate(i, o),
16818            type: "html",
16819            opts: {
16820              touch: !1,
16821              animationEffect: !1,
16822              afterLoad: function (t, e) {
16823                i.$refs.container.one("beforeClose.fb", function () {
16824                  t.close(null, 0);
16825                }),
16826                  e.$content.find(".fancybox-share__button").click(function () {
16827                    return (
16828                      window.open(this.href, "Share", "width=550, height=450"),
16829                      !1
16830                    );
16831                  });
16832              },
16833              mobile: { autoFocus: !1 },
16834            },
16835          }));
16836      });
16837  })(document, jQuery),
16838  (function (t, e, n) {
16839    "use strict";
16840    function o() {
16841      var e = t.location.hash.substr(1),
16842        n = e.split("-"),
16843        o =
16844          n.length > 1 && /^\+?\d+$/.test(n[n.length - 1])
16845            ? parseInt(n.pop(-1), 10) || 1
16846            : 1,
16847        i = n.join("-");
16848      return { hash: e, index: o < 1 ? 1 : o, gallery: i };
16849    }
16850    function i(t) {
16851      "" !== t.gallery &&
16852        n("[data-fancybox='" + n.escapeSelector(t.gallery) + "']")
16853          .eq(t.index - 1)
16854          .focus()
16855          .trigger("click.fb-start");
16856    }
16857    function a(t) {
16858      var e, n;
16859      return (
16860        !!t &&
16861        ((e = t.current ? t.current.opts : t.opts),
16862        "" !==
16863          (n =
16864            e.hash ||
16865            (e.$orig
16866              ? e.$orig.data("fancybox") || e.$orig.data("fancybox-trigger")
16867              : "")) && n)
16868      );
16869    }
16870    n.escapeSelector ||
16871      (n.escapeSelector = function (t) {
16872        return (t + "").replace(
16873          /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
16874          function (t, e) {
16875            return e
16876              ? "\0" === t
16877                ? "�"
16878                : t.slice(0, -1) +
16879                  "\\" +
16880                  t.charCodeAt(t.length - 1).toString(16) +
16881                  " "
16882              : "\\" + t;
16883          }
16884        );
16885      }),
16886      n(function () {
16887        !1 !== n.fancybox.defaults.hash &&
16888          (n(e).on({
16889            "onInit.fb": function (t, e) {
16890              var n, i;
16891              !1 !== e.group[e.currIndex].opts.hash &&
16892                ((n = o()),
16893                (i = a(e)) &&
16894                  n.gallery &&
16895                  i == n.gallery &&
16896                  (e.currIndex = n.index - 1));
16897            },
16898            "beforeShow.fb": function (n, o, i, s) {
16899              var r;
16900              i &&
16901                !1 !== i.opts.hash &&
16902                (r = a(o)) &&
16903                ((o.currentHash =
16904                  r + (o.group.length > 1 ? "-" + (i.index + 1) : "")),
16905                t.location.hash !== "#" + o.currentHash &&
16906                  (s && !o.origHash && (o.origHash = t.location.hash),
16907                  o.hashTimer && clearTimeout(o.hashTimer),
16908                  (o.hashTimer = setTimeout(function () {
16909                    "replaceState" in t.history
16910                      ? (t.history[s ? "pushState" : "replaceState"](
16911                          {},
16912                          e.title,
16913                          t.location.pathname +
16914                            t.location.search +
16915                            "#" +
16916                            o.currentHash
16917                        ),
16918                        s && (o.hasCreatedHistory = !0))
16919                      : (t.location.hash = o.currentHash),
16920                      (o.hashTimer = null);
16921                  }, 300))));
16922            },
16923            "beforeClose.fb": function (n, o, i) {
16924              i &&
16925                !1 !== i.opts.hash &&
16926                (clearTimeout(o.hashTimer),
16927                o.currentHash && o.hasCreatedHistory
16928                  ? t.history.back()
16929                  : o.currentHash &&
16930                    ("replaceState" in t.history
16931                      ? t.history.replaceState(
16932                          {},
16933                          e.title,
16934                          t.location.pathname +
16935                            t.location.search +
16936                            (o.origHash || "")
16937                        )
16938                      : (t.location.hash = o.origHash)),
16939                (o.currentHash = null));
16940            },
16941          }),
16942          n(t).on("hashchange.fb", function () {
16943            var t = o(),
16944              e = null;
16945            n.each(n(".fancybox-container").get().reverse(), function (t, o) {
16946              var i = n(o).data("FancyBox");
16947              if (i && i.currentHash) return (e = i), !1;
16948            }),
16949              e
16950                ? e.currentHash === t.gallery + "-" + t.index ||
16951                  (1 === t.index && e.currentHash == t.gallery) ||
16952                  ((e.currentHash = null), e.close())
16953                : "" !== t.gallery && i(t);
16954          }),
16955          setTimeout(function () {
16956            n.fancybox.getInstance() || i(o());
16957          }, 50));
16958      });
16959  })(window, document, jQuery),
16960  (function (t, e) {
16961    "use strict";
16962    var n = new Date().getTime();
16963    e(t).on({
16964      "onInit.fb": function (t, e, o) {
16965        e.$refs.stage.on(
16966          "mousewheel DOMMouseScroll wheel MozMousePixelScroll",
16967          function (t) {
16968            var o = e.current,
16969              i = new Date().getTime();
16970            e.group.length < 2 ||
16971              !1 === o.opts.wheel ||
16972              ("auto" === o.opts.wheel && "image" !== o.type) ||
16973              (t.preventDefault(),
16974              t.stopPropagation(),
16975              o.$slide.hasClass("fancybox-animated") ||
16976                ((t = t.originalEvent || t),
16977                i - n < 250 ||
16978                  ((n = i),
16979                  e[
16980                    (-t.deltaY || -t.deltaX || t.wheelDelta || -t.detail) < 0
16981                      ? "next"
16982                      : "previous"
16983                  ]())));
16984          }
16985        );
16986      },
16987    });
16988  })(document, jQuery);
16989/* jQuery Form Styler v2.0.2 | (c) Dimox | https://github.com/Dimox/jQueryFormStyler */
16990!(function (e) {
16991  "function" == typeof define && define.amd
16992    ? define(["jquery"], e)
16993    : "object" == typeof exports
16994    ? (module.exports = e($ || require("jquery")))
16995    : e(jQuery);
16996})(function (e) {
16997  "use strict";
16998  function t(t, s) {
16999    (this.element = t), (this.options = e.extend({}, l, s));
17000    var i = this.options.locale;
17001    void 0 !== this.options.locales[i] &&
17002      e.extend(this.options, this.options.locales[i]),
17003      this.init();
17004  }
17005  function s(t) {
17006    if (
17007      !e(t.target).parents().hasClass("jq-selectbox") &&
17008      "OPTION" != t.target.nodeName &&
17009      e("div.jq-selectbox.opened").length
17010    ) {
17011      var s = e("div.jq-selectbox.opened"),
17012        l = e("div.jq-selectbox__search input", s),
17013        o = e("div.jq-selectbox__dropdown", s);
17014      s
17015        .find("select")
17016        .data("_" + i)
17017        .options.onSelectClosed.call(s),
17018        l.length && l.val("").keyup(),
17019        o.hide().find("li.sel").addClass("selected"),
17020        s.removeClass("focused opened dropup dropdown");
17021    }
17022  }
17023  var i = "styler",
17024    l = {
17025      idSuffix: "-styler",
17026      filePlaceholder: "Файл не выбран",
17027      fileBrowse: "Обзор...",
17028      fileNumber: "Выбрано файлов: %s",
17029      selectPlaceholder: "Выберите...",
17030      selectSearch: !1,
17031      selectSearchLimit: 10,
17032      selectSearchNotFound: "Совпадений не найдено",
17033      selectSearchPlaceholder: "Поиск...",
17034      selectVisibleOptions: 0,
17035      selectSmartPositioning: !0,
17036      locale: "ru",
17037      locales: {
17038        en: {
17039          filePlaceholder: "No file selected",
17040          fileBrowse: "Browse...",
17041          fileNumber: "Selected files: %s",
17042          selectPlaceholder: "Select...",
17043          selectSearchNotFound: "No matches found",
17044          selectSearchPlaceholder: "Search...",
17045        },
17046      },
17047      onSelectOpened: function () {},
17048      onSelectClosed: function () {},
17049      onFormStyled: function () {},
17050    };
17051  (t.prototype = {
17052    init: function () {
17053      function t() {
17054        void 0 !== i.attr("id") &&
17055          "" !== i.attr("id") &&
17056          (this.id = i.attr("id") + l.idSuffix),
17057          (this.title = i.attr("title")),
17058          (this.classes = i.attr("class")),
17059          (this.data = i.data());
17060      }
17061      var i = e(this.element),
17062        l = this.options,
17063        o = !(
17064          !navigator.userAgent.match(/(iPad|iPhone|iPod)/i) ||
17065          navigator.userAgent.match(/(Windows\sPhone)/i)
17066        ),
17067        a = !(
17068          !navigator.userAgent.match(/Android/i) ||
17069          navigator.userAgent.match(/(Windows\sPhone)/i)
17070        );
17071      if (i.is(":checkbox")) {
17072        var d = function () {
17073          var s = new t(),
17074            l = e(
17075              '<div class="jq-checkbox"><div class="jq-checkbox__div"></div></div>'
17076            )
17077              .attr({ id: s.id, title: s.title })
17078              .addClass(s.classes)
17079              .data(s.data);
17080          i.after(l).prependTo(l),
17081            i.is(":checked") && l.addClass("checked"),
17082            i.is(":disabled") && l.addClass("disabled"),
17083            l.click(function (e) {
17084              e.preventDefault(),
17085                i.triggerHandler("click"),
17086                l.is(".disabled") ||
17087                  (i.is(":checked")
17088                    ? (i.prop("checked", !1), l.removeClass("checked"))
17089                    : (i.prop("checked", !0), l.addClass("checked")),
17090                  i.focus().change());
17091            }),
17092            i
17093              .closest("label")
17094              .add('label[for="' + i.attr("id") + '"]')
17095              .on("click.styler", function (t) {
17096                e(t.target).is("a") ||
17097                  e(t.target).closest(l).length ||
17098                  (l.triggerHandler("click"), t.preventDefault());
17099              }),
17100            i
17101              .on("change.styler", function () {
17102                i.is(":checked")
17103                  ? l.addClass("checked")
17104                  : l.removeClass("checked");
17105              })
17106              .on("keydown.styler", function (e) {
17107                32 == e.which && l.click();
17108              })
17109              .on("focus.styler", function () {
17110                l.is(".disabled") || l.addClass("focused");
17111              })
17112              .on("blur.styler", function () {
17113                l.removeClass("focused");
17114              });
17115        };
17116        d(),
17117          i.on("refresh", function () {
17118            i
17119              .closest("label")
17120              .add('label[for="' + i.attr("id") + '"]')
17121              .off(".styler"),
17122              i.off(".styler").parent().before(i).remove(),
17123              d();
17124          });
17125      } else if (i.is(":radio")) {
17126        var r = function () {
17127          var s = new t(),
17128            l = e(
17129              '<div class="jq-radio"><div class="jq-radio__div"></div></div>'
17130            )
17131              .attr({ id: s.id, title: s.title })
17132              .addClass(s.classes)
17133              .data(s.data);
17134          i.after(l).prependTo(l),
17135            i.is(":checked") && l.addClass("checked"),
17136            i.is(":disabled") && l.addClass("disabled"),
17137            (e.fn.commonParents = function () {
17138              var t = this;
17139              return t
17140                .first()
17141                .parents()
17142                .filter(function () {
17143                  return e(this).find(t).length === t.length;
17144                });
17145            }),
17146            (e.fn.commonParent = function () {
17147              return e(this).commonParents().first();
17148            }),
17149            l.click(function (t) {
17150              if (
17151                (t.preventDefault(),
17152                i.triggerHandler("click"),
17153                !l.is(".disabled"))
17154              ) {
17155                var s = e('input[name="' + i.attr("name") + '"]');
17156                s
17157                  .commonParent()
17158                  .find(s)
17159                  .prop("checked", !1)
17160                  .parent()
17161                  .removeClass("checked"),
17162                  i.prop("checked", !0).parent().addClass("checked"),
17163                  i.focus().change();
17164              }
17165            }),
17166            i
17167              .closest("label")
17168              .add('label[for="' + i.attr("id") + '"]')
17169              .on("click.styler", function (t) {
17170                e(t.target).is("a") ||
17171                  e(t.target).closest(l).length ||
17172                  (l.triggerHandler("click"), t.preventDefault());
17173              }),
17174            i
17175              .on("change.styler", function () {
17176                i.parent().addClass("checked");
17177              })
17178              .on("focus.styler", function () {
17179                l.is(".disabled") || l.addClass("focused");
17180              })
17181              .on("blur.styler", function () {
17182                l.removeClass("focused");
17183              });
17184        };
17185        r(),
17186          i.on("refresh", function () {
17187            i
17188              .closest("label")
17189              .add('label[for="' + i.attr("id") + '"]')
17190              .off(".styler"),
17191              i.off(".styler").parent().before(i).remove(),
17192              r();
17193          });
17194      } else if (i.is(":file")) {
17195        var c = function () {
17196          var s = new t(),
17197            o = i.data("placeholder");
17198          void 0 === o && (o = l.filePlaceholder);
17199          var a = i.data("browse");
17200          (void 0 !== a && "" !== a) || (a = l.fileBrowse);
17201          var d = e(
17202            '<div class="jq-file"><div class="jq-file__name">' +
17203              o +
17204              '</div><div class="jq-file__browse">' +
17205              a +
17206              "</div></div>"
17207          )
17208            .attr({ id: s.id, title: s.title })
17209            .addClass(s.classes)
17210            .data(s.data);
17211          i.after(d).appendTo(d), i.is(":disabled") && d.addClass("disabled");
17212          var r = i.val(),
17213            c = e("div.jq-file__name", d);
17214          r && c.text(r.replace(/.+[\\\/]/, "")),
17215            i
17216              .on("change.styler", function () {
17217                var e = i.val();
17218                if (i.is("[multiple]")) {
17219                  e = "";
17220                  var t = i[0].files.length;
17221                  if (t > 0) {
17222                    var s = i.data("number");
17223                    void 0 === s && (s = l.fileNumber),
17224                      (s = s.replace("%s", t)),
17225                      (e = s);
17226                  }
17227                }
17228                c.text(e.replace(/.+[\\\/]/, "")),
17229                  "" === e
17230                    ? (c.text(o), d.removeClass("changed"))
17231                    : d.addClass("changed");
17232              })
17233              .on("focus.styler", function () {
17234                d.addClass("focused");
17235              })
17236              .on("blur.styler", function () {
17237                d.removeClass("focused");
17238              })
17239              .on("click.styler", function () {
17240                d.removeClass("focused");
17241              });
17242        };
17243        c(),
17244          i.on("refresh", function () {
17245            i.off(".styler").parent().before(i).remove(), c();
17246          });
17247      } else if (i.is('input[type="number"]')) {
17248        var n = function () {
17249          var s = new t(),
17250            l = e(
17251              '<div class="jq-number"><div class="jq-number__spin minus"></div><div class="jq-number__spin plus"></div></div>'
17252            )
17253              .attr({ id: s.id, title: s.title })
17254              .addClass(s.classes)
17255              .data(s.data);
17256          i.after(l).prependTo(l).wrap('<div class="jq-number__field"></div>'),
17257            i.is(":disabled") && l.addClass("disabled");
17258          var o,
17259            a,
17260            d,
17261            r = null,
17262            c = null;
17263          void 0 !== i.attr("min") && (o = i.attr("min")),
17264            void 0 !== i.attr("max") && (a = i.attr("max")),
17265            (d =
17266              void 0 !== i.attr("step") && e.isNumeric(i.attr("step"))
17267                ? Number(i.attr("step"))
17268                : Number(1));
17269          var n = function (t) {
17270            var s,
17271              l = i.val();
17272            e.isNumeric(l) || ((l = 0), i.val("0")),
17273              t.is(".minus")
17274                ? (s = Number(l) - d)
17275                : t.is(".plus") && (s = Number(l) + d);
17276            var r = (d.toString().split(".")[1] || []).length;
17277            if (r > 0) {
17278              for (var c = "1"; c.length <= r; ) c += "0";
17279              s = Math.round(s * c) / c;
17280            }
17281            e.isNumeric(o) && e.isNumeric(a)
17282              ? s >= o && s <= a && i.val(s)
17283              : e.isNumeric(o) && !e.isNumeric(a)
17284              ? s >= o && i.val(s)
17285              : !e.isNumeric(o) && e.isNumeric(a)
17286              ? s <= a && i.val(s)
17287              : i.val(s);
17288          };
17289          l.is(".disabled") ||
17290            (l
17291              .on("mousedown", "div.jq-number__spin", function () {
17292                var t = e(this);
17293                n(t),
17294                  (r = setTimeout(function () {
17295                    c = setInterval(function () {
17296                      n(t);
17297                    }, 40);
17298                  }, 350));
17299              })
17300              .on("mouseup mouseout", "div.jq-number__spin", function () {
17301                clearTimeout(r), clearInterval(c);
17302              })
17303              .on("mouseup", "div.jq-number__spin", function () {
17304                i.change().trigger("input");
17305              }),
17306            i
17307              .on("focus.styler", function () {
17308                l.addClass("focused");
17309              })
17310              .on("blur.styler", function () {
17311                l.removeClass("focused");
17312              }));
17313        };
17314        n(),
17315          i.on("refresh", function () {
17316            i.off(".styler").closest(".jq-number").before(i).remove(), n();
17317          });
17318      } else if (i.is("select")) {
17319        var f = function () {
17320          function d(e) {
17321            var t = e.prop("scrollHeight") - e.outerHeight(),
17322              s = null,
17323              i = null;
17324            e.off("mousewheel DOMMouseScroll").on(
17325              "mousewheel DOMMouseScroll",
17326              function (l) {
17327                (s =
17328                  l.originalEvent.detail < 0 || l.originalEvent.wheelDelta > 0
17329                    ? 1
17330                    : -1),
17331                  (((i = e.scrollTop()) >= t && s < 0) || (i <= 0 && s > 0)) &&
17332                    (l.stopPropagation(), l.preventDefault());
17333              }
17334            );
17335          }
17336          function r() {
17337            for (var e = 0; e < c.length; e++) {
17338              var t = c.eq(e),
17339                s = "",
17340                i = "",
17341                o = "",
17342                a = "",
17343                d = "",
17344                r = "",
17345                f = "",
17346                h = "",
17347                u = "";
17348              t.prop("selected") && (i = "selected sel"),
17349                t.is(":disabled") && (i = "disabled"),
17350                t.is(":selected:disabled") && (i = "selected sel disabled"),
17351                void 0 !== t.attr("id") &&
17352                  "" !== t.attr("id") &&
17353                  (a = ' id="' + t.attr("id") + l.idSuffix + '"'),
17354                void 0 !== t.attr("title") &&
17355                  "" !== c.attr("title") &&
17356                  (d = ' title="' + t.attr("title") + '"'),
17357                void 0 !== t.attr("class") &&
17358                  ((f = " " + t.attr("class")),
17359                  (u = ' data-jqfs-class="' + t.attr("class") + '"'));
17360              var p = t.data();
17361              for (var v in p)
17362                "" !== p[v] && (r += " data-" + v + '="' + p[v] + '"');
17363              i + f !== "" && (o = ' class="' + i + f + '"'),
17364                (s = "<li" + u + r + o + d + a + ">" + t.html() + "</li>"),
17365                t.parent().is("optgroup") &&
17366                  (void 0 !== t.parent().attr("class") &&
17367                    (h = " " + t.parent().attr("class")),
17368                  (s =
17369                    "<li" +
17370                    u +
17371                    r +
17372                    ' class="' +
17373                    i +
17374                    f +
17375                    " option" +
17376                    h +
17377                    '"' +
17378                    d +
17379                    a +
17380                    ">" +
17381                    t.html() +
17382                    "</li>"),
17383                  t.is(":first-child") &&
17384                    (s =
17385                      '<li class="optgroup' +
17386                      h +
17387                      '">' +
17388                      t.parent().attr("label") +
17389                      "</li>" +
17390                      s)),
17391                (n += s);
17392            }
17393          }
17394          var c = e("option", i),
17395            n = "";
17396          if (i.is("[multiple]")) {
17397            if (a || o) return;
17398            !(function () {
17399              var s = new t(),
17400                l = e('<div class="jq-select-multiple jqselect"></div>')
17401                  .attr({ id: s.id, title: s.title })
17402                  .addClass(s.classes)
17403                  .data(s.data);
17404              i.after(l), r(), l.append("<ul>" + n + "</ul>");
17405              var o = e("ul", l),
17406                a = e("li", l),
17407                f = i.attr("size"),
17408                h = o.outerHeight(),
17409                u = a.outerHeight();
17410              void 0 !== f && f > 0
17411                ? o.css({ height: u * f })
17412                : o.css({ height: 4 * u }),
17413                h > l.height() &&
17414                  (o.css("overflowY", "scroll"),
17415                  d(o),
17416                  a.filter(".selected").length &&
17417                    o.scrollTop(
17418                      o.scrollTop() + a.filter(".selected").position().top
17419                    )),
17420                i.prependTo(l),
17421                i.is(":disabled")
17422                  ? (l.addClass("disabled"),
17423                    c.each(function () {
17424                      e(this).is(":selected") &&
17425                        a.eq(e(this).index()).addClass("selected");
17426                    }))
17427                  : (a
17428                      .filter(":not(.disabled):not(.optgroup)")
17429                      .click(function (t) {
17430                        i.focus();
17431                        var s = e(this);
17432                        if (
17433                          (t.ctrlKey || t.metaKey || s.addClass("selected"),
17434                          t.shiftKey || s.addClass("first"),
17435                          t.ctrlKey ||
17436                            t.metaKey ||
17437                            t.shiftKey ||
17438                            s.siblings().removeClass("selected first"),
17439                          (t.ctrlKey || t.metaKey) &&
17440                            (s.is(".selected")
17441                              ? s.removeClass("selected first")
17442                              : s.addClass("selected first"),
17443                            s.siblings().removeClass("first")),
17444                          t.shiftKey)
17445                        ) {
17446                          var l = !1,
17447                            o = !1;
17448                          s
17449                            .siblings()
17450                            .removeClass("selected")
17451                            .siblings(".first")
17452                            .addClass("selected"),
17453                            s.prevAll().each(function () {
17454                              e(this).is(".first") && (l = !0);
17455                            }),
17456                            s.nextAll().each(function () {
17457                              e(this).is(".first") && (o = !0);
17458                            }),
17459                            l &&
17460                              s.prevAll().each(function () {
17461                                if (e(this).is(".selected")) return !1;
17462                                e(this)
17463                                  .not(".disabled, .optgroup")
17464                                  .addClass("selected");
17465                              }),
17466                            o &&
17467                              s.nextAll().each(function () {
17468                                if (e(this).is(".selected")) return !1;
17469                                e(this)
17470                                  .not(".disabled, .optgroup")
17471                                  .addClass("selected");
17472                              }),
17473                            1 == a.filter(".selected").length &&
17474                              s.addClass("first");
17475                        }
17476                        c.prop("selected", !1),
17477                          a.filter(".selected").each(function () {
17478                            var t = e(this),
17479                              s = t.index();
17480                            t.is(".option") &&
17481                              (s -= t.prevAll(".optgroup").length),
17482                              c.eq(s).prop("selected", !0);
17483                          }),
17484                          i.change();
17485                      }),
17486                    c.each(function (t) {
17487                      e(this).data("optionIndex", t);
17488                    }),
17489                    i
17490                      .on("change.styler", function () {
17491                        a.removeClass("selected");
17492                        var t = [];
17493                        c.filter(":selected").each(function () {
17494                          t.push(e(this).data("optionIndex"));
17495                        }),
17496                          a
17497                            .not(".optgroup")
17498                            .filter(function (s) {
17499                              return e.inArray(s, t) > -1;
17500                            })
17501                            .addClass("selected");
17502                      })
17503                      .on("focus.styler", function () {
17504                        l.addClass("focused");
17505                      })
17506                      .on("blur.styler", function () {
17507                        l.removeClass("focused");
17508                      }),
17509                    h > l.height() &&
17510                      i.on("keydown.styler", function (e) {
17511                        (38 != e.which && 37 != e.which && 33 != e.which) ||
17512                          o.scrollTop(
17513                            o.scrollTop() +
17514                              a.filter(".selected").position().top -
17515                              u
17516                          ),
17517                          (40 != e.which && 39 != e.which && 34 != e.which) ||
17518                            o.scrollTop(
17519                              o.scrollTop() +
17520                                a.filter(".selected:last").position().top -
17521                                o.innerHeight() +
17522                                2 * u
17523                            );
17524                      }));
17525            })();
17526          } else
17527            !(function () {
17528              var a = new t(),
17529                f = "",
17530                h = i.data("placeholder"),
17531                u = i.data("search"),
17532                p = i.data("search-limit"),
17533                v = i.data("search-not-found"),
17534                m = i.data("search-placeholder"),
17535                g = i.data("smart-positioning");
17536              void 0 === h && (h = l.selectPlaceholder),
17537                (void 0 !== u && "" !== u) || (u = l.selectSearch),
17538                (void 0 !== p && "" !== p) || (p = l.selectSearchLimit),
17539                (void 0 !== v && "" !== v) || (v = l.selectSearchNotFound),
17540                void 0 === m && (m = l.selectSearchPlaceholder),
17541                (void 0 !== g && "" !== g) || (g = l.selectSmartPositioning);
17542              var b = e(
17543                '<div class="jq-selectbox jqselect"><div class="jq-selectbox__select"><div class="jq-selectbox__select-text"></div><div class="jq-selectbox__trigger"><div class="jq-selectbox__trigger-arrow"></div></div></div></div>'
17544              )
17545                .attr({ id: a.id, title: a.title })
17546                .addClass(a.classes)
17547                .data(a.data);
17548              i.after(b).prependTo(b);
17549              var C = b.css("z-index");
17550              C = C >
17550 0 ? C : 1;
17551              var x = e("div.jq-selectbox__select", b),
17552                y = e("div.jq-selectbox__select-text", b),
17553                w = c.filter(":selected");
17554              r(),
17555                u &&
17556                  (f =
17557                    '<div class="jq-selectbox__search"><input type="search" autocomplete="off" placeholder="' +
17558                    m +
17559                    '"></div><div class="jq-selectbox__not-found">' +
17560                    v +
17561                    "</div>");
17562              var q = e(
17563                '<div class="jq-selectbox__dropdown">' +
17564                  f +
17565                  "<ul>" +
17566                  n +
17567                  "</ul></div>"
17568              );
17569              b.append(q);
17570              var _ = e("ul", q),
17571                j = e("li", q),
17572                k = e("input", q),
17573                S = e("div.jq-selectbox__not-found", q).hide();
17574              j.length < p && k.parent().hide(),
17575                "" === c.first().text() && c.first().is(":selected") && !1 !== h
17576                  ? y.text(h).addClass("placeholder")
17577                  : y.text(w.text());
17578              var T = 0,
17579                N = 0;
17580              if (
17581                (j.css({ display: "inline-block" }),
17582                j.each(function () {
17583                  var t = e(this);
17584                  t.innerWidth() > T && ((T = t.innerWidth()), (N = t.width()));
17585                }),
17586                j.css({ display: "" }),
17587                y.is(".placeholder") && y.width() > T)
17588              )
17589                y.width(y.width());
17590              else {
17591                var P = b.clone().appendTo("body").width("auto"),
17592                  H = P.outerWidth();
17593                P.remove(), H == b.outerWidth() && y.width(N);
17594              }
17595              T > b.width() && q.width(T),
17596                "" === c.first().text() &&
17597                  "" !== i.data("placeholder") &&
17598                  j.first().hide();
17599              var A = b.outerHeight(!0),
17600                D = k.parent().outerHeight(!0) || 0,
17601                I = _.css("max-height"),
17602                K = j.filter(".selected");
17603              if (
17604                (K.length < 1 && j.first().addClass("selected sel"),
17605                void 0 === j.data("li-height"))
17606              ) {
17607                var O = j.outerHeight();
17608                !1 !== h && (O = j.eq(1).outerHeight()), j.data("li-height", O);
17609              }
17610              var M = q.css("top");
17611              if (
17612                ("auto" == q.css("left") && q.css({ left: 0 }),
17613                "auto" == q.css("top") && (q.css({ top: A }), (M = A)),
17614                q.hide(),
17615                K.length &&
17616                  (c.first().text() != w.text() && b.addClass("changed"),
17617                  b.data("jqfs-class", K.data("jqfs-class")),
17618                  b.addClass(K.data("jqfs-class"))),
17619                i.is(":disabled"))
17620              )
17621                return b.addClass("disabled"), !1;
17622              x.click(function () {
17623                if (
17624                  (e("div.jq-selectbox").filter(".opened").length &&
17625                    l.onSelectClosed.call(
17626                      e("div.jq-selectbox").filter(".opened")
17627                    ),
17628                  i.focus(),
17629                  !o)
17630                ) {
17631                  var t = e(window),
17632                    s = j.data("li-height"),
17633                    a = b.offset().top,
17634                    r = t.height() - A - (a - t.scrollTop()),
17635                    n = i.data("visible-options");
17636                  (void 0 !== n && "" !== n) || (n = l.selectVisibleOptions);
17637                  var f = 5 * s,
17638                    h = s * n;
17639                  n > 0 && n < 6 && (f = h), 0 === n && (h = "auto");
17640                  var u = function () {
17641                    q.height("auto").css({ bottom: "auto", top: M });
17642                    var e = function () {
17643                      _.css("max-height", Math.floor((r - 20 - D) / s) * s);
17644                    };
17645                    e(),
17646                      _.css("max-height", h),
17647                      "none" != I && _.css("max-height", I),
17648                      r < q.outerHeight() + 20 && e();
17649                  };
17650                  !0 === g || 1 === g
17651                    ? r > f + D + 20
17652                      ? (u(), b.removeClass("dropup").addClass("dropdown"))
17653                      : ((function () {
17654                          q.height("auto").css({ top: "auto", bottom: M });
17655                          var e = function () {
17656                            _.css(
17657                              "max-height",
17658                              Math.floor((a - t.scrollTop() - 20 - D) / s) * s
17659                            );
17660                          };
17661                          e(),
17662                            _.css("max-height", h),
17663                            "none" != I && _.css("max-height", I),
17664                            a - t.scrollTop() - 20 < q.outerHeight() + 20 &&
17665                              e();
17666                        })(),
17667                        b.removeClass("dropdown").addClass("dropup"))
17668                    : !1 === g || 0 === g
17669                    ? r > f + D + 20 &&
17670                      (u(), b.removeClass("dropup").addClass("dropdown"))
17671                    : (q.height("auto").css({ bottom: "auto", top: M }),
17672                      _.css("max-height", h),
17673                      "none" != I && _.css("max-height", I)),
17674                    b.offset().left + q.outerWidth() > t.width() &&
17675                      q.css({ left: "auto", right: 0 }),
17676                    e("div.jqselect")
17677                      .css({ zIndex: C - 1 })
17678                      .removeClass("opened"),
17679                    b.css({ zIndex: C }),
17680                    q.is(":hidden")
17681                      ? (e("div.jq-selectbox__dropdown:visible").hide(),
17682                        q.show(),
17683                        b.addClass("opened focused"),
17684                        l.onSelectOpened.call(b))
17685                      : (q.hide(),
17686                        b.removeClass("opened dropup dropdown"),
17687                        e("div.jq-selectbox").filter(".opened").length &&
17688                          l.onSelectClosed.call(b)),
17689                    k.length &&
17690                      (k.val("").keyup(),
17691                      S.hide(),
17692                      k.keyup(function () {
17693                        var t = e(this).val();
17694                        j.each(function () {
17695                          e(this)
17696                            .html()
17697                            .match(new RegExp(".*?" + t + ".*?", "i"))
17698                            ? e(this).show()
17699                            : e(this).hide();
17700                        }),
17701                          "" === c.first().text() &&
17702                            "" !== i.data("placeholder") &&
17703                            j.first().hide(),
17704                          j.filter(":visible").length < 1 ? S.show() : S.hide();
17705                      })),
17706                    j.filter(".selected").length &&
17707                      ("" === i.val()
17708                        ? _.scrollTop(0)
17709                        : ((_.innerHeight() / s) % 2 != 0 && (s /= 2),
17710                          _.scrollTop(
17711                            _.scrollTop() +
17712                              j.filter(".selected").position().top -
17713                              _.innerHeight() / 2 +
17714                              s
17715                          ))),
17716                    d(_);
17717                }
17718              }),
17719                j.hover(function () {
17720                  e(this).siblings().removeClass("selected");
17721                });
17722              var W = j.filter(".selected").text();
17723              j.filter(":not(.disabled):not(.optgroup)").click(function () {
17724                i.focus();
17725                var t = e(this),
17726                  s = t.text();
17727                if (!t.is(".selected")) {
17728                  var o = t.index();
17729                  (o -= t.prevAll(".optgroup").length),
17730                    t
17731                      .addClass("selected sel")
17732                      .siblings()
17733                      .removeClass("selected sel"),
17734                    c.prop("selected", !1).eq(o).prop("selected", !0),
17735                    (W = s),
17736                    y.text(s),
17737                    b.data("jqfs-class") && b.removeClass(b.data("jqfs-class")),
17738                    b.data("jqfs-class", t.data("jqfs-class")),
17739                    b.addClass(t.data("jqfs-class")),
17740                    i.change();
17741                }
17742                q.hide(),
17743                  b.removeClass("opened dropup dropdown"),
17744                  l.onSelectClosed.call(b);
17745              }),
17746                q.mouseout(function () {
17747                  e("li.sel", q).addClass("selected");
17748                }),
17749                i
17750                  .on("change.styler", function () {
17751                    y
17752                      .text(c.filter(":selected").text())
17753                      .removeClass("placeholder"),
17754                      j
17755                        .removeClass("selected sel")
17756                        .not(".optgroup")
17757                        .eq(i[0].selectedIndex)
17758                        .addClass("selected sel"),
17759                      c.first().text() != j.filter(".selected").text()
17760                        ? b.addClass("changed")
17761                        : b.removeClass("changed");
17762                  })
17763                  .on("focus.styler", function () {
17764                    b.addClass("focused"),
17765                      e("div.jqselect")
17766                        .not(".focused")
17767                        .removeClass("opened dropup dropdown")
17768                        .find("div.jq-selectbox__dropdown")
17769                        .hide();
17770                  })
17771                  .on("blur.styler", function () {
17772                    b.removeClass("focused");
17773                  })
17774                  .on("keydown.styler keyup.styler", function (e) {
17775                    var t = j.data("li-height");
17776                    "" === i.val()
17777                      ? y.text(h).addClass("placeholder")
17778                      : y.text(c.filter(":selected").text()),
17779                      j
17780                        .removeClass("selected sel")
17781                        .not(".optgroup")
17782                        .eq(i[0].selectedIndex)
17783                        .addClass("selected sel"),
17784                      (38 != e.which &&
17785                        37 != e.which &&
17786                        33 != e.which &&
17787                        36 != e.which) ||
17788                        ("" === i.val()
17789                          ? _.scrollTop(0)
17790                          : _.scrollTop(
17791                              _.scrollTop() +
17792                                j.filter(".selected").position().top
17793                            )),
17794                      (40 != e.which &&
17795                        39 != e.which &&
17796                        34 != e.which &&
17797                        35 != e.which) ||
17798                        _.scrollTop(
17799                          _.scrollTop() +
17800                            j.filter(".selected").position().top -
17801                            _.innerHeight() +
17802                            t
17803                        ),
17804                      13 == e.which &&
17805                        (e.preventDefault(),
17806                        q.hide(),
17807                        b.removeClass("opened dropup dropdown"),
17808                        l.onSelectClosed.call(b));
17809                  })
17810                  .on("keydown.styler", function (e) {
17811                    32 == e.which && (e.preventDefault(), x.click());
17812                  }),
17813                s.registered ||
17814                  (e(document).on("click", s), (s.registered = !0));
17815            })();
17816        };
17817        f(),
17818          i.on("refresh", function () {
17819            i.off(".styler").parent().before(i).remove(), f();
17820          });
17821      } else
17822        i.is(":reset") &&
17823          i.on("click", function () {
17824            setTimeout(function () {
17825              i.closest("form").find("input, select").trigger("refresh");
17826            }, 1);
17827          });
17828    },
17829    destroy: function () {
17830      var t = e(this.element);
17831      t.is(":checkbox") || t.is(":radio")
17832        ? (t
17833            .removeData("_" + i)
17834            .off(".styler refresh")
17835            .removeAttr("style")
17836            .parent()
17837            .before(t)
17838            .remove(),
17839          t
17840            .closest("label")
17841            .add('label[for="' + t.attr("id") + '"]')
17842            .off(".styler"))
17843        : t.is('input[type="number"]')
17844        ? t
17845            .removeData("_" + i)
17846            .off(".styler refresh")
17847            .closest(".jq-number")
17848            .before(t)
17849            .remove()
17850        : (t.is(":file") || t.is("select")) &&
17851          t
17852            .removeData("_" + i)
17853            .off(".styler refresh")
17854            .removeAttr("style")
17855            .parent()
17856            .before(t)
17857            .remove();
17858    },
17859  }),
17860    (e.fn[i] = function (s) {
17861      var l = arguments;
17862      if (void 0 === s || "object" == typeof s)
17863        return (
17864          this.each(function () {
17865            e.data(this, "_" + i) || e.data(this, "_" + i, new t(this, s));
17866          })
17867            .promise()
17868            .done(function () {
17869              var t = e(this[0]).data("_" + i);
17870              t && t.options.onFormStyled.call();
17871            }),
17872          this
17873        );
17874      if ("string" == typeof s && "_" !== s[0] && "init" !== s) {
17875        var o;
17876        return (
17877          this.each(function () {
17878            var a = e.data(this, "_" + i);
17879            a instanceof t &&
17880              "function" == typeof a[s] &&
17881              (o = a[s].apply(a, Array.prototype.slice.call(l, 1)));
17882          }),
17883          void 0 !== o ? o : this
17884        );
17885      }
17886    }),
17887    (s.registered = !1);
17888});
17889// jQuery Mask Plugin v1.14.16
17890// github.com/igorescobar/jQuery-Mask-Plugin
17891var $jscomp = $jscomp || {};
17892$jscomp.scope = {};
17893$jscomp.findInternal = function (a, n, f) {
17894  a instanceof String && (a = String(a));
17895  for (var p = a.length, k = 0; k < p; k++) {
17896    var b = a[k];
17897    if (n.call(f, b, k, a)) return { i: k, v: b };
17898  }
17899  return { i: -1, v: void 0 };
17900};
17901$jscomp.ASSUME_ES5 = !1;
17902$jscomp.ASSUME_NO_NATIVE_MAP = !1;
17903$jscomp.ASSUME_NO_NATIVE_SET = !1;
17904$jscomp.SIMPLE_FROUND_POLYFILL = !1;
17905$jscomp.defineProperty =
17906  $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties
17907    ? Object.defineProperty
17908    : function (a, n, f) {
17909        a != Array.prototype && a != Object.prototype && (a[n] = f.value);
17910      };
17911$jscomp.getGlobal = function (a) {
17912  return "undefined" != typeof window && window === a
17913    ? a
17914    : "undefined" != typeof global && null != global
17915    ? global
17916    : a;
17917};
17918$jscomp.global = $jscomp.getGlobal(this);
17919$jscomp.polyfill = function (a, n, f, p) {
17920  if (n) {
17921    f = $jscomp.global;
17922    a = a.split(".");
17923    for (p = 0; p < a.length - 1; p++) {
17924      var k = a[p];
17925      k in f || (f[k] = {});
17926      f = f[k];
17927    }
17928    a = a[a.length - 1];
17929    p = f[a];
17930    n = n(p);
17931    n != p &&
17932      null != n &&
17933      $jscomp.defineProperty(f, a, {
17934        configurable: !0,
17935        writable: !0,
17936        value: n,
17937      });
17938  }
17939};
17940$jscomp.polyfill(
17941  "Array.prototype.find",
17942  function (a) {
17943    return a
17944      ? a
17945      : function (a, f) {
17946          return $jscomp.findInternal(this, a, f).v;
17947        };
17948  },
17949  "es6",
17950  "es3"
17951);
17952(function (a, n, f) {
17953  "function" === typeof define && define.amd
17954    ? define(["jquery"], a)
17955    : "object" === typeof exports && "undefined" === typeof Meteor
17956    ? (module.exports = a(require("jquery")))
17957    : a(n || f);
17958})(
17959  function (a) {
17960    var n = function (b, d, e) {
17961      var c = {
17962        invalid: [],
17963        getCaret: function () {
17964          try {
17965            var a = 0,
17966              r = b.get(0),
17967              h = document.selection,
17968              d = r.selectionStart;
17969            if (h && -1 === navigator.appVersion.indexOf("MSIE 10")) {
17970              var e = h.createRange();
17971              e.moveStart("character", -c.val().length);
17972              a = e.text.length;
17973            } else if (d || "0" === d) a = d;
17974            return a;
17975          } catch (C) {}
17976        },
17977        setCaret: function (a) {
17978          try {
17979            if (b.is(":focus")) {
17980              var c = b.get(0);
17981              if (c.setSelectionRange) c.setSelectionRange(a, a);
17982              else {
17983                var g = c.createTextRange();
17984                g.collapse(!0);
17985                g.moveEnd("character", a);
17986                g.moveStart("character", a);
17987                g.select();
17988              }
17989            }
17990          } catch (B) {}
17991        },
17992        events: function () {
17993          b.on("keydown.mask", function (a) {
17994            b.data("mask-keycode", a.keyCode || a.which);
17995            b.data("mask-previus-value", b.val());
17996            b.data("mask-previus-caret-pos", c.getCaret());
17997            c.maskDigitPosMapOld = c.maskDigitPosMap;
17998          })
17999            .on(
18000              a.jMaskGlobals.useInput ? "input.mask" : "keyup.mask",
18001              c.behaviour
18002            )
18003            .on("paste.mask drop.mask", function () {
18004              setTimeout(function () {
18005                b.keydown().keyup();
18006              }, 100);
18007            })
18008            .on("change.mask", function () {
18009              b.data("changed", !0);
18010            })
18011            .on("blur.mask", function () {
18012              f === c.val() || b.data("changed") || b.trigger("change");
18013              b.data("changed", !1);
18014            })
18015            .on("blur.mask", function () {
18016              f = c.val();
18017            })
18018            .on("focus.mask", function (b) {
18019              !0 === e.selectOnFocus && a(b.target).select();
18020            })
18021            .on("focusout.mask", function () {
18022              e.clearIfNotMatch && !k.test(c.val()) && c.val("");
18023            });
18024        },
18025        getRegexMask: function () {
18026          for (var a = [], b, c, e, t, f = 0; f < d.length; f++)
18027            (b = l.translation[d.charAt(f)])
18028              ? ((c = b.pattern.toString().replace(/.{1}$|^.{1}/g, "")),
18029                (e = b.optional),
18030                (b = b.recursive)
18031                  ? (a.push(d.charAt(f)),
18032                    (t = { digit: d.charAt(f), pattern: c }))
18033                  : a.push(e || b ? c + "?" : c))
18034              : a.push(d.charAt(f).replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&"));
18035          a = a.join("");
18036          t &&
18037            (a = a
18038              .replace(
18039                new RegExp("(" + t.digit + "(.*" + t.digit + ")?)"),
18040                "($1)?"
18041              )
18042              .replace(new RegExp(t.digit, "g"), t.pattern));
18043          return new RegExp(a);
18044        },
18045        destroyEvents: function () {
18046          b.off(
18047            "input keydown keyup paste drop blur focusout "
18048              .split(" ")
18049              .join(".mask ")
18050          );
18051        },
18052        val: function (a) {
18053          var c = b.is("input") ? "val" : "text";
18054          if (0 < arguments.length) {
18055            if (b[c]() !== a) b[c](a);
18056            c = b;
18057          } else c = b[c]();
18058          return c;
18059        },
18060        calculateCaretPosition: function (a) {
18061          var d = c.getMasked(),
18062            h = c.getCaret();
18063          if (a !== d) {
18064            var e = b.data("mask-previus-caret-pos") || 0;
18065            d = d.length;
18066            var g = a.length,
18067              f = (a = 0),
18068              l = 0,
18069              k = 0,
18070              m;
18071            for (m = h; m < d && c.maskDigitPosMap[m]; m++) f++;
18072            for (m = h - 1; 0 <= m && c.maskDigitPosMap[m]; m--) a++;
18073            for (m = h - 1; 0 <= m; m--) c.maskDigitPosMap[m] && l++;
18074            for (m = e - 1; 0 <= m; m--) c.maskDigitPosMapOld[m] && k++;
18075            h > g
18076              ? (h = 10 * d)
18077              : e >= h && e !== g
18078              ? c.maskDigitPosMapOld[h] ||
18079                ((e = h),
18080                (h = h - (k - l) - a),
18081                c.maskDigitPosMap[h] && (h = e))
18082              : h > e && (h = h + (l - k) + f);
18083          }
18084          return h;
18085        },
18086        behaviour: function (d) {
18087          d = d || window.event;
18088          c.invalid = [];
18089          var e = b.data("mask-keycode");
18090          if (-1 === a.inArray(e, l.byPassKeys)) {
18091            e = c.getMasked();
18092            var h = c.getCaret(),
18093              g = b.data("mask-previus-value") || "";
18094            setTimeout(function () {
18095              c.setCaret(c.calculateCaretPosition(g));
18096            }, a.jMaskGlobals.keyStrokeCompensation);
18097            c.val(e);
18098            c.setCaret(h);
18099            return c.callbacks(d);
18100          }
18101        },
18102        getMasked: function (a, b) {
18103          var h = [],
18104            f = void 0 === b ? c.val() : b + "",
18105            g = 0,
18106            k = d.length,
18107            n = 0,
18108            p = f.length,
18109            m = 1,
18110            r = "push",
18111            u = -1,
18112            w = 0;
18113          b = [];
18114          if (e.reverse) {
18115            r = "unshift";
18116            m = -1;
18117            var x = 0;
18118            g = k - 1;
18119            n = p - 1;
18120            var A = function () {
18121              return -1 < g && -1 < n;
18122            };
18123          } else
18124            (x = k - 1),
18125              (A = function () {
18126                return g < k && n < p;
18127              });
18128          for (var z; A(); ) {
18129            var y = d.charAt(g),
18130              v = f.charAt(n),
18131              q = l.translation[y];
18132            if (q)
18133              v.match(q.pattern)
18134                ? (h[r](v),
18135                  q.recursive &&
18136                    (-1 === u ? (u = g) : g === x && g !== u && (g = u - m),
18137                    x === u && (g -= m)),
18138                  (g += m))
18139                : v === z
18140                ? (w--, (z = void 0))
18141                : q.optional
18142                ? ((g += m), (n -= m))
18143                : q.fallback
18144                ? (h[r](q.fallback), (g += m), (n -= m))
18145                : c.invalid.push({ p: n, v: v, e: q.pattern }),
18146                (n += m);
18147            else {
18148              if (!a) h[r](y);
18149              v === y ? (b.push(n), (n += m)) : ((z = y), b.push(n + w), w++);
18150              g += m;
18151            }
18152          }
18153          a = d.charAt(x);
18154          k !== p + 1 || l.translation[a] || h.push(a);
18155          h = h.join("");
18156          c.mapMaskdigitPositions(h, b, p);
18157          return h;
18158        },
18159        mapMaskdigitPositions: function (a, b, d) {
18160          a = e.reverse ? a.length - d : 0;
18161          c.maskDigitPosMap = {};
18162          for (d = 0; d < b.length; d++) c.maskDigitPosMap[b[d] + a] = 1;
18163        },
18164        callbacks: function (a) {
18165          var g = c.val(),
18166            h = g !== f,
18167            k = [g, a, b, e],
18168            l = function (a, b, c) {
18169              "function" === typeof e[a] && b && e[a].apply(this, c);
18170            };
18171          l("onChange", !0 === h, k);
18172          l("onKeyPress", !0 === h, k);
18173          l("onComplete", g.length === d.length, k);
18174          l("onInvalid", 0 < c.invalid.length, [g, a, b, c.invalid, e]);
18175        },
18176      };
18177      b = a(b);
18178      var l = this,
18179        f = c.val(),
18180        k;
18181      d = "function" === typeof d ? d(c.val(), void 0, b, e) : d;
18182      l.mask = d;
18183      l.options = e;
18184      l.remove = function () {
18185        var a = c.getCaret();
18186        l.options.placeholder && b.removeAttr("placeholder");
18187        b.data("mask-maxlength") && b.removeAttr("maxlength");
18188        c.destroyEvents();
18189        c.val(l.getCleanVal());
18190        c.setCaret(a);
18191        return b;
18192      };
18193      l.getCleanVal = function () {
18194        return c.getMasked(!0);
18195      };
18196      l.getMaskedVal = function (a) {
18197        return c.getMasked(!1, a);
18198      };
18199      l.init = function (g) {
18200        g = g || !1;
18201        e = e || {};
18202        l.clearIfNotMatch = a.jMaskGlobals.clearIfNotMatch;
18203        l.byPassKeys = a.jMaskGlobals.byPassKeys;
18204        l.translation = a.extend({}, a.jMaskGlobals.translation, e.translation);
18205        l = a.extend(!0, {}, l, e);
18206        k = c.getRegexMask();
18207        if (g) c.events(), c.val(c.getMasked());
18208        else {
18209          e.placeholder && b.attr("placeholder", e.placeholder);
18210          b.data("mask") && b.attr("autocomplete", "off");
18211          g = 0;
18212          for (var f = !0; g < d.length; g++) {
18213            var h = l.translation[d.charAt(g)];
18214            if (h && h.recursive) {
18215              f = !1;
18216              break;
18217            }
18218          }
18219          f && b.attr("maxlength", d.length).data("mask-maxlength", !0);
18220          c.destroyEvents();
18221          c.events();
18222          g = c.getCaret();
18223          c.val(c.getMasked());
18224          c.setCaret(g);
18225        }
18226      };
18227      l.init(!b.is("input"));
18228    };
18229    a.maskWatchers = {};
18230    var f = function () {
18231        var b = a(this),
18232          d = {},
18233          e = b.attr("data-mask");
18234        b.attr("data-mask-reverse") && (d.reverse = !0);
18235        b.attr("data-mask-clearifnotmatch") && (d.clearIfNotMatch = !0);
18236        "true" === b.attr("data-mask-selectonfocus") && (d.selectOnFocus = !0);
18237        if (p(b, e, d)) return b.data("mask", new n(this, e, d));
18238      },
18239      p = function (b, d, e) {
18240        e = e || {};
18241        var c = a(b).data("mask"),
18242          f = JSON.stringify;
18243        b = a(b).val() || a(b).text();
18244        try {
18245          return (
18246            "function" === typeof d && (d = d(b)),
18247            "object" !== typeof c || f(c.options) !== f(e) || c.mask !== d
18248          );
18249        } catch (w) {}
18250      },
18251      k = function (a) {
18252        var b = document.createElement("div");
18253        a = "on" + a;
18254        var e = a in b;
18255        e || (b.setAttribute(a, "return;"), (e = "function" === typeof b[a]));
18256        return e;
18257      };
18258    a.fn.mask = function (b, d) {
18259      d = d || {};
18260      var e = this.selector,
18261        c = a.jMaskGlobals,
18262        f = c.watchInterval;
18263      c = d.watchInputs || c.watchInputs;
18264      var k = function () {
18265        if (p(this, b, d)) return a(this).data("mask", new n(this, b, d));
18266      };
18267      a(this).each(k);
18268      e &&
18269        "" !== e &&
18270        c &&
18271        (clearInterval(a.maskWatchers[e]),
18272        (a.maskWatchers[e] = setInterval(function () {
18273          a(document).find(e).each(k);
18274        }, f)));
18275      return this;
18276    };
18277    a.fn.masked = function (a) {
18278      return this.data("mask").getMaskedVal(a);
18279    };
18280    a.fn.unmask = function () {
18281      clearInterval(a.maskWatchers[this.selector]);
18282      delete a.maskWatchers[this.selector];
18283      return this.each(function () {
18284        var b = a(this).data("mask");
18285        b && b.remove().removeData("mask");
18286      });
18287    };
18288    a.fn.cleanVal = function () {
18289      return this.data("mask").getCleanVal();
18290    };
18291    a.applyDataMask = function (b) {
18292      b = b || a.jMaskGlobals.maskElements;
18293      (b instanceof a ? b : a(b)).filter(a.jMaskGlobals.dataMaskAttr).each(f);
18294    };
18295    k = {
18296      maskElements: "input,td,span,div",
18297      dataMaskAttr: "*[data-mask]",
18298      dataMask: !0,
18299      watchInterval: 300,
18300      watchInputs: !0,
18301      keyStrokeCompensation: 10,
18302      useInput:
18303        !/Chrome\/[2-4][0-9]|SamsungBrowser/.test(window.navigator.userAgent) &&
18304        k("input"),
18305      watchDataMask: !1,
18306      byPassKeys: [9, 16, 17, 18, 36, 37, 38, 39, 40, 91],
18307      translation: {
18308        0: { pattern: /\d/ },
18309        9: { pattern: /\d/, optional: !0 },
18310        "#": { pattern: /\d/, recursive: !0 },
18311        A: { pattern: /[a-zA-Z0-9]/ },
18312        S: { pattern: /[a-zA-Z]/ },
18313      },
18314    };
18315    a.jMaskGlobals = a.jMaskGlobals || {};
18316    k = a.jMaskGlobals = a.extend(!0, {}, k, a.jMaskGlobals);
18317    k.dataMask && a.applyDataMask();
18318    setInterval(function () {
18319      a.jMaskGlobals.watchDataMask && a.applyDataMask();
18320    }, k.watchInterval);
18321  },
18322  window.jQuery,
18323  window.Zepto
18324);
18325
18326/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */
18327!(function (n) {
18328  "function" == typeof define && define.amd
18329    ? define(["jquery"], n)
18330    : "object" == typeof module && module.exports
18331    ? (module.exports = function (e, t) {
18332        return (
18333          void 0 === t &&
18334            (t =
18335              "undefined" != typeof window
18336                ? require("jquery")
18337                : require("jquery")(e)),
18338          n(t),
18339          t
18340        );
18341      })
18342    : n(jQuery);
18343})(function (t) {
18344  var e,
18345    n,
18346    s,
18347    p,
18348    r,
18349    o,
18350    h,
18351    f,
18352    g,
18353    m,
18354    y,
18355    v,
18356    i,
18357    a,
18358    _,
18359    s =
18360      (t && t.fn && t.fn.select2 && t.fn.select2.amd && (u = t.fn.select2.amd),
18361      (u && u.requirejs) ||
18362        (u ? (n = u) : (u = {}),
18363        (g = {}),
18364        (m = {}),
18365        (y = {}),
18366        (v = {}),
18367        (i = Object.prototype.hasOwnProperty),
18368        (a = [].slice),
18369        (_ = /\.js$/),
18370        (h = function (e, t) {
18371          var n,
18372            s,
18373            i = c(e),
18374            r = i[0],
18375            t = t[1];
18376          return (
18377            (e = i[1]),
18378            r && (n = x((r = l(r, t)))),
18379            r
18380              ? (e =
18381                  n && n.normalize
18382                    ? n.normalize(
18383                        e,
18384                        ((s = t),
18385                        function (e) {
18386                          return l(e, s);
18387                        })
18388                      )
18389                    : l(e, t))
18390              : ((r = (i = c((e = l(e, t))))[0]), (e = i[1]), r && (n = x(r))),
18391            { f: r ? r + "!" + e : e, n: e, pr: r, p: n }
18392          );
18393        }),
18394        (f = {
18395          require: function (e) {
18396            return w(e);
18397          },
18398          exports: function (e) {
18399            var t = g[e];
18400            return void 0 !== t ? t : (g[e] = {});
18401          },
18402          module: function (e) {
18403            return {
18404              id: e,
18405              uri: "",
18406              exports: g[e],
18407              config:
18408                ((t = e),
18409                function () {
18410                  return (y && y.config && y.config[t]) || {};
18411                }),
18412            };
18413            var t;
18414          },
18415        }),
18416        (r = function (e, t, n, s) {
18417          var i,
18418            r,
18419            o,
18420            a,
18421            l,
18422            c = [],
18423            u = typeof n,
18424            d = A((s = s || e));
18425          if ("undefined" == u || "function" == u) {
18426            for (
18427              t = !t.length && n.length ? ["require", "exports", "module"] : t,
18428                a = 0;
18429              a < t.length;
18430              a += 1
18431            )
18432              if ("require" === (r = (o = h(t[a], d)).f)) c[a] = f.require(e);
18433              else if ("exports" === r) (c[a] = f.exports(e)), (l = !0);
18434              else if ("module" === r) i = c[a] = f.module(e);
18435              else if (b(g, r) || b(m, r) || b(v, r)) c[a] = x(r);
18436              else {
18437                if (!o.p) throw new Error(e + " missing " + r);
18438                o.p.load(
18439                  o.n,
18440                  w(s, !0),
18441                  (function (t) {
18442                    return function (e) {
18443                      g[t] = e;
18444                    };
18445                  })(r),
18446                  {}
18447                ),
18448                  (c[a] = g[r]);
18449              }
18450            (u = n ? n.apply(g[e], c) : void 0),
18451              e &&
18452                (i && i.exports !== p && i.exports !== g[e]
18453                  ? (g[e] = i.exports)
18454                  : (u === p && l) || (g[e] = u));
18455          } else e && (g[e] = n);
18456        }),
18457        (e =
18458          n =
18459          o =
18460            function (e, t, n, s, i) {
18461              if ("string" == typeof e) return f[e] ? f[e](t) : x(h(e, A(t)).f);
18462              if (!e.splice) {
18463                if (((y = e).deps && o(y.deps, y.callback), !t)) return;
18464                t.splice ? ((e = t), (t = n), (n = null)) : (e = p);
18465              }
18466              return (
18467                (t = t || function () {}),
18468                "function" == typeof n && ((n = s), (s = i)),
18469                s
18470                  ? r(p, e, t, n)
18471                  : setTimeout(function () {
18472                      r(p, e, t, n);
18473                    }, 4),
18474                o
18475              );
18476            }),
18477        (o.config = function (e) {
18478          return o(e);
18479        }),
18480        (e._defined = g),
18481        ((s = function (e, t, n) {
18482          if ("string" != typeof e)
18483            throw new Error(
18484              "See almond README: incorrect module build, no module name"
18485            );
18486          t.splice || ((n = t), (t = [])),
18487            b(g, e) || b(m, e) || (m[e] = [e, t, n]);
18488        }).amd = { jQuery: !0 }),
18489        (u.requirejs = e),
18490        (u.require = n),
18491        (u.define = s)),
18492      u.define("almond", function () {}),
18493      u.define("jquery", [], function () {
18494        var e = t || $;
18495        return (
18496          null == e &&
18497            console &&
18498            console.error &&
18499            console.error(
18500              "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."
18501            ),
18502          e
18503        );
18504      }),
18505      u.define("select2/utils", ["jquery"], function (r) {
18506        var s = {};
18507        function c(e) {
18508          var t,
18509            n = e.prototype,
18510            s = [];
18511          for (t in n)
18512            "function" == typeof n[t] && "constructor" !== t && s.push(t);
18513          return s;
18514        }
18515        (s.Extend = function (e, t) {
18516          var n,
18517            s = {}.hasOwnProperty;
18518          function i() {
18519            this.constructor = e;
18520          }
18521          for (n in t) s.call(t, n) && (e[n] = t[n]);
18522          return (
18523            (i.prototype = t.prototype),
18524            (e.prototype = new i()),
18525            (e.__super__ = t.prototype),
18526            e
18527          );
18528        }),
18529          (s.Decorate = function (s, i) {
18530            var e = c(i),
18531              t = c(s);
18532            function r() {
18533              var e = Array.prototype.unshift,
18534                t = i.prototype.constructor.length,
18535                n = s.prototype.constructor;
18536              0 < t &&
18537                (e.call(arguments, s.prototype.constructor),
18538                (n = i.prototype.constructor)),
18539                n.apply(this, arguments);
18540            }
18541            (i.displayName = s.displayName),
18542              (r.prototype = new (function () {
18543                this.constructor = r;
18544              })());
18545            for (var n = 0; n < t.length; n++) {
18546              var o = t[n];
18547              r.prototype[o] = s.prototype[o];
18548            }
18549            for (var a = 0; a < e.length; a++) {
18550              var l = e[a];
18551              r.prototype[l] = (function (e) {
18552                var t = function () {};
18553                e in r.prototype && (t = r.prototype[e]);
18554                var n = i.prototype[e];
18555                return function () {
18556                  return (
18557                    Array.prototype.unshift.call(arguments, t),
18558                    n.apply(this, arguments)
18559                  );
18560                };
18561              })(l);
18562            }
18563            return r;
18564          });
18565        function e() {
18566          this.listeners = {};
18567        }
18568        (e.prototype.on = function (e, t) {
18569          (this.listeners = this.listeners || {}),
18570            e in this.listeners
18571              ? this.listeners[e].push(t)
18572              : (this.listeners[e] = [t]);
18573        }),
18574          (e.prototype.trigger = function (e) {
18575            var t = Array.prototype.slice,
18576              n = t.call(arguments, 1);
18577            (this.listeners = this.listeners || {}),
18578              null == n && (n = []),
18579              0 === n.length && n.push({}),
18580              (n[0]._type = e) in this.listeners &&
18581                this.invoke(this.listeners[e], t.call(arguments, 1)),
18582              "*" in this.listeners &&
18583                this.invoke(this.listeners["*"], arguments);
18584          }),
18585          (e.prototype.invoke = function (e, t) {
18586            for (var n = 0, s = e.length; n < s; n++) e[n].apply(this, t);
18587          }),
18588          (s.Observable = e),
18589          (s.generateChars = function (e) {
18590            for (var t = "", n = 0; n < e; n++)
18591              t += Math.floor(36 * Math.random()).toString(36);
18592            return t;
18593          }),
18594          (s.bind = function (e, t) {
18595            return function () {
18596              e.apply(t, arguments);
18597            };
18598          }),
18599          (s._convertData = function (e) {
18600            for (var t in e) {
18601              var n = t.split("-"),
18602                s = e;
18603              if (1 !== n.length) {
18604                for (var i = 0; i < n.length; i++) {
18605                  var r = n[i];
18606                  (r = r.substring(0, 1).toLowerCase() + r.substring(1)) in s ||
18607                    (s[r] = {}),
18608                    i == n.length - 1 && (s[r] = e[t]),
18609                    (s = s[r]);
18610                }
18611                delete e[t];
18612              }
18613            }
18614            return e;
18615          }),
18616          (s.hasScroll = function (e, t) {
18617            var n = r(t),
18618              s = t.style.overflowX,
18619              i = t.style.overflowY;
18620            return (
18621              (s !== i || ("hidden" !== i && "visible" !== i)) &&
18622              ("scroll" === s ||
18623                "scroll" === i ||
18624                n.innerHeight() < t.scrollHeight ||
18625                n.innerWidth() < t.scrollWidth)
18626            );
18627          }),
18628          (s.escapeMarkup = function (e) {
18629            var t = {
18630              "\\": "&#92;",
18631              "&": "&amp;",
18632              "<": "&lt;",
18633              ">": "&gt;",
18634              '"': "&quot;",
18635              "'": "&#39;",
18636              "/": "&#47;",
18637            };
18638            return "string" != typeof e
18639              ? e
18640              : String(e).replace(/[&<>"'\/\\]/g, function (e) {
18641                  return t[e];
18642                });
18643          }),
18644          (s.__cache = {});
18645        var n = 0;
18646        return (
18647          (s.GetUniqueElementId = function (e) {
18648            var t = e.getAttribute("data-select2-id");
18649            return (
18650              null != t ||
18651                ((t = e.id
18652                  ? "select2-data-" + e.id
18653                  : "select2-data-" +
18654                    (++n).toString() +
18655                    "-" +
18656                    s.generateChars(4)),
18657                e.setAttribute("data-select2-id", t)),
18658              t
18659            );
18660          }),
18661          (s.StoreData = function (e, t, n) {
18662            e = s.GetUniqueElementId(e);
18663            s.__cache[e] || (s.__cache[e] = {}), (s.__cache[e][t] = n);
18664          }),
18665          (s.GetData = function (e, t) {
18666            var n = s.GetUniqueElementId(e);
18667            return t
18668              ? s.__cache[n] && null != s.__cache[n][t]
18669                ? s.__cache[n][t]
18670                : r(e).data(t)
18671              : s.__cache[n];
18672          }),
18673          (s.RemoveData = function (e) {
18674            var t = s.GetUniqueElementId(e);
18675            null != s.__cache[t] && delete s.__cache[t],
18676              e.removeAttribute("data-select2-id");
18677          }),
18678          (s.copyNonInternalCssClasses = function (e, t) {
18679            var n = (n = e.getAttribute("class").trim().split(/\s+/)).filter(
18680                function (e) {
18681                  return 0 === e.indexOf("select2-");
18682                }
18683              ),
18684              t = (t = t.getAttribute("class").trim().split(/\s+/)).filter(
18685                function (e) {
18686                  return 0 !== e.indexOf("select2-");
18687                }
18688              ),
18689              t = n.concat(t);
18690            e.setAttribute("class", t.join(" "));
18691          }),
18692          s
18693        );
18694      }),
18695      u.define("select2/results", ["jquery", "./utils"], function (d, p) {
18696        function s(e, t, n) {
18697          (this.$element = e),
18698            (this.data = n),
18699            (this.options = t),
18700            s.__super__.constructor.call(this);
18701        }
18702        return (
18703          p.Extend(s, p.Observable),
18704          (s.prototype.render = function () {
18705            var e = d(
18706              '<ul class="select2-results__options" role="listbox"></ul>'
18707            );
18708            return (
18709              this.options.get("multiple") &&
18710                e.attr("aria-multiselectable", "true"),
18711              (this.$results = e)
18712            );
18713          }),
18714          (s.prototype.clear = function () {
18715            this.$results.empty();
18716          }),
18717          (s.prototype.displayMessage = function (e) {
18718            var t = this.options.get("escapeMarkup");
18719            this.clear(), this.hideLoading();
18720            var n = d(
18721                '<li role="alert" aria-live="assertive" class="select2-results__option"></li>'
18722              ),
18723              s = this.options.get("translations").get(e.message);
18724            n.append(t(s(e.args))),
18725              (n[0].className += " select2-results__message"),
18726              this.$results.append(n);
18727          }),
18728          (s.prototype.hideMessages = function () {
18729            this.$results.find(".select2-results__message").remove();
18730          }),
18731          (s.prototype.append = function (e) {
18732            this.hideLoading();
18733            var t = [];
18734            if (null != e.results && 0 !== e.results.length) {
18735              e.results = this.sort(e.results);
18736              for (var n = 0; n < e.results.length; n++) {
18737                var s = e.results[n],
18738                  s = this.option(s);
18739                t.push(s);
18740              }
18741              this.$results.append(t);
18742            } else
18743              0 === this.$results.children().length &&
18744                this.trigger("results:message", { message: "noResults" });
18745          }),
18746          (s.prototype.position = function (e, t) {
18747            t.find(".select2-results").append(e);
18748          }),
18749          (s.prototype.sort = function (e) {
18750            return this.options.get("sorter")(e);
18751          }),
18752          (s.prototype.highlightFirstItem = function () {
18753            var e = this.$results.find(".select2-results__option--selectable"),
18754              t = e.filter(".select2-results__option--selected");
18755            (0 < t.length ? t : e).first().trigger("mouseenter"),
18756              this.ensureHighlightVisible();
18757          }),
18758          (s.prototype.setClasses = function () {
18759            var t = this;
18760            this.data.current(function (e) {
18761              var s = e.map(function (e) {
18762                return e.id.toString();
18763              });
18764              t.$results
18765                .find(".select2-results__option--selectable")
18766                .each(function () {
18767                  var e = d(this),
18768                    t = p.GetData(this, "data"),
18769                    n = "" + t.id;
18770                  (null != t.element && t.element.selected) ||
18771                  (null == t.element && -1 < s.indexOf(n))
18772                    ? (this.classList.add("select2-results__option--selected"),
18773                      e.attr("aria-selected", "true"))
18774                    : (this.classList.remove(
18775                        "select2-results__option--selected"
18776                      ),
18777                      e.attr("aria-selected", "false"));
18778                });
18779            });
18780          }),
18781          (s.prototype.showLoading = function (e) {
18782            this.hideLoading();
18783            (e = {
18784              disabled: !0,
18785              loading: !0,
18786              text: this.options.get("translations").get("searching")(e),
18787            }),
18788              (e = this.option(e));
18789            (e.className += " loading-results"), this.$results.prepend(e);
18790          }),
18791          (s.prototype.hideLoading = function () {
18792            this.$results.find(".loading-results").remove();
18793          }),
18794          (s.prototype.option = function (e) {
18795            var t = document.createElement("li");
18796            t.classList.add("select2-results__option"),
18797              t.classList.add("select2-results__option--selectable");
18798            var n,
18799              s = { role: "option" },
18800              i =
18801                window.Element.prototype.matches ||
18802                window.Element.prototype.msMatchesSelector ||
18803                window.Element.prototype.webkitMatchesSelector;
18804            for (n in (((null != e.element && i.call(e.element, ":disabled")) ||
18805              (null == e.element && e.disabled)) &&
18806              ((s["aria-disabled"] = "true"),
18807              t.classList.remove("select2-results__option--selectable"),
18808              t.classList.add("select2-results__option--disabled")),
18809            null == e.id &&
18810              t.classList.remove("select2-results__option--selectable"),
18811            null != e._resultId && (t.id = e._resultId),
18812            e.title && (t.title = e.title),
18813            e.children &&
18814              ((s.role = "group"),
18815              (s["aria-label"] = e.text),
18816              t.classList.remove("select2-results__option--selectable"),
18817              t.classList.add("select2-results__option--group")),
18818            s)) {
18819              var r = s[n];
18820              t.setAttribute(n, r);
18821            }
18822            if (e.children) {
18823              var o = d(t),
18824                a = document.createElement("strong");
18825              (a.className = "select2-results__group"), this.template(e, a);
18826              for (var l = [], c = 0; c < e.children.length; c++) {
18827                var u = e.children[c],
18828                  u = this.option(u);
18829                l.push(u);
18830              }
18831              i = d("<ul></ul>", {
18832                class:
18833                  "select2-results__options select2-results__options--nested",
18834                role: "none",
18835              });
18836              i.append(l), o.append(a), o.append(i);
18837            } else this.template(e, t);
18838            return p.StoreData(t, "data", e), t;
18839          }),
18840          (s.prototype.bind = function (t, e) {
18841            var i = this,
18842              n = t.id + "-results";
18843            this.$results.attr("id", n),
18844              t.on("results:all", function (e) {
18845                i.clear(),
18846                  i.append(e.data),
18847                  t.isOpen() && (i.setClasses(), i.highlightFirstItem());
18848              }),
18849              t.on("results:append", function (e) {
18850                i.append(e.data), t.isOpen() && i.setClasses();
18851              }),
18852              t.on("query", function (e) {
18853                i.hideMessages(), i.showLoading(e);
18854              }),
18855              t.on("select", function () {
18856                t.isOpen() &&
18857                  (i.setClasses(),
18858                  i.options.get("scrollAfterSelect") && i.highlightFirstItem());
18859              }),
18860              t.on("unselect", function () {
18861                t.isOpen() &&
18862                  (i.setClasses(),
18863                  i.options.get("scrollAfterSelect") && i.highlightFirstItem());
18864              }),
18865              t.on("open", function () {
18866                i.$results.attr("aria-expanded", "true"),
18867                  i.$results.attr("aria-hidden", "false"),
18868                  i.setClasses(),
18869                  i.ensureHighlightVisible();
18870              }),
18871              t.on("close", function () {
18872                i.$results.attr("aria-expanded", "false"),
18873                  i.$results.attr("aria-hidden", "true"),
18874                  i.$results.removeAttr("aria-activedescendant");
18875              }),
18876              t.on("results:toggle", function () {
18877                var e = i.getHighlightedResults();
18878                0 !== e.length && e.trigger("mouseup");
18879              }),
18880              t.on("results:select", function () {
18881                var e,
18882                  t = i.getHighlightedResults();
18883                0 !== t.length &&
18884                  ((e = p.GetData(t[0], "data")),
18885                  t.hasClass("select2-results__option--selected")
18886                    ? i.trigger("close", {})
18887                    : i.trigger("select", { data: e }));
18888              }),
18889              t.on("results:previous", function () {
18890                var e,
18891                  t = i.getHighlightedResults(),
18892                  n = i.$results.find(".select2-results__option--selectable"),
18893                  s = n.index(t);
18894                s <= 0 ||
18895                  ((e = s - 1),
18896                  0 === t.length && (e = 0),
18897                  (s = n.eq(e)).trigger("mouseenter"),
18898                  (t = i.$results.offset().top),
18899                  (n = s.offset().top),
18900                  (s = i.$results.scrollTop() + (n - t)),
18901                  0 === e
18902                    ? i.$results.scrollTop(0)
18903                    : n - t < 0 && i.$results.scrollTop(s));
18904              }),
18905              t.on("results:next", function () {
18906                var e,
18907                  t = i.getHighlightedResults(),
18908                  n = i.$results.find(".select2-results__option--selectable"),
18909                  s = n.index(t) + 1;
18910                s >= n.length ||
18911                  ((e = n.eq(s)).trigger("mouseenter"),
18912                  (t = i.$results.offset().top + i.$results.outerHeight(!1)),
18913                  (n = e.offset().top + e.outerHeight(!1)),
18914                  (e = i.$results.scrollTop() + n - t),
18915                  0 === s
18916                    ? i.$results.scrollTop(0)
18917                    : t < n && i.$results.scrollTop(e));
18918              }),
18919              t.on("results:focus", function (e) {
18920                e.element[0].classList.add(
18921                  "select2-results__option--highlighted"
18922                ),
18923                  e.element[0].setAttribute("aria-selected", "true");
18924              }),
18925              t.on("results:message", function (e) {
18926                i.displayMessage(e);
18927              }),
18928              d.fn.mousewheel &&
18929                this.$results.on("mousewheel", function (e) {
18930                  var t = i.$results.scrollTop(),
18931                    n = i.$results.get(0).scrollHeight - t + e.deltaY,
18932                    t = 0 < e.deltaY && t - e.deltaY <= 0,
18933                    n = e.deltaY < 0 && n <= i.$results.height();
18934                  t
18935                    ? (i.$results.scrollTop(0),
18936                      e.preventDefault(),
18937                      e.stopPropagation())
18938                    : n &&
18939                      (i.$results.scrollTop(
18940                        i.$results.get(0).scrollHeight - i.$results.height()
18941                      ),
18942                      e.preventDefault(),
18943                      e.stopPropagation());
18944                }),
18945              this.$results.on(
18946                "mouseup",
18947                ".select2-results__option--selectable",
18948                function (e) {
18949                  var t = d(this),
18950                    n = p.GetData(this, "data");
18951                  t.hasClass("select2-results__option--selected")
18952                    ? i.options.get("multiple")
18953                      ? i.trigger("unselect", { originalEvent: e, data: n })
18954                      : i.trigger("close", {})
18955                    : i.trigger("select", { originalEvent: e, data: n });
18956                }
18957              ),
18958              this.$results.on(
18959                "mouseenter",
18960                ".select2-results__option--selectable",
18961                function (e) {
18962                  var t = p.GetData(this, "data");
18963                  i
18964                    .getHighlightedResults()
18965                    .removeClass("select2-results__option--highlighted")
18966                    .attr("aria-selected", "false"),
18967                    i.trigger("results:focus", { data: t, element: d(this) });
18968                }
18969              );
18970          }),
18971          (s.prototype.getHighlightedResults = function () {
18972            return this.$results.find(".select2-results__option--highlighted");
18973          }),
18974          (s.prototype.destroy = function () {
18975            this.$results.remove();
18976          }),
18977          (s.prototype.ensureHighlightVisible = function () {
18978            var e,
18979              t,
18980              n,
18981              s,
18982              i = this.getHighlightedResults();
18983            0 !== i.length &&
18984              ((e = this.$results
18985                .find(".select2-results__option--selectable")
18986                .index(i)),
18987              (s = this.$results.offset().top),
18988              (t = i.offset().top),
18989              (n = this.$results.scrollTop() + (t - s)),
18990              (s = t - s),
18991              (n -= 2 * i.outerHeight(!1)),
18992              e <= 2
18993                ? this.$results.scrollTop(0)
18994                : (s > this.$results.outerHeight() || s < 0) &&
18995                  this.$results.scrollTop(n));
18996          }),
18997          (s.prototype.template = function (e, t) {
18998            var n = this.options.get("templateResult"),
18999              s = this.options.get("escapeMarkup"),
19000              e = n(e, t);
19001            null == e
19002              ? (t.style.display = "none")
19003              : "string" == typeof e�
19003
19004              ? (t.innerHTML = s(e))
19005              : d(t).append(e);
19006          }),
19007          s
19008        );
19009      }),
19010      u.define("select2/keys", [], function () {
19011        return {
19012          BACKSPACE: 8,
19013          TAB: 9,
19014          ENTER: 13,
19015          SHIFT: 16,
19016          CTRL: 17,
19017          ALT: 18,
19018          ESC: 27,
19019          SPACE: 32,
19020          PAGE_UP: 33,
19021          PAGE_DOWN: 34,
19022          END: 35,
19023          HOME: 36,
19024          LEFT: 37,
19025          UP: 38,
19026          RIGHT: 39,
19027          DOWN: 40,
19028          DELETE: 46,
19029        };
19030      }),
19031      u.define(
19032        "select2/selection/base",
19033        ["jquery", "../utils", "../keys"],
19034        function (n, s, i) {
19035          function r(e, t) {
19036            (this.$element = e),
19037              (this.options = t),
19038              r.__super__.constructor.call(this);
19039          }
19040          return (
19041            s.Extend(r, s.Observable),
19042            (r.prototype.render = function () {
19043              var e = n(
19044                '<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>'
19045              );
19046              return (
19047                (this._tabindex = 0),
19048                null != s.GetData(this.$element[0], "old-tabindex")
19049                  ? (this._tabindex = s.GetData(
19050                      this.$element[0],
19051                      "old-tabindex"
19052                    ))
19053                  : null != this.$element.attr("tabindex") &&
19054                    (this._tabindex = this.$element.attr("tabindex")),
19055                e.attr("title", this.$element.attr("title")),
19056                e.attr("tabindex", this._tabindex),
19057                e.attr("aria-disabled", "false"),
19058                (this.$selection = e)
19059              );
19060            }),
19061            (r.prototype.bind = function (e, t) {
19062              var n = this,
19063                s = e.id + "-results";
19064              (this.container = e),
19065                this.$selection.on("focus", function (e) {
19066                  n.trigger("focus", e);
19067                }),
19068                this.$selection.on("blur", function (e) {
19069                  n._handleBlur(e);
19070                }),
19071                this.$selection.on("keydown", function (e) {
19072                  n.trigger("keypress", e),
19073                    e.which === i.SPACE && e.preventDefault();
19074                }),
19075                e.on("results:focus", function (e) {
19076                  n.$selection.attr("aria-activedescendant", e.data._resultId);
19077                }),
19078                e.on("selection:update", function (e) {
19079                  n.update(e.data);
19080                }),
19081                e.on("open", function () {
19082                  n.$selection.attr("aria-expanded", "true"),
19083                    n.$selection.attr("aria-owns", s),
19084                    n._attachCloseHandler(e);
19085                }),
19086                e.on("close", function () {
19087                  n.$selection.attr("aria-expanded", "false"),
19088                    n.$selection.removeAttr("aria-activedescendant"),
19089                    n.$selection.removeAttr("aria-owns"),
19090                    n.$selection.trigger("focus"),
19091                    n._detachCloseHandler(e);
19092                }),
19093                e.on("enable", function () {
19094                  n.$selection.attr("tabindex", n._tabindex),
19095                    n.$selection.attr("aria-disabled", "false");
19096                }),
19097                e.on("disable", function () {
19098                  n.$selection.attr("tabindex", "-1"),
19099                    n.$selection.attr("aria-disabled", "true");
19100                });
19101            }),
19102            (r.prototype._handleBlur = function (e) {
19103              var t = this;
19104              window.setTimeout(function () {
19105                document.activeElement == t.$selection[0] ||
19106                  n.contains(t.$selection[0], document.activeElement) ||
19107                  t.trigger("blur", e);
19108              }, 1);
19109            }),
19110            (r.prototype._attachCloseHandler = function (e) {
19111              n(document.body).on("mousedown.select2." + e.id, function (e) {
19112                var t = n(e.target).closest(".select2");
19113                n(".select2.select2-container--open").each(function () {
19114                  this != t[0] && s.GetData(this, "element").select2("close");
19115                });
19116              });
19117            }),
19118            (r.prototype._detachCloseHandler = function (e) {
19119              n(document.body).off("mousedown.select2." + e.id);
19120            }),
19121            (r.prototype.position = function (e, t) {
19122              t.find(".selection").append(e);
19123            }),
19124            (r.prototype.destroy = function () {
19125              this._detachCloseHandler(this.container);
19126            }),
19127            (r.prototype.update = function (e) {
19128              throw new Error(
19129                "The `update` method must be defined in child classes."
19130              );
19131            }),
19132            (r.prototype.isEnabled = function () {
19133              return !this.isDisabled();
19134            }),
19135            (r.prototype.isDisabled = function () {
19136              return this.options.get("disabled");
19137            }),
19138            r
19139          );
19140        }
19141      ),
19142      u.define(
19143        "select2/selection/single",
19144        ["jquery", "./base", "../utils", "../keys"],
19145        function (e, t, n, s) {
19146          function i() {
19147            i.__super__.constructor.apply(this, arguments);
19148          }
19149          return (
19150            n.Extend(i, t),
19151            (i.prototype.render = function () {
19152              var e = i.__super__.render.call(this);
19153              return (
19154                e[0].classList.add("select2-selection--single"),
19155                e.html(
19156                  '<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'
19157                ),
19158                e
19159              );
19160            }),
19161            (i.prototype.bind = function (t, e) {
19162              var n = this;
19163              i.__super__.bind.apply(this, arguments);
19164              var s = t.id + "-container";
19165              this.$selection
19166                .find(".select2-selection__rendered")
19167                .attr("id", s)
19168                .attr("role", "textbox")
19169                .attr("aria-readonly", "true"),
19170                this.$selection.attr("aria-labelledby", s),
19171                this.$selection.attr("aria-controls", s),
19172                this.$selection.on("mousedown", function (e) {
19173                  1 === e.which && n.trigger("toggle", { originalEvent: e });
19174                }),
19175                this.$selection.on("focus", function (e) {}),
19176                this.$selection.on("blur", function (e) {}),
19177                t.on("focus", function (e) {
19178                  t.isOpen() || n.$selection.trigger("focus");
19179                });
19180            }),
19181            (i.prototype.clear = function () {
19182              var e = this.$selection.find(".select2-selection__rendered");
19183              e.empty(), e.removeAttr("title");
19184            }),
19185            (i.prototype.display = function (e, t) {
19186              var n = this.options.get("templateSelection");
19187              return this.options.get("escapeMarkup")(n(e, t));
19188            }),
19189            (i.prototype.selectionContainer = function () {
19190              return e("<span></span>");
19191            }),
19192            (i.prototype.update = function (e) {
19193              var t, n;
19194              0 !== e.length
19195                ? ((n = e[0]),
19196                  (t = this.$selection.find(".select2-selection__rendered")),
19197                  (e = this.display(n, t)),
19198                  t.empty().append(e),
19199                  (n = n.title || n.text)
19200                    ? t.attr("title", n)
19201                    : t.removeAttr("title"))
19202                : this.clear();
19203            }),
19204            i
19205          );
19206        }
19207      ),
19208      u.define(
19209        "select2/selection/multiple",
19210        ["jquery", "./base", "../utils"],
19211        function (i, e, c) {
19212          function r(e, t) {
19213            r.__super__.constructor.apply(this, arguments);
19214          }
19215          return (
19216            c.Extend(r, e),
19217            (r.prototype.render = function () {
19218              var e = r.__super__.render.call(this);
19219              return (
19220                e[0].classList.add("select2-selection--multiple"),
19221                e.html('<ul class="select2-selection__rendered"></ul>'),
19222                e
19223              );
19224            }),
19225            (r.prototype.bind = function (e, t) {
19226              var n = this;
19227              r.__super__.bind.apply(this, arguments);
19228              var s = e.id + "-container";
19229              this.$selection
19230                .find(".select2-selection__rendered")
19231                .attr("id", s),
19232                this.$selection.on("click", function (e) {
19233                  n.trigger("toggle", { originalEvent: e });
19234                }),
19235                this.$selection.on(
19236                  "click",
19237                  ".select2-selection__choice__remove",
19238                  function (e) {
19239                    var t;
19240                    n.isDisabled() ||
19241                      ((t = i(this).parent()),
19242                      (t = c.GetData(t[0], "data")),
19243                      n.trigger("unselect", { originalEvent: e, data: t }));
19244                  }
19245                ),
19246                this.$selection.on(
19247                  "keydown",
19248                  ".select2-selection__choice__remove",
19249                  function (e) {
19250                    n.isDisabled() || e.stopPropagation();
19251                  }
19252                );
19253            }),
19254            (r.prototype.clear = function () {
19255              var e = this.$selection.find(".select2-selection__rendered");
19256              e.empty(), e.removeAttr("title");
19257            }),
19258            (r.prototype.display = function (e, t) {
19259              var n = this.options.get("templateSelection");
19260              return this.options.get("escapeMarkup")(n(e, t));
19261            }),
19262            (r.prototype.selectionContainer = function () {
19263              return i(
19264                '<li class="select2-selection__choice"><button type="button" class="select2-selection__choice__remove" tabindex="-1"><span aria-hidden="true">&times;</span></button><span class="select2-selection__choice__display"></span></li>'
19265              );
19266            }),
19267            (r.prototype.update = function (e) {
19268              if ((this.clear(), 0 !== e.length)) {
19269                for (
19270                  var t = [],
19271                    n =
19272                      this.$selection
19273                        .find(".select2-selection__rendered")
19274                        .attr("id") + "-choice-",
19275                    s = 0;
19276                  s < e.length;
19277                  s++
19278                ) {
19279                  var i = e[s],
19280                    r = this.selectionContainer(),
19281                    o = this.display(i, r),
19282                    a = n + c.generateChars(4) + "-";
19283                  i.id ? (a += i.id) : (a += c.generateChars(4)),
19284                    r
19285                      .find(".select2-selection__choice__display")
19286                      .append(o)
19287                      .attr("id", a);
19288                  var l = i.title || i.text;
19289                  l && r.attr("title", l);
19290                  (o = this.options.get("translations").get("removeItem")),
19291                    (l = r.find(".select2-selection__choice__remove"));
19292                  l.attr("title", o()),
19293                    l.attr("aria-label", o()),
19294                    l.attr("aria-describedby", a),
19295                    c.StoreData(r[0], "data", i),
19296                    t.push(r);
19297                }
19298                this.$selection.find(".select2-selection__rendered").append(t);
19299              }
19300            }),
19301            r
19302          );
19303        }
19304      ),
19305      u.define("select2/selection/placeholder", [], function () {
19306        function e(e, t, n) {
19307          (this.placeholder = this.normalizePlaceholder(n.get("placeholder"))),
19308            e.call(this, t, n);
19309        }
19310        return (
19311          (e.prototype.normalizePlaceholder = function (e, t) {
19312            return "string" == typeof t && (t = { id: "", text: t }), t;
19313          }),
19314          (e.prototype.createPlaceholder = function (e, t) {
19315            var n = this.selectionContainer();
19316            n.html(this.display(t)),
19317              n[0].classList.add("select2-selection__placeholder"),
19318              n[0].classList.remove("select2-selection__choice");
19319            t = t.title || t.text || n.text();
19320            return (
19321              this.$selection
19322                .find(".select2-selection__rendered")
19323                .attr("title", t),
19324              n
19325            );
19326          }),
19327          (e.prototype.update = function (e, t) {
19328            var n = 1 == t.length && t[0].id != this.placeholder.id;
19329            if (1 < t.length || n) return e.call(this, t);
19330            this.clear();
19331            t = this.createPlaceholder(this.placeholder);
19332            this.$selection.find(".select2-selection__rendered").append(t);
19333          }),
19334          e
19335        );
19336      }),
19337      u.define(
19338        "select2/selection/allowClear",
19339        ["jquery", "../keys", "../utils"],
19340        function (i, s, a) {
19341          function e() {}
19342          return (
19343            (e.prototype.bind = function (e, t, n) {
19344              var s = this;
19345              e.call(this, t, n),
19346                null == this.placeholder &&
19347                  this.options.get("debug") &&
19348                  window.console &&
19349                  console.error &&
19350                  console.error(
19351                    "Select2: The `allowClear` option should be used in combination with the `placeholder` option."
19352                  ),
19353                this.$selection.on(
19354                  "mousedown",
19355                  ".select2-selection__clear",
19356                  function (e) {
19357                    s._handleClear(e);
19358                  }
19359                ),
19360                t.on("keypress", function (e) {
19361                  s._handleKeyboardClear(e, t);
19362                });
19363            }),
19364            (e.prototype._handleClear = function (e, t) {
19365              if (!this.isDisabled()) {
19366                var n = this.$selection.find(".select2-selection__clear");
19367                if (0 !== n.length) {
19368                  t.stopPropagation();
19369                  var s = a.GetData(n[0], "data"),
19370                    i = this.$element.val();
19371                  this.$element.val(this.placeholder.id);
19372                  var r = { data: s };
19373                  if ((this.trigger("clear", r), r.prevented))
19374                    this.$element.val(i);
19375                  else {
19376                    for (var o = 0; o < s.length; o++)
19377                      if (
19378                        ((r = { data: s[o] }),
19379                        this.trigger("unselect", r),
19380                        r.prevented)
19381                      )
19382                        return void this.$element.val(i);
19383                    this.$element.trigger("input").trigger("change"),
19384                      this.trigger("toggle", {});
19385                  }
19386                }
19387              }
19388            }),
19389            (e.prototype._handleKeyboardClear = function (e, t, n) {
19390              n.isOpen() ||
19391                (t.which != s.DELETE && t.which != s.BACKSPACE) ||
19392                this._handleClear(t);
19393            }),
19394            (e.prototype.update = function (e, t) {
19395              var n, s;
19396              e.call(this, t),
19397                this.$selection.find(".select2-selection__clear").remove(),
19398                this.$selection[0].classList.remove(
19399                  "select2-selection--clearable"
19400                ),
19401                0 <
19402                  this.$selection.find(".select2-selection__placeholder")
19403                    .length ||
19404                  0 === t.length ||
19405                  ((n = this.$selection
19406                    .find(".select2-selection__rendered")
19407                    .attr("id")),
19408                  (s = this.options.get("translations").get("removeAllItems")),
19409                  (e = i(
19410                    '<button type="button" class="select2-selection__clear" tabindex="-1"><span aria-hidden="true">&times;</span></button>'
19411                  )).attr("title", s()),
19412                  e.attr("aria-label", s()),
19413                  e.attr("aria-describedby", n),
19414                  a.StoreData(e[0], "data", t),
19415                  this.$selection.prepend(e),
19416                  this.$selection[0].classList.add(
19417                    "select2-selection--clearable"
19418                  ));
19419            }),
19420            e
19421          );
19422        }
19423      ),
19424      u.define(
19425        "select2/selection/search",
19426        ["jquery", "../utils", "../keys"],
19427        function (s, a, l) {
19428          function e(e, t, n) {
19429            e.call(this, t, n);
19430          }
19431          return (
19432            (e.prototype.render = function (e) {
19433              var t = this.options.get("translations").get("search"),
19434                n = s(
19435                  '<span class="select2-search select2-search--inline"><textarea class="select2-search__field" type="search" tabindex="-1" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" ></textarea></span>'
19436                );
19437              (this.$searchContainer = n),
19438                (this.$search = n.find("textarea")),
19439                this.$search.prop(
19440                  "autocomplete",
19441                  this.options.get("autocomplete")
19442                ),
19443                this.$search.attr("aria-label", t());
19444              e = e.call(this);
19445              return (
19446                this._transferTabIndex(), e.append(this.$searchContainer), e
19447              );
19448            }),
19449            (e.prototype.bind = function (e, t, n) {
19450              var s = this,
19451                i = t.id + "-results",
19452                r = t.id + "-container";
19453              e.call(this, t, n),
19454                s.$search.attr("aria-describedby", r),
19455                t.on("open", function () {
19456                  s.$search.attr("aria-controls", i),
19457                    s.$search.trigger("focus");
19458                }),
19459                t.on("close", function () {
19460                  s.$search.val(""),
19461                    s.resizeSearch(),
19462                    s.$search.removeAttr("aria-controls"),
19463                    s.$search.removeAttr("aria-activedescendant"),
19464                    s.$search.trigger("focus");
19465                }),
19466                t.on("enable", function () {
19467                  s.$search.prop("disabled", !1), s._transferTabIndex();
19468                }),
19469                t.on("disable", function () {
19470                  s.$search.prop("disabled", !0);
19471                }),
19472                t.on("focus", function (e) {
19473                  s.$search.trigger("focus");
19474                }),
19475                t.on("results:focus", function (e) {
19476                  e.data._resultId
19477                    ? s.$search.attr("aria-activedescendant", e.data._resultId)
19478                    : s.$search.removeAttr("aria-activedescendant");
19479                }),
19480                this.$selection.on(
19481                  "focusin",
19482                  ".select2-search--inline",
19483                  function (e) {
19484                    s.trigger("focus", e);
19485                  }
19486                ),
19487                this.$selection.on(
19488                  "focusout",
19489                  ".select2-search--inline",
19490                  function (e) {
19491                    s._handleBlur(e);
19492                  }
19493                ),
19494                this.$selection.on(
19495                  "keydown",
19496                  ".select2-search--inline",
19497                  function (e) {
19498                    var t;
19499                    e.stopPropagation(),
19500                      s.trigger("keypress", e),
19501                      (s._keyUpPrevented = e.isDefaultPrevented()),
19502                      e.which !== l.BACKSPACE ||
19503                        "" !== s.$search.val() ||
19504                        (0 <
19505                          (t = s.$selection
19506                            .find(".select2-selection__choice")
19507                            .last()).length &&
19508                          ((t = a.GetData(t[0], "data")),
19509                          s.searchRemoveChoice(t),
19510                          e.preventDefault()));
19511                  }
19512                ),
19513                this.$selection.on(
19514                  "click",
19515                  ".select2-search--inline",
19516                  function (e) {
19517                    s.$search.val() && e.stopPropagation();
19518                  }
19519                );
19520              var t = document.documentMode,
19521                o = t && t <= 11;
19522              this.$selection.on(
19523                "input.searchcheck",
19524                ".select2-search--inline",
19525                function (e) {
19526                  o
19527                    ? s.$selection.off("input.search input.searchcheck")
19528                    : s.$selection.off("keyup.search");
19529                }
19530              ),
19531                this.$selection.on(
19532                  "keyup.search input.search",
19533                  ".select2-search--inline",
19534                  function (e) {
19535                    var t;
19536                    o && "input" === e.type
19537                      ? s.$selection.off("input.search input.searchcheck")
19538                      : (t = e.which) != l.SHIFT &&
19539                        t != l.CTRL &&
19540                        t != l.ALT &&
19541                        t != l.TAB &&
19542                        s.handleSearch(e);
19543                  }
19544                );
19545            }),
19546            (e.prototype._transferTabIndex = function (e) {
19547              this.$search.attr("tabindex", this.$selection.attr("tabindex")),
19548                this.$selection.attr("tabindex", "-1");
19549            }),
19550            (e.prototype.createPlaceholder = function (e, t) {
19551              this.$search.attr("placeholder", t.text);
19552            }),
19553            (e.prototype.update = function (e, t) {
19554              var n = this.$search[0] == document.activeElement;
19555              this.$search.attr("placeholder", ""),
19556                e.call(this, t),
19557                this.resizeSearch(),
19558                n && this.$search.trigger("focus");
19559            }),
19560            (e.prototype.handleSearch = function () {
19561              var e;
19562              this.resizeSearch(),
19563                this._keyUpPrevented ||
19564                  ((e = this.$search.val()),
19565                  this.trigger("query", { term: e })),
19566                (this._keyUpPrevented = !1);
19567            }),
19568            (e.prototype.searchRemoveChoice = function (e, t) {
19569              this.trigger("unselect", { data: t }),
19570                this.$search.val(t.text),
19571                this.handleSearch();
19572            }),
19573            (e.prototype.resizeSearch = function () {
19574              this.$search.css("width", "25px");
19575              var e = "100%";
19576              "" === this.$search.attr("placeholder") &&
19577                (e = 0.75 * (this.$search.val().length + 1) + "em"),
19578                this.$search.css("width", e);
19579            }),
19580            e
19581          );
19582        }
19583      ),
19584      u.define("select2/selection/selectionCss", ["../utils"], function (n) {
19585        function e() {}
19586        return (
19587          (e.prototype.render = function (e) {
19588            var t = e.call(this),
19589              e = this.options.get("selectionCssClass") || "";
19590            return (
19591              -1 !== e.indexOf(":all:") &&
19592                ((e = e.replace(":all:", "")),
19593                n.copyNonInternalCssClasses(t[0], this.$element[0])),
19594              t.addClass(e),
19595              t
19596            );
19597          }),
19598          e
19599        );
19600      }),
19601      u.define("select2/selection/eventRelay", ["jquery"], function (o) {
19602        function e() {}
19603        return (
19604          (e.prototype.bind = function (e, t, n) {
19605            var s = this,
19606              i = [
19607                "open",
19608                "opening",
19609                "close",
19610                "closing",
19611                "select",
19612                "selecting",
19613                "unselect",
19614                "unselecting",
19615                "clear",
19616                "clearing",
19617              ],
19618              r = [
19619                "opening",
19620                "closing",
19621                "selecting",
19622                "unselecting",
19623                "clearing",
19624              ];
19625            e.call(this, t, n),
19626              t.on("*", function (e, t) {
19627                var n;
19628                -1 !== i.indexOf(e) &&
19629                  ((t = t || {}),
19630                  (n = o.Event("select2:" + e, { params: t })),
19631                  s.$element.trigger(n),
19632                  -1 !== r.indexOf(e) &&
19633                    (t.prevented = n.isDefaultPrevented()));
19634              });
19635          }),
19636          e
19637        );
19638      }),
19639      u.define("select2/translation", ["jquery", "require"], function (t, n) {
19640        function s(e) {
19641          this.dict = e || {};
19642        }
19643        return (
19644          (s.prototype.all = function () {
19645            return this.dict;
19646          }),
19647          (s.prototype.get = function (e) {
19648            return this.dict[e];
19649          }),
19650          (s.prototype.extend = function (e) {
19651            this.dict = t.extend({}, e.all(), this.dict);
19652          }),
19653          (s._cache = {}),
19654          (s.loadPath = function (e) {
19655            var t;
19656            return (
19657              e in s._cache || ((t = n(e)), (s._cache[e] = t)),
19658              new s(s._cache[e])
19659            );
19660          }),
19661          s
19662        );
19663      }),
19664      u.define("select2/diacritics", [], function () {
19665        return {
19666          "Ⓐ": "A",
19667          A: "A",
19668          À: "A",
19669          Á: "A",
19670          Â: "A",
19671          Ầ: "A",
19672          Ấ: "A",
19673          Ẫ: "A",
19674          Ẩ: "A",
19675          Ã: "A",
19676          Ā: "A",
19677          Ă: "A",
19678          Ằ: "A",
19679          Ắ: "A",
19680          Ẵ: "A",
19681          Ẳ: "A",
19682          Ȧ: "A",
19683          Ç : "A",
19684          Ä: "A",
19685          Ǟ: "A",
19686          Ả: "A",
19687          Å: "A",
19688          Ǻ: "A",
19689          Ǎ: "A",
19690          Ȁ: "A",
19691          Ȃ: "A",
19692          Ạ: "A",
19693          Ậ: "A",
19694          Ặ: "A",
19695          Ḁ: "A",
19696          Ą: "A",
19697          Ⱥ: "A",
19698          Ɐ: "A",
19699          Ꜳ: "AA",
19700          Æ: "AE",
19701          Ǽ: "AE",
19702          Ǣ: "AE",
19703          Ꜵ: "AO",
19704          Ꜷ: "AU",
19705          Ꜹ: "AV",
19706          Ꜻ: "AV",
19707          Ꜽ: "AY",
19708          "Ⓑ": "B",
19709          ï¼¢: "B",
19710          Ḃ: "B",
19711          Ḅ: "B",
19712          Ḇ: "B",
19713          Ƀ: "B",
19714          Ƃ: "B",
19715          Ɓ: "B",
19716          "Ⓒ": "C",
19717          ï¼£: "C",
19718          Ć: "C",
19719          Ĉ: "C",
19720          Ċ: "C",
19721          Č: "C",
19722          Ç: "C",
19723          Ḉ: "C",
19724          Ƈ: "C",
19725          È»: "C",
19726          Ꜿ: "C",
19727          "Ⓓ": "D",
19728          D: "D",
19729          Ḋ: "D",
19730          Ď: "D",
19731          Ḍ: "D",
19732          Ḑ: "D",
19733          Ḓ: "D",
19734          Ḏ: "D",
19735          Đ: "D",
19736          Ƌ: "D",
19737          Ɗ: "D",
19738          Ɖ: "D",
19739          Ꝺ: "D",
19740          DZ: "DZ",
19741          DŽ: "DZ",
19742          Dz: "Dz",
19743          Dž: "Dz",
19744          "Ⓔ": "E",
19745          ï¼¥: "E",
19746          È: "E",
19747          É: "E",
19748          Ê: "E",
19749          Ề: "E",
19750          Ế: "E",
19751          Ễ: "E",
19752          Ể: "E",
19753          Ẽ: "E",
19754          Ē: "E",
19755          Ḕ: "E",
19756          Ḗ: "E",
19757          Ĕ: "E",
19758          Ė: "E",
19759          Ë: "E",
19760          Ẻ: "E",
19761          Ě: "E",
19762          Ȅ: "E",
19763          Ȇ: "E",
19764          Ẹ: "E",
19765          Ệ: "E",
19766          Ȩ: "E",
19767          Ḝ: "E",
19768          Ę: "E",
19769          Ḙ: "E",
19770          Ḛ: "E",
19771          Ɛ: "E",
19772          Ǝ: "E",
19773          "Ⓕ": "F",
19774          F: "F",
19775          Ḟ: "F",
19776          Ƒ: "F",
19777          Ꝼ: "F",
19778          "Ⓖ": "G",
19779          ï¼§: "G",
19780          Ç´: "G",
19781          Ĝ: "G",
19782          Ḡ: "G",
19783          Ğ: "G",
19784          Ä : "G",
19785          Ǧ: "G",
19786          Ģ: "G",
19787          Ǥ: "G",
19788          Ɠ: "G",
19789          Ꞡ: "G",
19790          Ᵹ: "G",
19791          Ꝿ: "G",
19792          "Ⓗ": "H",
19793          H: "H",
19794          Ĥ: "H",
19795          Ḣ: "H",
19796          Ḧ: "H",
19797          Ȟ: "H",
19798          Ḥ: "H",
19799          Ḩ: "H",
19800          Ḫ: "H",
19801          Ħ: "H",
19802          â±§: "H",
19803          â±µ: "H",
19804          Ɥ: "H",
19805          "Ⓘ": "I",
19806          I: "I",
19807          Ì: "I",
19808          Í: "I",
19809          Î: "I",
19810          Ĩ: "I",
19811          Ī: "I",
19812          Ĭ: "I",
19813          İ: "I",
19814          Ï: "I",
19815          Ḯ: "I",
19816          Ỉ: "I",
19817          Ǐ: "I",
19818          Ȉ: "I",
19819          Ȋ: "I",
19820          Ị: "I",
19821          Ä®: "I",
19822          Ḭ: "I",
19823          Ɨ: "I",
19824          "Ⓙ": "J",
19825          J: "J",
19826          Ä´: "J",
19827          Ɉ: "J",
19828          "Ⓚ": "K",
19829          K: "K",
19830          Ḱ: "K",
19831          Ǩ: "K",
19832          Ḳ: "K",
19833          Ķ: "K",
19834          Ḵ: "K",
19835          Ƙ: "K",
19836          Ⱪ: "K",
19837          Ꝁ: "K",
19838          Ꝃ: "K",
19839          Ꝅ: "K",
19840          Ꞣ: "K",
19841          "Ⓛ": "L",
19842          L: "L",
19843          Ä¿: "L",
19844          Ĺ: "L",
19845          Ľ: "L",
19846          Ḷ: "L",
19847          Ḹ: "L",
19848          Ä»: "L",
19849          Ḽ: "L",
19850          Ḻ: "L",
19851          Ł: "L",
19852          Ƚ: "L",
19853          â±¢: "L",
19854          â± : "L",
19855          Ꝉ: "L",
19856          Ꝇ: "L",
19857          Ꞁ: "L",
19858          LJ: "LJ",
19859          Lj: "Lj",
19860          "Ⓜ": "M",
19861          ï¼­: "M",
19862          Ḿ: "M",
19863          Ṁ: "M",
19864          Ṃ: "M",
19865          â±®: "M",
19866          Ɯ: "M",
19867          "Ⓝ": "N",
19868          ï¼®: "N",
19869          Ǹ: "N",
19870          Ń: "N",
19871          Ñ: "N",
19872          Ṅ: "N",
19873          Ň: "N",
19874          Ṇ: "N",
19875          Ņ: "N",
19876          Ṋ: "N",
19877          Ṉ: "N",
19878          È : "N",
19879          Ɲ: "N",
19880          Ꞑ: "N",
19881          Ꞥ: "N",
19882          NJ: "NJ",
19883          Nj: "Nj",
19884          "Ⓞ": "O",
19885          O: "O",
19886          Ò: "O",
19887          Ó: "O",
19888          Ô: "O",
19889          Ồ: "O",
19890          Ố: "O",
19891          Ỗ: "O",
19892          Ổ: "O",
19893          Õ: "O",
19894          Ṍ: "O",
19895          Ȭ: "O",
19896          Ṏ: "O",
19897          Ō: "O",
19898          Ṑ: "O",
19899          Ṓ: "O",
19900          Ŏ: "O",
19901          È®: "O",
19902          Ȱ: "O",
19903          Ö: "O",
19904          Ȫ: "O",
19905          Ỏ: "O",
19906          Ő: "O",
19907          Ǒ: "O",
19908          Ȍ: "O",
19909          Ȏ: "O",
19910          Æ : "O",
19911          Ờ: "O",
19912          Ớ: "O",
19913          á» : "O",
19914          Ở: "O",
19915          Ợ: "O",
19916          Ọ: "O",
19917          Ộ: "O",
19918          Ǫ: "O",
19919          Ǭ: "O",
19920          Ø: "O",
19921          Ǿ: "O",
19922          Ɔ: "O",
19923          Ɵ: "O",
19924          Ꝋ: "O",
19925          Ꝍ: "O",
19926          Œ: "OE",
19927          Ƣ: "OI",
19928          Ꝏ: "OO",
19929          Ȣ: "OU",
19930          "Ⓟ": "P",
19931          ï¼°: "P",
19932          Ṕ: "P",
19933          Ṗ: "P",
19934          Ƥ: "P",
19935          â±£: "P",
19936          Ꝑ: "P",
19937          Ꝓ: "P",
19938          Ꝕ: "P",
19939          "Ⓠ": "Q",
19940          ï¼±: "Q",
19941          Ꝗ: "Q",
19942          Ꝙ: "Q",
19943          Ɋ: "Q",
19944          "Ⓡ": "R",
19945          ï¼²: "R",
19946          Ŕ: "R",
19947          Ṙ: "R",
19948          Ř: "R",
19949          Ȑ: "R",
19950          Ȓ: "R",
19951          Ṛ: "R",
19952          Ṝ: "R",
19953          Ŗ: "R",
19954          Ṟ: "R",
19955          Ɍ: "R",
19956          Ɽ: "R",
19957          Ꝛ: "R",
19958          Ꞧ: "R",
19959          Ꞃ: "R",
19960          "Ⓢ": "S",
19961          ï¼³: "S",
19962          ẞ: "S",
19963          Ś: "S",
19964          Ṥ: "S",
19965          Ŝ: "S",
19966          á¹ : "S",
19967          Å : "S",
19968          Ṧ: "S",
19969          á¹¢: "S",
19970          Ṩ: "S",
19971          Ș: "S",
19972          Ş: "S",
19973          â±¾: "S",
19974          Ꞩ: "S",
19975          Ꞅ: "S",
19976          "Ⓣ": "T",
19977          ï¼´: "T",
19978          Ṫ: "T",
19979          Ť: "T",
19980          Ṭ: "T",
19981          Ț: "T",
19982          Ţ: "T",
19983          á¹°: "T",
19984          á¹®: "T",
19985          Ŧ: "T",
19986          Ƭ: "T",
19987          Æ®: "T",
19988          Ⱦ: "T",
19989          Ꞇ: "T",
19990          Ꜩ: "TZ",
19991          "Ⓤ": "U",
19992          ï¼µ: "U",
19993          Ù: "U",
19994          Ú: "U",
19995          Û: "U",
19996          Ũ: "U",
19997          Ṹ: "U",
19998          Ū: "U",
19999          Ṻ: "U",
20000          Ŭ: "U",
20001          Ü: "U",
20002          Ǜ: "U",
20003          Ǘ: "U",
20004          Ǖ: "U",
20005          Ǚ: "U",
20006          Ủ: "U",
20007          Å®: "U",
20008          Ű: "U",
20009          Ǔ: "U",
20010          Ȕ: "U",
20011          Ȗ: "U",
20012          Ư: "U",
20013          Ừ: "U",
20014          Ứ: "U",
20015          á»®: "U",
20016          Ử: "U",
20017          á»°: "U",
20018          Ụ: "U",
20019          á¹²: "U",
20020          Ų: "U",
20021          á¹¶: "U",
20022          á¹´: "U",
20023          Ʉ: "U",
20024          "Ⓥ": "V",
20025          ï¼¶: "V",
20026          á¹¼: "V",
20027          á¹¾: "V",
20028          Ʋ: "V",
20029          Ꝟ: "V",
20030          Ʌ: "V",
20031          Ꝡ: "VY",
20032          "Ⓦ": "W",
20033          ï¼·: "W",
20034          Ẁ: "W",
20035          Ẃ: "W",
20036          Å´: "W",
20037          Ẇ: "W",
20038          Ẅ: "W",
20039          Ẉ: "W",
20040          â±²: "W",
20041          "Ⓧ": "X",
20042          X: "X",
20043          Ẋ: "X",
20044          Ẍ: "X",
20045          "Ⓨ": "Y",
20046          ï¼¹: "Y",
20047          Ỳ: "Y",
20048          Ý: "Y",
20049          Ŷ: "Y",
20050          Ỹ: "Y",
20051          Ȳ: "Y",
20052          Ẏ: "Y",
20053          Ÿ: "Y",
20054          á»¶: "Y",
20055          á»´: "Y",
20056          Ƴ: "Y",
20057          Ɏ: "Y",
20058          Ỿ: "Y",
20059          "Ⓩ": "Z",
20060          Z: "Z",
20061          Ź: "Z",
20062          Ẑ: "Z",
20063          Å»: "Z",
20064          Ž: "Z",
20065          Ẓ: "Z",
20066          Ẕ: "Z",
20067          Ƶ: "Z",
20068          Ȥ: "Z",
20069          Ɀ: "Z",
20070          Ⱬ: "Z",
20071          Ꝣ: "Z",
20072          "ⓐ": "a",
20073          a: "a",
20074          ẚ: "a",
20075          à: "a",
20076          á: "a",
20077          â: "a",
20078          ầ: "a",
20079          ấ: "a",
20080          ẫ: "a",
20081          ẩ: "a",
20082          ã: "a",
20083          ā: "a",
20084          ă: "a",
20085          ằ: "a",
20086          ắ: "a",
20087          ẵ: "a",
20088          ẳ: "a",
20089          ȧ: "a",
20090          Ç¡: "a",
20091          ä: "a",
20092          ǟ: "a",
20093          ả: "a",
20094          å: "a",
20095          Ç»: "a",
20096          ǎ: "a",
20097          ȁ: "a",
20098          ȃ: "a",
20099          ạ: "a",
20100          ậ: "a",
20101          ặ: "a",
20102          ḁ: "a",
20103          ą: "a",
20104          â±¥: "a",
20105          ɐ: "a",
20106          ꜳ: "aa",
20107          æ: "ae",
20108          ǽ: "ae",
20109          ǣ: "ae",
20110          ꜵ: "ao",
20111          ꜷ: "au",
20112          ꜹ: "av",
20113          ꜻ: "av",
20114          ꜽ: "ay",
20115          "ⓑ": "b",
20116          b: "b",
20117          ḃ: "b",
20118          ḅ: "b",
20119          ḇ: "b",
20120          ƀ: "b",
20121          ƃ: "b",
20122          ɓ: "b",
20123          "ⓒ": "c",
20124          c: "c",
20125          ć: "c",
20126          ĉ: "c",
20127          ċ: "c",
20128          č: "c",
20129          ç: "c",
20130          ḉ: "c",
20131          ƈ: "c",
20132          ȼ: "c",
20133          ꜿ: "c",
20134          ↄ: "c",
20135          "ⓓ": "d",
20136          d: "d",
20137          ḋ: "d",
20138          ď: "d",
20139          ḍ: "d",
20140          ḑ: "d",
20141          ḓ: "d",
20142          ḏ: "d",
20143          đ: "d",
20144          ƌ: "d",
20145          ɖ: "d",
20146          ɗ: "d",
20147          ꝺ: "d",
20148          dz: "dz",
20149          dž: "dz",
20150          "ⓔ": "e",
20151          e: "e",
20152          è: "e",
20153          é: "e",
20154          ê: "e",
20155          ề: "e",
20156          ế: "e",
20157          ễ: "e",
20158          ể: "e",
20159          ẽ: "e",
20160          ē: "e",
20161          ḕ: "e",
20162          ḗ: "e",
20163          ĕ: "e",
20164          ė: "e",
20165          ë: "e",
20166          ẻ: "e",
20167          ě: "e",
20168          ȅ: "e",
20169          ȇ: "e",
20170          ẹ: "e",
20171          ệ: "e",
20172          È©: "e",
20173          ḝ: "e",
20174          ę: "e",
20175          ḙ: "e",
20176          ḛ: "e",
20177          ɇ: "e",
20178          ɛ: "e",
20179          ǝ: "e",
20180          "ⓕ": "f",
20181          f: "f",
20182          ḟ: "f",
20183          ƒ: "f",
20184          ꝼ: "f",
20185          "ⓖ": "g",
20186          g: "g",
20187          ǵ: "g",
20188          ĝ: "g",
20189          ḡ: "g",
20190          ğ: "g",
20191          Ä¡: "g",
20192          ǧ: "g",
20193          ģ: "g",
20194          ǥ: "g",
20195          É : "g",
20196          ꞡ: "g",
20197          áµ¹: "g",
20198          ꝿ: "g",
20199          "ⓗ": "h",
20200          h: "h",
20201          ĥ: "h",
20202          ḣ: "h",
20203          ḧ: "h",
20204          ȟ: "h",
20205          ḥ: "h",
20206          ḩ: "h",
20207          ḫ: "h",
20208          ẖ: "h",
20209          ħ: "h",
20210          ⱨ: "h",
20211          â±¶: "h",
20212          ɥ: "h",
20213          ƕ: "hv",
20214          "ⓘ": "i",
20215          i: "i",
20216          ì: "i",
20217          í: "i",
20218          î: "i",
20219          Ä©: "i",
20220          Ä«: "i",
20221          Ä­: "i",
20222          ï: "i",
20223          ḯ: "i",
20224          ỉ: "i",
20225          ǐ: "i",
20226          ȉ: "i",
20227          ȋ: "i",
20228          ị: "i",
20229          į: "i",
20230          ḭ: "i",
20231          ɨ: "i",
20232          ı: "i",
20233          "ⓙ": "j",
20234          j: "j",
20235          ĵ: "j",
20236          ǰ: "j",
20237          ɉ: "j",
20238          "ⓚ": "k",
20239          k: "k",
20240          ḱ: "k",
20241          Ç©: "k",
20242          ḳ: "k",
20243          Ä·: "k",
20244          ḵ: "k",
20245          ƙ: "k",
20246          ⱪ: "k",
20247          ꝁ: "k",
20248          ꝃ: "k",
20249          ꝅ: "k",
20250          ꞣ: "k",
20251          "ⓛ": "l",
20252          l: "l",
20253          ŀ: "l",
20254          ĺ: "l",
20255          ľ: "l",
20256          ḷ: "l",
20257          ḹ: "l",
20258          ļ: "l",
20259          ḽ: "l",
20260          ḻ: "l",
20261          Å¿: "l",
20262          ł: "l",
20263          ƚ: "l",
20264          É«: "l",
20265          ⱡ: "l",
20266          ꝉ: "l",
20267          ꞁ: "l",
20268          ꝇ: "l",
20269          lj: "lj",
20270          "ⓜ": "m",
20271          m: "m",
20272          ḿ: "m",
20273          ṁ: "m",
20274          ṃ: "m",
20275          ɱ: "m",
20276          ɯ: "m",
20277          "ⓝ": "n",
20278          n: "n",
20279          ǹ: "n",
20280          ń: "n",
20281          ñ: "n",
20282          ṅ: "n",
20283          ň: "n",
20284          ṇ: "n",
20285          ņ: "n",
20286          ṋ: "n",
20287          ṉ: "n",
20288          ƞ: "n",
20289          ɲ: "n",
20290          ʼn: "n",
20291          ꞑ: "n",
20292          ꞥ: "n",
20293          nj: "nj",
20294          "ⓞ": "o",
20295          o: "o",
20296          ò: "o",
20297          ó: "o",
20298          ô: "o",
20299          ồ: "o",
20300          ố: "o",
20301          ỗ: "o",
20302          ổ: "o",
20303          õ: "o",
20304          ṍ: "o",
20305          È­: "o",
20306          ṏ: "o",
20307          ō: "o",
20308          ṑ: "o",
20309          ṓ: "o",
20310          ŏ: "o",
20311          ȯ: "o",
20312          ȱ: "o",
20313          ö: "o",
20314          È«: "o",
20315          ỏ: "o",
20316          ő: "o",
20317          ǒ: "o",
20318          ȍ: "o",
20319          ȏ: "o",
20320          Æ¡: "o",
20321          ờ: "o",
20322          ớ: "o",
20323          ỡ: "o",
20324          ở: "o",
20325          ợ: "o",
20326          ọ: "o",
20327          ộ: "o",
20328          Ç«: "o",
20329          Ç­: "o",
20330          ø: "o",
20331          Ç¿: "o",
20332          ɔ: "o",
20333          ꝋ: "o",
20334          ꝍ: "o",
20335          ɵ: "o",
20336          œ: "oe",
20337          ƣ: "oi",
20338          ȣ: "ou",
20339          ꝏ: "oo",
20340          "ⓟ": "p",
20341          p: "p",
20342          ṕ: "p",
20343          ṗ: "p",
20344          ƥ: "p",
20345          áµ½: "p",
20346          ꝑ: "p",
20347          ꝓ: "p",
20348          ꝕ: "p",
20349          "ⓠ": "q",
20350          q: "q",
20351          ɋ: "q",
20352          ꝗ: "q",
20353          ꝙ: "q",
20354          "ⓡ": "r",
20355          r: "r",
20356          ŕ: "r",
20357          ṙ: "r",
20358          ř: "r",
20359          ȑ: "r",
20360          ȓ: "r",
20361          ṛ: "r",
20362          ṝ: "r",
20363          ŗ: "r",
20364          ṟ: "r",
20365          ɍ: "r",
20366          ɽ: "r",
20367          ꝛ: "r",
20368          ꞧ: "r",
20369          ꞃ: "r",
20370          "ⓢ": "s",
20371          s: "s",
20372          ß: "s",
20373          ś: "s",
20374          á¹¥: "s",
20375          ŝ: "s",
20376          ṡ: "s",
20377          Å¡: "s",
20378          á¹§: "s",
20379          á¹£: "s",
20380          ṩ: "s",
20381          ș: "s",
20382          ş: "s",
20383          È¿: "s",
20384          ꞩ: "s",
20385          ꞅ: "s",
20386          ẛ: "s",
20387          "ⓣ": "t",
20388          t: "t",
20389          ṫ: "t",
20390          ẗ: "t",
20391          ť: "t",
20392          á¹­: "t",
20393          ț: "t",
20394          ţ: "t",
20395          á¹±: "t",
20396          ṯ: "t",
20397          ŧ: "t",
20398          Æ­: "t",
20399          ʈ: "t",
20400          ⱦ: "t",
20401          ꞇ: "t",
20402          ꜩ: "tz",
20403          "ⓤ": "u",
20404          u: "u",
20405          ù: "u",
20406          ú: "u",
20407          û: "u",
20408          Å©: "u",
20409          á¹¹: "u",
20410          Å«: "u",
20411          á¹»: "u",
20412          Å­: "u",
20413          ü: "u",
20414          ǜ: "u",
20415          ǘ: "u",
20416          ǖ: "u",
20417          ǚ: "u",
20418          á»§: "u",
20419          ů: "u",
20420          ű: "u",
20421          ǔ: "u",
20422          ȕ: "u",
20423          ȗ: "u",
20424          ư: "u",
20425          ừ: "u",
20426          ứ: "u",
20427          ữ: "u",
20428          á»­: "u",
20429          á»±: "u",
20430          ụ: "u",
20431          á¹³: "u",
20432          ų: "u",
20433          á¹·: "u",
20434          á¹µ: "u",
20435          ʉ: "u",
20436          "ⓥ": "v",
20437          v: "v",
20438          á¹½: "v",
20439          ṿ: "v",
20440          ʋ: "v",
20441          ꝟ: "v",
20442          ʌ: "v",
20443          ꝡ: "vy",
20444          "ⓦ": "w",
20445          w: "w",
20446          ẁ: "w",
20447          ẃ: "w",
20448          ŵ: "w",
20449          ẇ: "w",
20450          ẅ: "w",
20451          ẘ: "w",
20452          ẉ: "w",
20453          â±³: "w",
20454          "ⓧ": "x",
20455          x: "x",
20456          ẋ: "x",
20457          ẍ: "x",
20458          "ⓨ": "y",
20459          y: "y",
20460          ỳ: "y",
20461          ý: "y",
20462          Å·: "y",
20463          ỹ: "y",
20464          ȳ: "y",
20465          ẏ: "y",
20466          ÿ: "y",
20467          á»·: "y",
20468          ẙ: "y",
20469          ỵ: "y",
20470          Æ´: "y",
20471          ɏ: "y",
20472          ỿ: "y",
20473          "ⓩ": "z",
20474          z: "z",
20475          ź: "z",
20476          ẑ: "z",
20477          ż: "z",
20478          ž: "z",
20479          ẓ: "z",
20480          ẕ: "z",
20481          ƶ: "z",
20482          ȥ: "z",
20483          ɀ: "z",
20484          ⱬ: "z",
20485          ꝣ: "z",
20486          Ά: "Α",
20487          Έ: "Ε",
20488          Ή: "Η",
20489          Ί: "Ι",
20490          Ϊ: "Ι",
20491          Ό: "Ο",
20492          Ύ: "Υ",
20493          Ϋ: "Υ",
20494          Ώ: "Ω",
20495          ά: "α",
20496          έ: "ε",
20497          ή: "η",
20498          ί: "ι",
20499          ϊ: "ι",
20500          ΐ: "ι",
20501          ό: "ο",
20502          ύ: "υ",
20503          ϋ: "υ",
20504          ΰ: "υ",
20505          ώ: "ω",
20506          ς: "σ",
20507          "’": "'",
20508        };
20509      }),
20510      u.define("select2/data/base", ["../utils"], function (n) {
20511        function s(e, t) {
20512          s.__super__.constructor.call(this);
20513        }
20514        return (
20515          n.Extend(s, n.Observable),
20516          (s.prototype.current = function (e) {
20517            throw new Error(
20518              "The `current` method must be defined in child classes."
20519            );
20520          }),
20521          (s.prototype.query = function (e, t) {
20522            throw new Error(
20523              "The `query` method must be defined in child classes."
20524            );
20525          }),
20526          (s.prototype.bind = function (e, t) {}),
20527          (s.prototype.destroy = function () {}),
20528          (s.prototype.generateResultId = function (e, t) {
20529            e = e.id + "-result-";
20530            return (
20531              (e += n.generateChars(4)),
20532              null != t.id
20533                ? (e += "-" + t.id.toString())
20534                : (e += "-" + n.generateChars(4)),
20535              e
20536            );
20537          }),
20538          s
20539        );
20540      }),
20541      u.define(
20542        "select2/data/select",
20543        ["./base", "../utils", "jquery"],
20544        function (e, a, l) {
20545          function n(e, t) {
20546            (this.$element = e),
20547              (this.options = t),
20548              n.__super__.constructor.call(this);
20549          }
20550          return (
20551            a.Extend(n, e),
20552            (n.prototype.current = function (e) {
20553              var t = this;
20554              e(
20555                Array.prototype.map.call(
20556                  this.$element[0].querySelectorAll(":checked"),
20557                  function (e) {
20558                    return t.item(l(e));
20559                  }
20560                )
20561              );
20562            }),
20563            (n.prototype.select = function (i) {
20564              var e,
20565                r = this;
20566              if (
20567                ((i.selected = !0),
20568                null != i.element &&
20569                  "option" === i.element.tagName.toLowerCase())
20570              )
20571                return (
20572                  (i.element.selected = !0),
20573                  void this.$element.trigger("input").trigger("change")
20574                );
20575              this.$element.prop("multiple")
20576                ? this.current(function (e) {
20577                    var t = [];
20578                    (i = [i]).push.apply(i, e);
20579                    for (var n = 0; n < i.length; n++) {
20580                      var s = i[n].id;
20581                      -1 === t.indexOf(s) && t.push(s);
20582                    }
20583                    r.$element.val(t),
20584                      r.$element.trigger("input").trigger("change");
20585                  })
20586                : ((e = i.id),
20587                  this.$element.val(e),
20588                  this.$element.trigger("input").trigger("change"));
20589            }),
20590            (n.prototype.unselect = function (i) {
20591              var r = this;
20592              if (this.$element.prop("multiple")) {
20593                if (
20594                  ((i.selected = !1),
20595                  null != i.element &&
20596                    "option" === i.element.tagName.toLowerCase())
20597                )
20598                  return (
20599                    (i.element.selected = !1),
20600                    void this.$element.trigger("input").trigger("change")
20601                  );
20602                this.current(function (e) {
20603                  for (var t = [], n = 0; n < e.length; n++) {
20604                    var s = e[n].id;
20605                    s !== i.id && -1 === t.indexOf(s) && t.push(s);
20606                  }
20607                  r.$element.val(t),
20608                    r.$element.trigger("input").trigger("change");
20609                });
20610              }
20611            }),
20612            (n.prototype.bind = function (e, t) {
20613              var n = this;
20614              (this.container = e).on("select", function (e) {
20615                n.select(e.data);
20616              }),
20617                e.on("unselect", function (e) {
20618                  n.unselect(e.data);
20619                });
20620            }),
20621            (n.prototype.destroy = function () {
20622              this.$element.find("*").each(function () {
20623                a.RemoveData(this);
20624              });
20625            }),
20626            (n.prototype.query = function (t, e) {
20627              var n = [],
20628                s = this;
20629              this.$element.children().each(function () {
20630                var e;
20631                ("option" !== this.tagName.toLowerCase() &&
20632                  "optgroup" !== this.tagName.toLowerCase()) ||
20633                  ((e = l(this)),
20634                  (e = s.item(e)),
20635                  null !== (e = s.matches(t, e)) && n.push(e));
20636              }),
20637                e({ results: n });
20638            }),
20639            (n.prototype.addOptions = function (e) {
20640              this.$element.append(e);
20641            }),
20642            (n.prototype.option = function (e) {
20643              var t;
20644              e.children
20645                ? ((t = document.createElement("optgroup")).label = e.text)
20646                : void 0 !== (t = document.createElement("option")).textContent
20647                ? (t.textContent = e.text)
20648                : (t.innerText = e.text),
20649                void 0 !== e.id && (t.value = e.id),
20650                e.disabled && (t.disabled = !0),
20651                e.selected && (t.selected = !0),
20652                e.title && (t.title = e.title);
20653              e = this._normalizeItem(e);
20654              return (e.element = t), a.StoreData(t, "data", e), l(t);
20655            }),
20656            (n.prototype.item = function (e) {
20657              var t = {};
20658              if (null != (t = a.GetData(e[0], "data"))) return t;
20659              var n = e[0];
20660              if ("option" === n.tagName.toLowerCase())
20661                t = {
20662                  id: e.val(),
20663                  text: e.text(),
20664                  disabled: e.prop("disabled"),
20665                  selected: e.prop("selected"),
20666                  title: e.prop("title"),
20667                };
20668              else if ("optgroup" === n.tagName.toLowerCase()) {
20669                t = {
20670                  text: e.prop("label"),
20671                  children: [],
20672                  title: e.prop("title"),
20673                };
20674                for (
20675                  var s = e.children("option"), i = [], r = 0;
20676                  r < s.length;
20677                  r++
20678                ) {
20679                  var o = l(s[r]),
20680                    o = this.item(o);
20681                  i.push(o);
20682                }
20683                t.children = i;
20684              }
20685              return (
20686                ((t = this._normalizeItem(t)).element = e[0]),
20687                a.StoreData(e[0], "data", t),
20688                t
20689              );
20690            }),
20691            (n.prototype._normalizeItem = function (e) {
20692              e !== Object(e) && (e = { id: e, text: e });
20693              return (
20694                null != (e = l.extend({}, { text: "" }, e)).id &&
20695                  (e.id = e.id.toString()),
20696                null != e.text && (e.text = e.text.toString()),
20697                null == e._resultId &&
20698                  e.id &&
20699                  null != this.container &&
20700                  (e._resultId = this.generateResultId(this.container, e)),
20701                l.extend({}, { selected: !1, disabled: !1 }, e)
20702              );
20703            }),
20704            (n.prototype.matches = function (e, t) {
20705              return this.options.get("matcher")(e, t);
20706            }),
20707            n
20708          );
20709        }
20710      ),
20711      u.define(
20712        "select2/data/array",
20713        ["./select", "../utils", "jquery"],
20714        function (e, t, c) {
20715          function s(e, t) {
20716            (this._dataToConvert = t.get("data") || []),
20717              s.__super__.constructor.call(this, e, t);
20718          }
20719          return (
20720            t.Extend(s, e),
20721            (s.prototype.bind = function (e, t) {
20722              s.__super__.bind.call(this, e, t),
20723                this.addOptions(this.convertToOptions(this._dataToConvert));
20724            }),
20725            (s.prototype.select = function (n) {
20726              var e = this.$element.find("option").filter(function (e, t) {
20727                return t.value == n.id.toString();
20728              });
20729              0 === e.length && ((e = this.option(n)), this.addOptions(e)),
20730                s.__super__.select.call(this, n);
20731            }),
20732            (s.prototype.convertToOptions = function (e) {
20733              var t = this,
20734                n = this.$element.find("option"),
20735                s = n
20736                  .map(function () {
20737                    return t.item(c(this)).id;
20738                  })
20739                  .get(),
20740                i = [];
20741              for (var r = 0; r < e.length; r++) {
20742                var o,
20743                  a,
20744                  l = this._normalizeItem(e[r]);
20745                0 <= s.indexOf(l.id)
20746                  ? ((o = n.filter(
20747                      (function (e) {
20748                        return function () {
20749                          return c(this).val() == e.id;
20750                        };
20751                      })(l)
20752                    )),
20753                    (a = this.item(o)),
20754                    (a = c.extend(!0, {}, l, a)),
20755                    (a = this.option(a)),
20756                    o.replaceWith(a))
20757                  : ((a = this.option(l)),
20758                    l.children &&
20759                      ((l = this.convertToOptions(l.children)), a.append(l)),
20760                    i.push(a));
20761              }
20762              return i;
20763            }),
20764            s
20765          );
20766        }
20767      ),
20768      u.define(
20769        "select2/data/ajax",
20770        ["./array", "../utils", "jquery"],
20771        function (e, t, r) {
20772          function n(e, t) {
20773            (this.ajaxOptions = this._applyDefaults(t.get("ajax"))),
20774              null != this.ajaxOptions.processResults &&
20775                (this.processResults = this.ajaxOptions.processResults),
20776              n.__super__.constructor.call(this, e, t);
20777          }
20778          return (
20779            t.Extend(n, e),
20780            (n.prototype._applyDefaults = function (e) {
20781              var t = {
20782                data: function (e) {
20783                  return r.extend({}, e, { q: e.term });
20784                },
20785                transport: function (e, t, n) {
20786                  e = r.ajax(e);
20787                  return e.then(t), e.fail(n), e;
20788                },
20789              };
20790              return r.extend({}, t, e, !0);
20791            }),
20792            (n.prototype.processResults = function (e) {
20793              return e;
20794            }),
20795            (n.prototype.query = function (t, n) {
20796              var s = this;
20797              null != this._request &&
20798                ("function" == typeof this._request.abort &&
20799                  this._request.abort(),
20800                (this._request = null));
20801              var i = r.extend({ type: "GET" }, this.ajaxOptions);
20802              function e() {
20803                var e = i.transport(
20804                  i,
20805                  function (e) {
20806                    e = s.processResults(e, t);
20807                    s.options.get("debug") &&
20808                      window.console &&
20809                      console.error &&
20810                      ((e && e.results && Array.isArray(e.results)) ||
20811                        console.error(
20812                          "Select2: The AJAX results did not return an array in the `results` key of the response."
20813                        )),
20814                      n(e);
20815                  },
20816                  function () {
20817                    ("status" in e && (0 === e.status || "0" === e.status)) ||
20818                      s.trigger("results:message", { message: "errorLoading" });
20819                  }
20820                );
20821                s._request = e;
20822              }
20823              "function" == typeof i.url &&
20824                (i.url = i.url.call(this.$element, t)),
20825                "function" == typeof i.data &&
20826                  (i.data = i.data.call(this.$element, t)),
20827                this.ajaxOptions.delay && null != t.term
20828                  ? (this._queryTimeout &&
20829                      window.clearTimeout(this._queryTimeout),
20830                    (this._queryTimeout = window.setTimeout(
20831                      e,
20832                      this.ajaxOptions.delay
20833                    )))
20834                  : e();
20835            }),
20836            n
20837          );
20838        }
20839      ),
20840      u.define("select2/data/tags", ["jquery"], function (t) {
20841        function e(e, t, n) {
20842          var s = n.get("tags"),
20843            i = n.get("createTag");
20844          void 0 !== i && (this.createTag = i);
20845          i = n.get("insertTag");
20846          if (
20847            (void 0 !== i && (this.insertTag = i),
20848            e.call(this, t, n),
20849            Array.isArray(s))
20850          )
20851            for (var r = 0; r < s.length; r++) {
20852              var o = s[r],
20853                o = this._normalizeItem(o),
20854                o = this.option(o);
20855              this.$element.append(o);
20856            }
20857        }
20858        return (
20859          (e.prototype.query = function (e, c, u) {
20860            var d = this;
20861            this._removeOldTags(),
20862              null != c.term && null == c.page
20863                ? e.call(this, c, function e(t, n) {
20864                    for (var s = t.results, i = 0; i < s.length; i++) {
20865                      var r = s[i],
20866                        o =
20867                          null != r.children && !e({ results: r.children }, !0);
20868                      if (
20869                        (r.text || "").toUpperCase() ===
20870                          (c.term || "").toUpperCase() ||
20871                        o
20872                      )
20873                        return !n && ((t.data = s), void u(t));
20874                    }
20875                    if (n) return !0;
20876                    var a,
20877                      l = d.createTag(c);
20878                    null != l &&
20879                      ((a = d.option(l)).attr("data-select2-tag", "true"),
20880                      d.addOptions([a]),
20881                      d.insertTag(s, l)),
20882                      (t.results = s),
20883                      u(t);
20884                  })
20885                : e.call(this, c, u);
20886          }),
20887          (e.prototype.createTag = function (e, t) {
20888            if (null == t.term) return null;
20889            t = t.term.trim();
20890            return "" === t ? null : { id: t, text: t };
20891          }),
20892          (e.prototype.insertTag = function (e, t, n) {
20893            t.unshift(n);
20894          }),
20895          (e.prototype._removeOldTags = function (e) {
20896            this.$element.find("option[data-select2-tag]").each(function () {
20897              this.selected || t(this).remove();
20898            });
20899          }),
20900          e
20901        );
20902      }),
20903      u.define("select2/data/tokenizer", ["jquery"], function (c) {
20904        function e(e, t, n) {
20905          var s = n.get("tokenizer");
20906          void 0 !== s && (this.tokenizer = s), e.call(this, t, n);
20907        }
20908        return (
20909          (e.prototype.bind = function (e, t, n) {
20910            e.call(this, t, n),
20911              (this.$search =
20912                t.dropdown.$search ||
20913                t.selection.$search ||
20914                n.find(".select2-search__field"));
20915          }),
20916          (e.prototype.query = function (e, t, n) {
20917            var s = this;
20918            t.term = t.term || "";
20919            var i = this.tokenizer(t, this.options, function (e) {
20920              var t,
20921                n = s._normalizeItem(e);
20922              s.$element.find("option").filter(function () {
20923                return c(this).val() === n.id;
20924              }).length ||
20925                ((t = s.option(n)).attr("data-select2-tag", !0),
20926                s._removeOldTags(),
20927                s.addOptions([t])),
20928                (t = n),
20929                s.trigger("select", { data: t });
20930            });
20931            i.term !== t.term &&
20932              (this.$search.length &&
20933                (this.$search.val(i.term), this.$search.trigger("focus")),
20934              (t.term = i.term)),
20935              e.call(this, t, n);
20936          }),
20937          (e.prototype.tokenizer = function (e, t, n, s) {
20938            for (
20939              var i = n.get("tokenSeparators") || [],
20940                r = t.term,
20941                o = 0,
20942                a =
20943                  this.createTag ||
20944                  function (e) {
20945                    return { id: e.term, text: e.term };
20946                  };
20947              o < r.length;
20948
20949            ) {
20950              var l = r[o];
20951              -1 !== i.indexOf(l)
20952                ? ((l = r.substr(0, o)),
20953                  null != (l = a(c.extend({}, t, { term: l })))
20954                    ? (s(l), (r = r.substr(o + 1) || ""), (o = 0))
20955                    : o++)
20956                : o++;
20957            }
20958            return { term: r };
20959          }),
20960          e
20961        );
20962      }),
20963      u.define("select2/data/minimumInputLength", [], function () {
20964        function e(e, t, n) {
20965          (this.minimumInputLength = n.get("minimumInputLength")),
20966            e.call(this, t, n);
20967        }
20968        return (
20969          (e.prototype.query = function (e, t, n) {
20970            (t.term = t.term || ""),
20971              t.term.length < this.minimumInputLength
20972                ? this.trigger("results:message", {
20973                    message: "inputTooShort",
20974                    args: {
20975                      minimum: this.minimumInputLength,
20976                      input: t.term,
20977                      params: t,
20978                    },
20979                  })
20980                : e.call(this, t, n);
20981          }),
20982          e
20983        );
20984      }),
20985      u.define("select2/data/maximumInputLength", [], function () {
20986        function e(e, t, n) {
20987          (this.maximumInputLength = n.get("maximumInputLength")),
20988            e.call(this, t, n);
20989        }
20990        return (
20991          (e.prototype.query = function (e, t, n) {
20992            (t.term = t.term || ""),
20993              0 < this.maximumInputLength &&
20994              t.term.length > this.maximumInputLength
20995                ? this.trigger("results:message", {
20996                    message: "inputTooLong",
20997                    args: {
20998                      maximum: this.maximumInputLength,
20999                      input: t.term,
21000                      params: t,
21001                    },
21002                  })
21003                : e.call(this, t, n);
21004          }),
21005          e
21006        );
21007      }),
21008      u.define("select2/data/maximumSelectionLength", [], function () {
21009        function e(e, t, n) {
21010          (this.maximumSelectionLength = n.get("maximumSelectionLength")),
21011            e.call(this, t, n);
21012        }
21013        return (
21014          (e.prototype.bind = function (e, t, n) {
21015            var s = this;
21016            e.call(this, t, n),
21017              t.on("select", function () {
21018                s._checkIfMaximumSelected();
21019              });
21020          }),
21021          (e.prototype.query = function (e, t, n) {
21022            var s = this;
21023            this._checkIfMaximumSelected(function () {
21024              e.call(s, t, n);
21025            });
21026          }),
21027          (e.prototype._checkIfMaximumSelected = function (e, t) {
21028            var n = this;
21029            this.current(function (e) {
21030              e = null != e ? e.length : 0;
21031              0 < n.maximumSelectionLength && e >= n.maximumSelectionLength
21032                ? n.trigger("results:message", {
21033                    message: "maximumSelected",
21034                    args: { maximum: n.maximumSelectionLength },
21035                  })
21036                : t && t();
21037            });
21038          }),
21039          e
21040        );
21041      }),
21042      u.define("select2/dropdown", ["jquery", "./utils"], function (t, e) {
21043        function n(e, t) {
21044          (this.$element = e),
21045            (this.options = t),
21046            n.__super__.constructor.call(this);
21047        }
21048        return (
21049          e.Extend(n, e.Observable),
21050          (n.prototype.render = function () {
21051            var e = t(
21052              '<span class="select2-dropdown"><span class="select2-results"></span></span>'
21053            );
21054            return e.attr("dir", this.options.get("dir")), (this.$dropdown = e);
21055          }),
21056          (n.prototype.bind = function () {}),
21057          (n.prototype.position = function (e, t) {}),
21058          (n.prototype.destroy = function () {
21059            this.$dropdown.remove();
21060          }),
21061          n
21062        );
21063      }),
21064      u.define("select2/dropdown/search", ["jquery"], function (r) {
21065        function e() {}
21066        return (
21067          (e.prototype.render = function (e) {
21068            var t = e.call(this),
21069              n = this.options.get("translations").get("search"),
21070              e = r(
21071                '<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>'
21072              );
21073            return (
21074              (this.$searchContainer = e),
21075              (this.$search = e.find("input")),
21076              this.$search.prop(
21077                "autocomplete",
21078                this.options.get("autocomplete")
21079              ),
21080              this.$search.attr("aria-label", n()),
21081              t.prepend(e),
21082              t
21083            );
21084          }),
21085          (e.prototype.bind = function (e, t, n) {
21086            var s = this,
21087              i = t.id + "-results";
21088            e.call(this, t, n),
21089              this.$search.on("keydown", function (e) {
21090                s.trigger("keypress", e),
21091                  (s._keyUpPrevented = e.isDefaultPrevented());
21092              }),
21093              this.$search.on("input", function (e) {
21094                r(this).off("keyup");
21095              }),
21096              this.$search.on("keyup input", function (e) {
21097                s.handleSearch(e);
21098              }),
21099              t.on("open", function () {
21100                s.$search.attr("tabindex", 0),
21101                  s.$search.attr("aria-controls", i),
21102                  s.$search.trigger("focus"),
21103                  window.setTimeout(function () {
21104                    s.$search.trigger("focus");
21105                  }, 0);
21106              }),
21107              t.on("close", function () {
21108                s.$search.attr("tabindex", -1),
21109                  s.$search.removeAttr("aria-controls"),
21110                  s.$search.removeAttr("aria-activedescendant"),
21111                  s.$search.val(""),
21112                  s.$search.trigger("blur");
21113              }),
21114              t.on("focus", function () {
21115                t.isOpen() || s.$search.trigger("focus");
21116              }),
21117              t.on("results:all", function (e) {
21118                (null != e.query.term && "" !== e.query.term) ||
21119                  (s.showSearch(e)
21120                    ? s.$searchContainer[0].classList.remove(
21121                        "select2-search--hide"
21122                      )
21123                    : s.$searchContainer[0].classList.add(
21124                        "select2-search--hide"
21125                      ));
21126              }),
21127              t.on("results:focus", function (e) {
21128                e.data._resultId
21129                  ? s.$search.attr("aria-activedescendant", e.data._resultId)
21130                  : s.$search.removeAttr("aria-activedescendant");
21131              });
21132          }),
21133          (e.prototype.handleSearch = function (e) {
21134            var t;
21135            this._keyUpPrevented ||
21136              ((t = this.$search.val()), this.trigger("query", { term: t })),
21137              (this._keyUpPrevented = !1);
21138          }),
21139          (e.prototype.showSearch = function (e, t) {
21140            return !0;
21141          }),
21142          e
21143        );
21144      }),
21145      u.define("select2/dropdown/hidePlaceholder", [], function () {
21146        function e(e, t, n, s) {
21147          (this.placeholder = this.normalizePlaceholder(n.get("placeholder"))),
21148            e.call(this, t, n, s);
21149        }
21150        return (
21151          (e.prototype.append = function (e, t) {
21152            (t.results = this.removePlaceholder(t.results)), e.call(this, t);
21153          }),
21154          (e.prototype.normalizePlaceholder = function (e, t) {
21155            return "string" == typeof t && (t = { id: "", text: t }), t;
21156          }),
21157          (e.prototype.removePlaceholder = function (e, t) {
21158            for (var n = t.slice(0), s = t.length - 1; 0 <= s; s--) {
21159              var i = t[s];
21160              this.placeholder.id === i.id && n.splice(s, 1);
21161            }
21162            return n;
21163          }),
21164          e
21165        );
21166      }),
21167      u.define("select2/dropdown/infiniteScroll", ["jquery"], function (n) {
21168        function e(e, t, n, s) {
21169          (this.lastParams = {}),
21170            e.call(this, t, n, s),
21171            (this.$loadingMore = this.createLoadingMore()),
21172            (this.loading = !1);
21173        }
21174        return (
21175          (e.prototype.append = function (e, t) {
21176            this.$loadingMore.remove(),
21177              (this.loading = !1),
21178              e.call(this, t),
21179              this.showLoadingMore(t) &&
21180                (this.$results.append(this.$loadingMore),
21181                this.loadMoreIfNeeded());
21182          }),
21183          (e.prototype.bind = function (e, t, n) {
21184            var s = this;
21185            e.call(this, t, n),
21186              t.on("query", function (e) {
21187                (s.lastParams = e), (s.loading = !0);
21188              }),
21189              t.on("query:append", function (e) {
21190                (s.lastParams = e), (s.loading = !0);
21191              }),
21192              this.$results.on("scroll", this.loadMoreIfNeeded.bind(this));
21193          }),
21194          (e.prototype.loadMoreIfNeeded = function () {
21195            var e = n.contains(document.documentElement, this.$loadingMore[0]);
21196            !this.loading &&
21197              e &&
21198              ((e = this.$results.offset().top + this.$results.outerHeight(!1)),
21199              this.$loadingMore.offset().top +
21200                this.$loadingMore.outerHeight(!1) <=
21201                e + 50 && this.loadMore());
21202          }),
21203          (e.prototype.loadMore = function () {
21204            this.loading = !0;
21205            var e = n.extend({}, { page: 1 }, this.lastParams);
21206            e.page++, this.trigger("query:append", e);
21207          }),
21208          (e.prototype.showLoadingMore = function (e, t) {
21209            return t.pagination && t.pagination.more;
21210          }),
21211          (e.prototype.createLoadingMore = function () {
21212            var e = n(
21213                '<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'
21214              ),
21215              t = this.options.get("translations").get("loadingMore");
21216            return e.html(t(this.lastParams)), e;
21217          }),
21218          e
21219        );
21220      }),
21221      u.define(
21222        "select2/dropdown/attachBody",
21223        ["jquery", "../utils"],
21224        function (u, o) {
21225          function e(e, t, n) {
21226            (this.$dropdownParent = u(
21227              n.get("dropdownParent") || document.body
21228            )),
21229              e.call(this, t, n);
21230          }
21231          return (
21232            (e.prototype.bind = function (e, t, n) {
21233              var s = this;
21234              e.call(this, t, n),
21235                t.on("open", function () {
21236                  s._showDropdown(),
21237                    s._attachPositioningHandler(t),
21238                    s._bindContainerResultHandlers(t);
21239                }),
21240                t.on("close", function () {
21241                  s._hideDropdown(), s._detachPositioningHandler(t);
21242                }),
21243                this.$dropdownContainer.on("mousedown", function (e) {
21244                  e.stopPropagation();
21245                });
21246            }),
21247            (e.prototype.destroy = function (e) {
21248              e.call(this), this.$dropdownContainer.remove();
21249            }),
21250            (e.prototype.position = function (e, t, n) {
21251              t.attr("class", n.attr("class")),
21252                t[0].classList.remove("select2"),
21253                t[0].classList.add("select2-container--open"),
21254                t.css({ position: "absolute", top: -999999 }),
21255                (this.$container = n);
21256            }),
21257            (e.prototype.render = function (e) {
21258              var t = u("<span></span>"),
21259                e = e.call(this);
21260              return t.append(e), (this.$dropdownContainer = t);
21261            }),
21262            (e.prototype._hideDropdown = function (e) {
21263              this.$dropdownContainer.detach();
21264            }),
21265            (e.prototype._bindContainerResultHandlers = function (e, t) {
21266              var n;
21267              this._containerResultsHandlersBound ||
21268                ((n = this),
21269                t.on("results:all", function () {
21270                  n._positionDropdown(), n._resizeDropdown();
21271                }),
21272                t.on("results:append", function () {
21273                  n._positionDropdown(), n._resizeDropdown();
21274                }),
21275                t.on("results:message", function () {
21276                  n._positionDropdown(), n._resizeDropdown();
21277                }),
21278                t.on("select", function () {
21279                  n._positionDropdown(), n._resizeDropdown();
21280                }),
21281                t.on("unselect", function () {
21282                  n._positionDropdown(), n._resizeDropdown();
21283                }),
21284                (this._containerResultsHandlersBound = !0));
21285            }),
21286            (e.prototype._attachPositioningHandler = function (e, t) {
21287              var n = this,
21288                s = "scroll.select2." + t.id,
21289                i = "resize.select2." + t.id,
21290                r = "orientationchange.select2." + t.id,
21291                t = this.$container.parents().filter(o.hasScroll);
21292              t.each(function () {
21293                o.StoreData(this, "select2-scroll-position", {
21294                  x: u(this).scrollLeft(),
21295                  y: u(this).scrollTop(),
21296                });
21297              }),
21298                t.on(s, function (e) {
21299                  var t = o.GetData(this, "select2-scroll-position");
21300                  u(this).scrollTop(t.y);
21301                }),
21302                u(window).on(s + " " + i + " " + r, function (e) {
21303                  n._positionDropdown(), n._resizeDropdown();
21304                });
21305            }),
21306            (e.prototype._detachPositioningHandler = function (e, t) {
21307              var n = "scroll.select2." + t.id,
21308                s = "resize.select2." + t.id,
21309                t = "orientationchange.select2." + t.id;
21310              this.$container.parents().filter(o.hasScroll).off(n),
21311                u(window).off(n + " " + s + " " + t);
21312            }),
21313            (e.prototype._positionDropdown = function () {
21314              var e = u(window),
21315                t = this.$dropdown[0].classList.contains(
21316                  "select2-dropdown--above"
21317                ),
21318                n = this.$dropdown[0].classList.contains(
21319                  "select2-dropdown--below"
21320                ),
21321                s = null,
21322                i = this.$container.offset();
21323              i.bottom = i.top + this.$container.outerHeight(!1);
21324              var r = { height: this.$container.outerHeight(!1) };
21325              (r.top = i.top), (r.bottom = i.top + r.height);
21326              var o = this.$dropdown.outerHeight(!1),
21327                a = e.scrollTop(),
21328                l = e.scrollTop() + e.height(),
21329                c = a < i.top - o,
21330                e = l > i.bottom + o,
21331                a = { left: i.left, top: r.bottom },
21332                l = this.$dropdownParent;
21333              "static" === l.css("position") && (l = l.offsetParent());
21334              i = { top: 0, left: 0 };
21335              (u.contains(document.body, l[0]) || l[0].isConnected) &&
21336                (i = l.offset()),
21337                (a.top -= i.top),
21338                (a.left -= i.left),
21339                t || n || (s = "below"),
21340                e || !c || t ? !c && e && t && (s = "below") : (s = "above"),
21341                ("above" == s || (t && "below" !== s)) &&
21342                  (a.top = r.top - i.top - o),
21343                null != s &&
21344                  (this.$dropdown[0].classList.remove(
21345                    "select2-dropdown--below"
21346                  ),
21347                  this.$dropdown[0].classList.remove("select2-dropdown--above"),
21348                  this.$dropdown[0].classList.add("select2-dropdown--" + s),
21349                  this.$container[0].classList.remove(
21350                    "select2-container--below"
21351                  ),
21352                  this.$container[0].classList.remove(
21353                    "select2-container--above"
21354                  ),
21355                  this.$container[0].classList.add("select2-container--" + s)),
21356                this.$dropdownContainer.css(a);
21357            }),
21358            (e.prototype._resizeDropdown = function () {
21359              var e = { width: this.$container.outerWidth(!1) + "px" };
21360              this.options.get("dropdownAutoWidth") &&
21361                ((e.minWidth = e.width),
21362                (e.position = "relative"),
21363                (e.width = "auto")),
21364                this.$dropdown.css(e);
21365            }),
21366            (e.prototype._showDropdown = function (e) {
21367              this.$dropdownContainer.appendTo(this.$dropdownParent),
21368                this._positionDropdown(),
21369                this._resizeDropdown();
21370            }),
21371            e
21372          );
21373        }
21374      ),
21375      u.define("select2/dropdown/minimumResultsForSearch", [], function () {
21376        function e(e, t, n, s) {
21377          (this.minimumResultsForSearch = n.get("minimumResultsForSearch")),
21378            this.minimumResultsForSearch < 0 &&
21379              (this.minimumResultsForSearch = 1 / 0),
21380            e.call(this, t, n, s);
21381        }
21382        return (
21383          (e.prototype.showSearch = function (e, t) {
21384            return (
21385              !(
21386                (function e(t) {
21387                  for (var n = 0, s = 0; s < t.length; s++) {
21388                    var i = t[s];
21389                    i.children ? (n += e(i.children)) : n++;
21390                  }
21391                  return n;
21392                })(t.data.results) < this.minimumResultsForSearch
21393              ) && e.call(this, t)
21394            );
21395          }),
21396          e
21397        );
21398      }),
21399      u.define("select2/dropdown/selectOnClose", ["../utils"], function (s) {
21400        function e() {}
21401        return (
21402          (e.prototype.bind = function (e, t, n) {
21403            var s = this;
21404            e.call(this, t, n),
21405              t.on("close", function (e) {
21406                s._handleSelectOnClose(e);
21407              });
21408          }),
21409          (e.prototype._handleSelectOnClose = function (e, t) {
21410            if (t && null != t.originalSelect2Event) {
21411              var n = t.originalSelect2Event;
21412              if ("select" === n._type || "unselect" === n._type) return;
21413            }
21414            n = this.getHighlightedResults();
21415            n.length < 1 ||
21416              (null != (n = s.GetData(n[0], "data")).element &&
21417                n.element.selected) ||
21418              (null == n.element && n.selected) ||
21419              this.trigger("select", { data: n });
21420          }),
21421          e
21422        );
21423      }),
21424      u.define("select2/dropdown/closeOnSelect", [], function () {
21425        function e() {}
21426        return (
21427          (e.prototype.bind = function (e, t, n) {
21428            var s = this;
21429            e.call(this, t, n),
21430              t.on("select", function (e) {
21431                s._selectTriggered(e);
21432              }),
21433              t.on("unselect", function (e) {
21434                s._selectTriggered(e);
21435              });
21436          }),
21437          (e.prototype._selectTriggered = function (e, t) {
21438            var n = t.originalEvent;
21439            (n && (n.ctrlKey || n.metaKey)) ||
21440              this.trigger("close", {
21441                originalEvent: n,
21442                originalSelect2Event: t,
21443              });
21444          }),
21445          e
21446        );
21447      }),
21448      u.define("select2/dropdown/dropdownCss", ["../utils"], function (n) {
21449        function e() {}
21450        return (
21451          (e.prototype.render = function (e) {
21452            var t = e.call(this),
21453              e = this.options.get("dropdownCssClass") || "";
21454            return (
21455              -1 !== e.indexOf(":all:") &&
21456                ((e = e.replace(":all:", "")),
21457                n.copyNonInternalCssClasses(t[0], this.$element[0])),
21458              t.addClass(e),
21459              t
21460            );
21461          }),
21462          e
21463        );
21464      }),
21465      u.define(
21466        "select2/dropdown/tagsSearchHighlight",
21467        ["../utils"],
21468        function (s) {
21469          function e() {}
21470          return (
21471            (e.prototype.highlightFirstItem = function (e) {
21472              var t = this.$results.find(
21473                ".select2-results__option--selectable:not(.select2-results__option--selected)"
21474              );
21475              if (0 < t.length) {
21476                var n = t.first(),
21477                  t = s.GetData(n[0], "data").element;
21478                if (
21479                  t &&
21480                  t.getAttribute &&
21481                  "true" === t.getAttribute("data-select2-tag")
21482                )
21483                  return void n.trigger("mouseenter");
21484              }
21485              e.call(this);
21486            }),
21487            e
21488          );
21489        }
21490      ),
21491      u.define("select2/i18n/en", [], function () {
21492        return {
21493          errorLoading: function () {
21494            return "The results could not be loaded.";
21495          },
21496          inputTooLong: function (e) {
21497            var t = e.input.length - e.maximum,
21498              e = "Please delete " + t + " character";
21499            return 1 != t && (e += "s"), e;
21500          },
21501          inputTooShort: function (e) {
21502            return (
21503              "Please enter " +
21504              (e.minimum - e.input.length) +
21505              " or more characters"
21506            );
21507          },
21508          loadingMore: function () {
21509            return "Loading more results…";
21510          },
21511          maximumSelected: function (e) {
21512            var t = "You can only select " + e.maximum + " item";
21513            return 1 != e.maximum && (t += "s"), t;
21514          },
21515          noResults: function () {
21516            return "Не найдено";
21517          },
21518          searching: function () {
21519            return "Searching…";
21520          },
21521          removeAllItems: function () {
21522            return "Remove all items";
21523          },
21524          removeItem: function () {
21525            return "Remove item";
21526          },
21527          search: function () {
21528            return "Search";
21529          },
21530        };
21531      }),
21532      u.define(
21533        "select2/defaults",
21534        [
21535          "jquery",
21536          "./results",
21537          "./selection/single",
21538          "./selection/multiple",
21539          "./selection/placeholder",
21540          "./selection/allowClear",
21541          "./selection/search",
21542          "./selection/selectionCss",
21543          "./selection/eventRelay",
21544          "./utils",
21545          "./translation",
21546          "./diacritics",
21547          "./data/select",
21548          "./data/array",
21549          "./data/ajax",
21550          "./data/tags",
21551          "./data/tokenizer",
21552          "./data/minimumInputLength",
21553          "./data/maximumInputLength",
21554          "./data/maximumSelectionLength",
21555          "./dropdown",
21556          "./dropdown/search",
21557          "./dropdown/hidePlaceholder",
21558          "./dropdown/infiniteScroll",
21559          "./dropdown/attachBody",
21560          "./dropdown/minimumResultsForSearch",
21561          "./dropdown/selectOnClose",
21562          "./dropdown/closeOnSelect",
21563          "./dropdown/dropdownCss",
21564          "./dropdown/tagsSearchHighlight",
21565          "./i18n/en",
21566        ],
21567        function (
21568          l,
21569          r,
21570          o,
21571          a,
21572          c,
21573          u,
21574          d,
21575          p,
21576          h,
21577          f,
21578          g,
21579          t,
21580          m,
21581          y,
21582          v,
21583          _,
21584          b,
21585          $,
21586          w,
21587          x,
21588          A,
21589          D,
21590          S,
21591          E,
21592          O,
21593          C,
21594          L,
21595          T,
21596          q,
21597          I,
21598          e
21599        ) {
21600          function n() {
21601            this.reset();
21602          }
21603          return (
21604            (n.prototype.apply = function (e) {
21605              var t;
21606              null == (e = l.extend(!0, {}, this.defaults, e)).dataAdapter &&
21607                (null != e.ajax
21608                  ? (e.dataAdapter = v)
21609                  : null != e.data
21610                  ? (e.dataAdapter = y)
21611                  : (e.dataAdapter = m),
21612                0 < e.minimumInputLength &&
21613                  (e.dataAdapter = f.Decorate(e.dataAdapter, $)),
21614                0 < e.maximumInputLength &&
21615                  (e.dataAdapter = f.Decorate(e.dataAdapter, w)),
21616                0 < e.maximumSelectionLength &&
21617                  (e.dataAdapter = f.Decorate(e.dataAdapter, x)),
21618                e.tags && (e.dataAdapter = f.Decorate(e.dataAdapter, _)),
21619                (null == e.tokenSeparators && null == e.tokenizer) ||
21620                  (e.dataAdapter = f.Decorate(e.dataAdapter, b))),
21621                null == e.resultsAdapter &&
21622                  ((e.resultsAdapter = r),
21623                  null != e.ajax &&
21624                    (e.resultsAdapter = f.Decorate(e.resultsAdapter, E)),
21625                  null != e.placeholder &&
21626                    (e.resultsAdapter = f.Decorate(e.resultsAdapter, S)),
21627                  e.selectOnClose &&
21628                    (e.resultsAdapter = f.Decorate(e.resultsAdapter, L)),
21629                  e.tags &&
21630                    (e.resultsAdapter = f.Decorate(e.resultsAdapter, I))),
21631                null == e.dropdownAdapter &&
21632                  (e.multiple
21633                    ? (e.dropdownAdapter = A)
21634                    : ((t = f.Decorate(A, D)), (e.dropdownAdapter = t)),
21635                  0 !== e.minimumResultsForSearch &&
21636                    (e.dropdownAdapter = f.Decorate(e.dropdownAdapter, C
21636)),
21637                  e.closeOnSelect &&
21638                    (e.dropdownAdapter = f.Decorate(e.dropdownAdapter, T)),
21639                  null != e.dropdownCssClass &&
21640                    (e.dropdownAdapter = f.Decorate(e.dropdownAdapter, q)),
21641                  (e.dropdownAdapter = f.Decorate(e.dropdownAdapter, O))),
21642                null == e.selectionAdapter &&
21643                  (e.multiple
21644                    ? (e.selectionAdapter = a)
21645                    : (e.selectionAdapter = o),
21646                  null != e.placeholder &&
21647                    (e.selectionAdapter = f.Decorate(e.selectionAdapter, c)),
21648                  e.allowClear &&
21649                    (e.selectionAdapter = f.Decorate(e.selectionAdapter, u)),
21650                  e.multiple &&
21651                    (e.selectionAdapter = f.Decorate(e.selectionAdapter, d)),
21652                  null != e.selectionCssClass &&
21653                    (e.selectionAdapter = f.Decorate(e.selectionAdapter, p)),
21654                  (e.selectionAdapter = f.Decorate(e.selectionAdapter, h))),
21655                (e.language = this._resolveLanguage(e.language)),
21656                e.language.push("en");
21657              for (var n = [], s = 0; s < e.language.length; s++) {
21658                var i = e.language[s];
21659                -1 === n.indexOf(i) && n.push(i);
21660              }
21661              return (
21662                (e.language = n),
21663                (e.translations = this._processTranslations(
21664                  e.language,
21665                  e.debug
21666                )),
21667                e
21668              );
21669            }),
21670            (n.prototype.reset = function () {
21671              function a(e) {
21672                return e.replace(/[^\u0000-\u007E]/g, function (e) {
21673                  return t[e] || e;
21674                });
21675              }
21676              this.defaults = {
21677                amdLanguageBase: "./i18n/",
21678                autocomplete: "off",
21679                closeOnSelect: !0,
21680                debug: !1,
21681                dropdownAutoWidth: !1,
21682                escapeMarkup: f.escapeMarkup,
21683                language: {},
21684                matcher: function e(t, n) {
21685                  if (null == t.term || "" === t.term.trim()) return n;
21686                  if (n.children && 0 < n.children.length) {
21687                    for (
21688                      var s = l.extend(!0, {}, n), i = n.children.length - 1;
21689                      0 <= i;
21690                      i--
21691                    )
21692                      null == e(t, n.children[i]) && s.children.splice(i, 1);
21693                    return 0 < s.children.length ? s : e(t, s);
21694                  }
21695                  var r = a(n.text).toUpperCase(),
21696                    o = a(t.term).toUpperCase();
21697                  return -1 < r.indexOf(o) ? n : null;
21698                },
21699                minimumInputLength: 0,
21700                maximumInputLength: 0,
21701                maximumSelectionLength: 0,
21702                minimumResultsForSearch: 0,
21703                selectOnClose: !1,
21704                scrollAfterSelect: !1,
21705                sorter: function (e) {
21706                  return e;
21707                },
21708                templateResult: function (e) {
21709                  return e.text;
21710                },
21711                templateSelection: function (e) {
21712                  return e.text;
21713                },
21714                theme: "default",
21715                width: "resolve",
21716              };
21717            }),
21718            (n.prototype.applyFromElement = function (e, t) {
21719              var n = e.language,
21720                s = this.defaults.language,
21721                i = t.prop("lang"),
21722                t = t.closest("[lang]").prop("lang"),
21723                t = Array.prototype.concat.call(
21724                  this._resolveLanguage(i),
21725                  this._resolveLanguage(n),
21726                  this._resolveLanguage(s),
21727                  this._resolveLanguage(t)
21728                );
21729              return (e.language = t), e;
21730            }),
21731            (n.prototype._resolveLanguage = function (e) {
21732              if (!e) return [];
21733              if (l.isEmptyObject(e)) return [];
21734              if (l.isPlainObject(e)) return [e];
21735              for (
21736                var t, n = Array.isArray(e) ? e : [e], s = [], i = 0;
21737                i < n.length;
21738                i++
21739              )
21740                s.push(n[i]),
21741                  "string" == typeof n[i] &&
21742                    0 < n[i].indexOf("-") &&
21743                    ((t = n[i].split("-")[0]), s.push(t));
21744              return s;
21745            }),
21746            (n.prototype._processTranslations = function (e, t) {
21747              for (var n = new g(), s = 0; s < e.length; s++) {
21748                var i = new g(),
21749                  r = e[s];
21750                if ("string" == typeof r)
21751                  try {
21752                    i = g.loadPath(r);
21753                  } catch (e) {
21754                    try {
21755                      (r = this.defaults.amdLanguageBase + r),
21756                        (i = g.loadPath(r));
21757                    } catch (e) {
21758                      t &&
21759                        window.console &&
21760                        console.warn &&
21761                        console.warn(
21762                          'Select2: The language file for "' +
21763                            r +
21764                            '" could not be automatically loaded. A fallback will be used instead.'
21765                        );
21766                    }
21767                  }
21768                else i = l.isPlainObject(r) ? new g(r) : r;
21769                n.extend(i);
21770              }
21771              return n;
21772            }),
21773            (n.prototype.set = function (e, t) {
21774              var n = {};
21775              n[l.camelCase(e)] = t;
21776              n = f._convertData(n);
21777              l.extend(!0, this.defaults, n);
21778            }),
21779            new n()
21780          );
21781        }
21782      ),
21783      u.define(
21784        "select2/options",
21785        ["jquery", "./defaults", "./utils"],
21786        function (c, n, u) {
21787          function e(e, t) {
21788            (this.options = e),
21789              null != t && this.fromElement(t),
21790              null != t && (this.options = n.applyFromElement(this.options, t)),
21791              (this.options = n.apply(this.options));
21792          }
21793          return (
21794            (e.prototype.fromElement = function (e) {
21795              var t = ["select2"];
21796              null == this.options.multiple &&
21797                (this.options.multiple = e.prop("multiple")),
21798                null == this.options.disabled &&
21799                  (this.options.disabled = e.prop("disabled")),
21800                null == this.options.autocomplete &&
21801                  e.prop("autocomplete") &&
21802                  (this.options.autocomplete = e.prop("autocomplete")),
21803                null == this.options.dir &&
21804                  (e.prop("dir")
21805                    ? (this.options.dir = e.prop("dir"))
21806                    : e.closest("[dir]").prop("dir")
21807                    ? (this.options.dir = e.closest("[dir]").prop("dir"))
21808                    : (this.options.dir = "ltr")),
21809                e.prop("disabled", this.options.disabled),
21810                e.prop("multiple", this.options.multiple),
21811                u.GetData(e[0], "select2Tags") &&
21812                  (this.options.debug &&
21813                    window.console &&
21814                    console.warn &&
21815                    console.warn(
21816                      '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.'
21817                    ),
21818                  u.StoreData(e[0], "data", u.GetData(e[0], "select2Tags")),
21819                  u.StoreData(e[0], "tags", !0)),
21820                u.GetData(e[0], "ajaxUrl") &&
21821                  (this.options.debug &&
21822                    window.console &&
21823                    console.warn &&
21824                    console.warn(
21825                      "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."
21826                    ),
21827                  e.attr("ajax--url", u.GetData(e[0], "ajaxUrl")),
21828                  u.StoreData(e[0], "ajax-Url", u.GetData(e[0], "ajaxUrl")));
21829              var n = {};
21830              function s(e, t) {
21831                return t.toUpperCase();
21832              }
21833              for (var i = 0; i < e[0].attributes.length; i++) {
21834                var r = e[0].attributes[i].name,
21835                  o = "data-";
21836                r.substr(0, o.length) == o &&
21837                  ((r = r.substring(o.length)),
21838                  (o = u.GetData(e[0], r)),
21839                  (n[r.replace(/-([a-z])/g, s)] = o));
21840              }
21841              c.fn.jquery &&
21842                "1." == c.fn.jquery.substr(0, 2) &&
21843                e[0].dataset &&
21844                (n = c.extend(!0, {}, e[0].dataset, n));
21845              var a,
21846                l = c.extend(!0, {}, u.GetData(e[0]), n);
21847              for (a in (l = u._convertData(l)))
21848                -1 < t.indexOf(a) ||
21849                  (c.isPlainObject(this.options[a])
21850                    ? c.extend(this.options[a], l[a])
21851                    : (this.options[a] = l[a]));
21852              return this;
21853            }),
21854            (e.prototype.get = function (e) {
21855              return this.options[e];
21856            }),
21857            (e.prototype.set = function (e, t) {
21858              this.options[e] = t;
21859            }),
21860            e
21861          );
21862        }
21863      ),
21864      u.define(
21865        "select2/core",
21866        ["jquery", "./options", "./utils", "./keys"],
21867        function (t, i, r, s) {
21868          var o = function (e, t) {
21869            null != r.GetData(e[0], "select2") &&
21870              r.GetData(e[0], "select2").destroy(),
21871              (this.$element = e),
21872              (this.id = this._generateId(e)),
21873              (t = t || {}),
21874              (this.options = new i(t, e)),
21875              o.__super__.constructor.call(this);
21876            var n = e.attr("tabindex") || 0;
21877            r.StoreData(e[0], "old-tabindex", n), e.attr("tabindex", "-1");
21878            t = this.options.get("dataAdapter");
21879            this.dataAdapter = new t(e, this.options);
21880            n = this.render();
21881            this._placeContainer(n);
21882            t = this.options.get("selectionAdapter");
21883            (this.selection = new t(e, this.options)),
21884              (this.$selection = this.selection.render()),
21885              this.selection.position(this.$selection, n);
21886            t = this.options.get("dropdownAdapter");
21887            (this.dropdown = new t(e, this.options)),
21888              (this.$dropdown = this.dropdown.render()),
21889              this.dropdown.position(this.$dropdown, n);
21890            n = this.options.get("resultsAdapter");
21891            (this.results = new n(e, this.options, this.dataAdapter)),
21892              (this.$results = this.results.render()),
21893              this.results.position(this.$results, this.$dropdown);
21894            var s = this;
21895            this._bindAdapters(),
21896              this._registerDomEvents(),
21897              this._registerDataEvents(),
21898              this._registerSelectionEvents(),
21899              this._registerDropdownEvents(),
21900              this._registerResultsEvents(),
21901              this._registerEvents(),
21902              this.dataAdapter.current(function (e) {
21903                s.trigger("selection:update", { data: e });
21904              }),
21905              e[0].classList.add("select2-hidden-accessible"),
21906              e.attr("aria-hidden", "true"),
21907              this._syncAttributes(),
21908              r.StoreData(e[0], "select2", this),
21909              e.data("select2", this);
21910          };
21911          return (
21912            r.Extend(o, r.Observable),
21913            (o.prototype._generateId = function (e) {
21914              return (
21915                "select2-" +
21916                (null != e.attr("id")
21917                  ? e.attr("id")
21918                  : null != e.attr("name")
21919                  ? e.attr("name") + "-" + r.generateChars(2)
21920                  : r.generateChars(4)
21921                ).replace(/(:|\.|\[|\]|,)/g, "")
21922              );
21923            }),
21924            (o.prototype._placeContainer = function (e) {
21925              e.insertAfter(this.$element);
21926              var t = this._resolveWidth(
21927                this.$element,
21928                this.options.get("width")
21929              );
21930              null != t && e.css("width", t);
21931            }),
21932            (o.prototype._resolveWidth = function (e, t) {
21933              var n =
21934                /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
21935              if ("resolve" == t) {
21936                var s = this._resolveWidth(e, "style");
21937                return null != s ? s : this._resolveWidth(e, "element");
21938              }
21939              if ("element" == t) {
21940                s = e.outerWidth(!1);
21941                return s <= 0 ? "auto" : s + "px";
21942              }
21943              if ("style" != t)
21944                return "computedstyle" != t
21945                  ? t
21946                  : window.getComputedStyle(e[0]).width;
21947              e = e.attr("style");
21948              if ("string" != typeof e) return null;
21949              for (var i = e.split(";"), r = 0, o = i.length; r < o; r += 1) {
21950                var a = i[r].replace(/\s/g, "").match(n);
21951                if (null !== a && 1 <= a.length) return a[1];
21952              }
21953              return null;
21954            }),
21955            (o.prototype._bindAdapters = function () {
21956              this.dataAdapter.bind(this, this.$container),
21957                this.selection.bind(this, this.$container),
21958                this.dropdown.bind(this, this.$container),
21959                this.results.bind(this, this.$container);
21960            }),
21961            (o.prototype._registerDomEvents = function () {
21962              var t = this;
21963              this.$element.on("change.select2", function () {
21964                t.dataAdapter.current(function (e) {
21965                  t.trigger("selection:update", { data: e });
21966                });
21967              }),
21968                this.$element.on("focus.select2", function (e) {
21969                  t.trigger("focus", e);
21970                }),
21971                (this._syncA = r.bind(this._syncAttributes, this)),
21972                (this._syncS = r.bind(this._syncSubtree, this)),
21973                (this._observer = new window.MutationObserver(function (e) {
21974                  t._syncA(), t._syncS(e);
21975                })),
21976                this._observer.observe(this.$element[0], {
21977                  attributes: !0,
21978                  childList: !0,
21979                  subtree: !1,
21980                });
21981            }),
21982            (o.prototype._registerDataEvents = function () {
21983              var n = this;
21984              this.dataAdapter.on("*", function (e, t) {
21985                n.trigger(e, t);
21986              });
21987            }),
21988            (o.prototype._registerSelectionEvents = function () {
21989              var n = this,
21990                s = ["toggle", "focus"];
21991              this.selection.on("toggle", function () {
21992                n.toggleDropdown();
21993              }),
21994                this.selection.on("focus", function (e) {
21995                  n.focus(e);
21996                }),
21997                this.selection.on("*", function (e, t) {
21998                  -1 === s.indexOf(e) && n.trigger(e, t);
21999                });
22000            }),
22001            (o.prototype._registerDropdownEvents = function () {
22002              var n = this;
22003              this.dropdown.on("*", function (e, t) {
22004                n.trigger(e, t);
22005              });
22006            }),
22007            (o.prototype._registerResultsEvents = function () {
22008              var n = this;
22009              this.results.on("*", function (e, t) {
22010                n.trigger(e, t);
22011              });
22012            }),
22013            (o.prototype._registerEvents = function () {
22014              var n = this;
22015              this.on("open", function () {
22016                n.$container[0].classList.add("select2-container--open");
22017              }),
22018                this.on("close", function () {
22019                  n.$container[0].classList.remove("select2-container--open");
22020                }),
22021                this.on("enable", function () {
22022                  n.$container[0].classList.remove(
22023                    "select2-container--disabled"
22024                  );
22025                }),
22026                this.on("disable", function () {
22027                  n.$container[0].classList.add("select2-container--disabled");
22028                }),
22029                this.on("blur", function () {
22030                  n.$container[0].classList.remove("select2-container--focus");
22031                }),
22032                this.on("query", function (t) {
22033                  n.isOpen() || n.trigger("open", {}),
22034                    this.dataAdapter.query(t, function (e) {
22035                      n.trigger("results:all", { data: e, query: t });
22036                    });
22037                }),
22038                this.on("query:append", function (t) {
22039                  this.dataAdapter.query(t, function (e) {
22040                    n.trigger("results:append", { data: e, query: t });
22041                  });
22042                }),
22043                this.on("keypress", function (e) {
22044                  var t = e.which;
22045                  n.isOpen()
22046                    ? t === s.ESC || (t === s.UP && e.altKey)
22047                      ? (n.close(e), e.preventDefault())
22048                      : t === s.ENTER || t === s.TAB
22049                      ? (n.trigger("results:select", {}), e.preventDefault())
22050                      : t === s.SPACE && e.ctrlKey
22051                      ? (n.trigger("results:toggle", {}), e.preventDefault())
22052                      : t === s.UP
22053                      ? (n.trigger("results:previous", {}), e.preventDefault())
22054                      : t === s.DOWN &&
22055                        (n.trigger("results:next", {}), e.preventDefault())
22056                    : (t === s.ENTER ||
22057                        t === s.SPACE ||
22058                        (t === s.DOWN && e.altKey)) &&
22059                      (n.open(), e.preventDefault());
22060                });
22061            }),
22062            (o.prototype._syncAttributes = function () {
22063              this.options.set("disabled", this.$element.prop("disabled")),
22064                this.isDisabled()
22065                  ? (this.isOpen() && this.close(), this.trigger("disable", {}))
22066                  : this.trigger("enable", {});
22067            }),
22068            (o.prototype._isChangeMutation = function (e) {
22069              var t = this;
22070              if (e.addedNodes && 0 < e.addedNodes.length) {
22071                for (var n = 0; n < e.addedNodes.length; n++)
22072                  if (e.addedNodes[n].selected) return !0;
22073              } else {
22074                if (e.removedNodes && 0 < e.removedNodes.length) return !0;
22075                if (Array.isArray(e))
22076                  return e.some(function (e) {
22077                    return t._isChangeMutation(e);
22078                  });
22079              }
22080              return !1;
22081            }),
22082            (o.prototype._syncSubtree = function (e) {
22083              var e = this._isChangeMutation(e),
22084                t = this;
22085              e &&
22086                this.dataAdapter.current(function (e) {
22087                  t.trigger("selection:update", { data: e });
22088                });
22089            }),
22090            (o.prototype.trigger = function (e, t) {
22091              var n = o.__super__.trigger,
22092                s = {
22093                  open: "opening",
22094                  close: "closing",
22095                  select: "selecting",
22096                  unselect: "unselecting",
22097                  clear: "clearing",
22098                };
22099              if ((void 0 === t && (t = {}), e in s)) {
22100                var i = s[e],
22101                  s = { prevented: !1, name: e, args: t };
22102                if ((n.call(this, i, s), s.prevented))
22103                  return void (t.prevented = !0);
22104              }
22105              n.call(this, e, t);
22106            }),
22107            (o.prototype.toggleDropdown = function () {
22108              this.isDisabled() || (this.isOpen() ? this.close() : this.open());
22109            }),
22110            (o.prototype.open = function () {
22111              this.isOpen() || this.isDisabled() || this.trigger("query", {});
22112            }),
22113            (o.prototype.close = function (e) {
22114              this.isOpen() && this.trigger("close", { originalEvent: e });
22115            }),
22116            (o.prototype.isEnabled = function () {
22117              return !this.isDisabled();
22118            }),
22119            (o.prototype.isDisabled = function () {
22120              return this.options.get("disabled");
22121            }),
22122            (o.prototype.isOpen = function () {
22123              return this.$container[0].classList.contains(
22124                "select2-container--open"
22125              );
22126            }),
22127            (o.prototype.hasFocus = function () {
22128              return this.$container[0].classList.contains(
22129                "select2-container--focus"
22130              );
22131            }),
22132            (o.prototype.focus = function (e) {
22133              this.hasFocus() ||
22134                (this.$container[0].classList.add("select2-container--focus"),
22135                this.trigger("focus", {}));
22136            }),
22137            (o.prototype.enable = function (e) {
22138              this.options.get("debug") &&
22139                window.console &&
22140                console.warn &
22141                  2 &
22142                  console.warn(
22143                    'Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'
22144                  ),
22145                (null != e && 0 !== e.length) || (e = [!0]);
22146              e = !e[0];
22147              this.$element.prop("disabled", e);
22148            }),
22149            (o.prototype.data = function () {
22150              this.options.get("debug") &&
22151                0 < arguments.length &&
22152                window.console &&
22153                console.warn &&
22154                console.warn(
22155                  'Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.'
22156                );
22157              var t = [];
22158              return (
22159                this.dataAdapter.current(function (e) {
22160                  t = e;
22161                }),
22162                t
22163              );
22164            }),
22165            (o.prototype.val = function (e) {
22166              if (
22167                (this.options.get("debug") &&
22168                  window.console &&
22169                  console.warn &&
22170                  console.warn(
22171                    'Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'
22172                  ),
22173                null == e || 0 === e.length)
22174              )
22175                return this.$element.val();
22176              e = e[0];
22177              Array.isArray(e) &&
22178                (e = e.map(function (e) {
22179                  return e.toString();
22180                })),
22181                this.$element.val(e).trigger("input").trigger("change");
22182            }),
22183            (o.prototype.destroy = function () {
22184              r.RemoveData(this.$container[0]),
22185                this.$container.remove(),
22186                this._observer.disconnect(),
22187                (this._observer = null),
22188                (this._syncA = null),
22189                (this._syncS = null),
22190                this.$element.off(".select2"),
22191                this.$element.attr(
22192                  "tabindex",
22193                  r.GetData(this.$element[0], "old-tabindex")
22194                ),
22195                this.$element[0].classList.remove("select2-hidden-accessible"),
22196                this.$element.attr("aria-hidden", "false"),
22197                r.RemoveData(this.$element[0]),
22198                this.$element.removeData("select2"),
22199                this.dataAdapter.destroy(),
22200                this.selection.destroy(),
22201                this.dropdown.destroy(),
22202                this.results.destroy(),
22203                (this.dataAdapter = null),
22204                (this.selection = null),
22205                (this.dropdown = null),
22206                (this.results = null);
22207            }),
22208            (o.prototype.render = function () {
22209              var e = t(
22210                '<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>'
22211              );
22212              return (
22213                e.attr("dir", this.options.get("dir")),
22214                (this.$container = e),
22215                this.$container[0].classList.add(
22216                  "select2-container--" + this.options.get("theme")
22217                ),
22218                r.StoreData(e[0], "element", this.$element),
22219                e
22220              );
22221            }),
22222            o
22223          );
22224        }
22225      ),
22226      u.define("jquery-mousewheel", ["jquery"], function (e) {
22227        return e;
22228      }),
22229      u.define(
22230        "jquery.select2",
22231        [
22232          "jquery",
22233          "jquery-mousewheel",
22234          "./select2/core",
22235          "./select2/defaults",
22236          "./select2/utils",
22237        ],
22238        function (i, e, r, t, o) {
22239          var a;
22240          return (
22241            null == i.fn.select2 &&
22242              ((a = ["open", "close", "destroy"]),
22243              (i.fn.select2 = function (t) {
22244                if ("object" == typeof (t = t || {}))
22245                  return (
22246                    this.each(function () {
22247                      var e = i.extend(!0, {}, t);
22248                      new r(i(this), e);
22249                    }),
22250                    this
22251                  );
22252                if ("string" != typeof t)
22253                  throw new Error("Invalid arguments for Select2: " + t);
22254                var n,
22255                  s = Array.prototype.slice.call(arguments, 1);
22256                return (
22257                  this.each(function () {
22258                    var e = o.GetData(this, "select2");
22259                    null == e &&
22260                      window.console &&
22261                      console.error &&
22262                      console.error(
22263                        "The select2('" +
22264                          t +
22265                          "') method was called on an element that is not using Select2."
22266                      ),
22267                      (n = e[t].apply(e, s));
22268                  }),
22269                  -1 < a.indexOf(t) ? this : n
22270                );
22271              })),
22272            null == i.fn.select2.defaults && (i.fn.select2.defaults = t),
22273            r
22274          );
22275        }
22276      ),
22277      { define: u.define, require: u.require });
22278  function b(e, t) {
22279    return i.call(e, t);
22280  }
22281  function l(e, t) {
22282    var n,
22283      s,
22284      i,
22285      r,
22286      o,
22287      a,
22288      l,
22289      c,
22290      u,
22291      d,
22292      p = t && t.split("/"),
22293      h = y.map,
22294      f = (h && h["*"]) || {};
22295    if (e) {
22296      for (
22297        t = (e = e.split("/")).length - 1,
22298          y.nodeIdCompat && _.test(e[t]) && (e[t] = e[t].replace(_, "")),
22299          "." === e[0].charAt(0) &&
22300            p &&
22301            (e = p.slice(0, p.length - 1).concat(e)),
22302          c = 0;
22303        c < e.length;
22304        c++
22305      )
22306        "." === (d = e[c])
22307          ? (e.splice(c, 1), --c)
22308          : ".." === d &&
22309            (0 === c ||
22310              (1 === c && ".." === e[2]) ||
22311              ".." === e[c - 1] ||
22312              (0 < c && (e.splice(c - 1, 2), (c -= 2))));
22313      e = e.join("/");
22314    }
22315    if ((p || f) && h) {
22316      for (c = (n = e.split("/")).length; 0 < c; --c) {
22317        if (((s = n.slice(0, c).join("/")), p))
22318          for (u = p.length; 0 < u; --u)
22319            if (((i = h[p.slice(0, u).join("/")]), (i = i && i[s]))) {
22320              (r = i), (o = c);
22321              break;
22322            }
22323        if (r) break;
22324        !a && f && f[s] && ((a = f[s]), (l = c));
22325      }
22326      !r && a && ((r = a), (o = l)),
22327        r && (n.splice(0, o, r), (e = n.join("/")));
22328    }
22329    return e;
22330  }
22331  function w(t, n) {
22332    return function () {
22333      var e = a.call(arguments, 0);
22334      return (
22335        "string" != typeof e[0] && 1 === e.length && e.push(null),
22336        o.apply(p, e.concat([t, n]))
22337      );
22338    };
22339  }
22340  function x(e) {
22341    var t;
22342    if (
22343      (b(m, e) && ((t = m[e]), delete m[e], (v[e] = !0), r.apply(p, t)),
22344      !b(g, e) && !b(v, e))
22345    )
22346      throw new Error("No " + e);
22347    return g[e];
22348  }
22349  function c(e) {
22350    var t,
22351      n = e ? e.indexOf("!") : -1;
22352    return (
22353      -1 < n && ((t = e.substring(0, n)), (e = e.substring(n + 1, e.length))),
22354      [t, e]
22355    );
22356  }
22357  function A(e) {
22358    return e ? c(e) : [];
22359  }
22360  var u = s.require("jquery.select2");
22361  return (t.fn.select2.amd = s), u;
22362});
22363
22364// select2 ex
22365(function ($) {
22366  var Defaults = $.fn.select2.amd.require("select2/defaults");
22367
22368  $.extend(Defaults.defaults, {
22369    dropdownPosition: "auto",
22370  });
22371
22372  var AttachBody = $.fn.select2.amd.require("select2/dropdown/attachBody");
22373
22374  var _positionDropdown = AttachBody.prototype._positionDropdown;
22375
22376  AttachBody.prototype._positionDropdown = function () {
22377    var $window = $(window);
22378
22379    var isCurrentlyAbove = this.$dropdown.hasClass("select2-dropdown--above");
22380    var isCurrentlyBelow = this.$dropdown.hasClass("select2-dropdown--below");
22381
22382    var newDirection = null;
22383
22384    var offset = this.$container.offset();
22385
22386    offset.bottom = offset.top + this.$container.outerHeight(false);
22387
22388    var container = {
22389      height: this.$container.outerHeight(false),
22390    };
22391
22392    container.top = offset.top;
22393    container.bottom = offset.top + container.height;
22394
22395    var dropdown = {
22396      height: this.$dropdown.outerHeight(false),
22397    };
22398
22399    var viewport = {
22400      top: $window.scrollTop(),
22401      bottom: $window.scrollTop() + $window.height(),
22402    };
22403
22404    var enoughRoomAbove = viewport.top < offset.top - dropdown.height;
22405    var enoughRoomBelow = viewport.bottom > offset.bottom + dropdown.height;
22406
22407    var css = {
22408      left: offset.left,
22409      top: container.bottom,
22410    };
22411
22412    // Determine what the parent element is to use for calciulating the offset
22413    var $offsetParent = this.$dropdownParent;
22414
22415    // For statically positoned elements, we need to get the element
22416    // that is determining the offset
22417    if ($offsetParent.css("position") === "static") {
22418      $offsetParent = $offsetParent.offsetParent();
22419    }
22420
22421    var parentOffset = $offsetParent.offset();
22422
22423    css.top -= parentOffset.top;
22424    css.left -= parentOffset.left;
22425
22426    var dropdownPositionOption = this.options.get("dropdownPosition");
22427
22428    if (
22429      dropdownPositionOption === "above" ||
22430      dropdownPositionOption === "below"
22431    ) {
22432      newDirection = dropdownPositionOption;
22433    } else {
22434      if (!isCurrentlyAbove && !isCurrentlyBelow) {
22435        newDirection = "below";
22436      }
22437
22438      if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) {
22439        newDirection = "above";
22440      } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) {
22441        newDirection = "below";
22442      }
22443    }
22444
22445    if (
22446      newDirection == "above" ||
22447      (isCurrentlyAbove && newDirection !== "below")
22448    ) {
22449      css.top = container.top - parentOffset.top - dropdown.height;
22450    }
22451
22452    if (newDirection != null) {
22453      this.$dropdown
22454        .removeClass("select2-dropdown--below select2-dropdown--above")
22455        .addClass("select2-dropdown--" + newDirection);
22456      this.$container
22457        .removeClass("select2-container--below select2-container--above")
22458        .addClass("select2-container--" + newDirection);
22459    }
22460
22461    this.$dropdownContainer.css(css);
22462  };
22463})(window.jQuery);
22464
22465/**
22466 * Swiper 6.5.0
22467 * Most modern mobile touch slider and framework with hardware accelerated transitions
22468 * https://swiperjs.com
22469 *
22470 * Copyright 2014-2021 Vladimir Kharlampidi
22471 *
22472 * Released under the MIT License
22473 *
22474 * Released on: March 5, 2021
22475 */
22476
22477!(function (e, t) {
22478  "object" == typeof exports && "undefined" != typeof module
22479    ? (module.exports = t())
22480    : "function" == typeof define && define.amd
22481    ? define(t)
22482    : ((e = "undefined" != typeof globalThis ? globalThis : e || self).Swiper =
22483        t());
22484})(this, function () {
22485  "use strict";
22486  function e(e, t) {
22487    for (var a = 0; a < t.length; a++) {
22488      var i = t[a];
22489      (i.enumerable = i.enumerable || !1),
22490        (i.configurable = !0),
22491        "value" in i && (i.writable = !0),
22492        Object.defineProperty(e, i.key, i);
22493    }
22494  }
22495  function t() {
22496    return (t =
22497      Object.assign ||
22498      function (e) {
22499        for (var t = 1; t < arguments.length; t++) {
22500          var a = arguments[t];
22501          for (var i in a)
22502            Object.prototype.hasOwnProperty.call(a, i) && (e[i] = a[i]);
22503        }
22504        return e;
22505      }).apply(this, arguments);
22506  }
22507  function a(e) {
22508    return (
22509      null !== e &&
22510      "object" == typeof e &&
22511      "constructor" in e &&
22512      e.constructor === Object
22513    );
22514  }
22515  function i(e, t) {
22516    void 0 === e && (e = {}),
22517      void 0 === t && (t = {}),
22518      Object.keys(t).forEach(function (s) {
22519        void 0 === e[s]
22520          ? (e[s] = t[s])
22521          : a(t[s]) && a(e[s]) && Object.keys(t[s]).length > 0 && i(e[s], t[s]);
22522      });
22523  }
22524  var s = {
22525    body: {},
22526    addEventListener: function () {},
22527    removeEventListener: function () {},
22528    activeElement: { blur: function () {}, nodeName: "" },
22529    querySelector: function () {
22530      return null;
22531    },
22532    querySelectorAll: function () {
22533      return [];
22534    },
22535    getElementById: function () {
22536      return null;
22537    },
22538    createEvent: function () {
22539      return { initEvent: function () {} };
22540    },
22541    createElement: function () {
22542      return {
22543        children: [],
22544        childNodes: [],
22545        style: {},
22546        setAttribute: function () {},
22547        getElementsByTagName: function () {
22548          return [];
22549        },
22550      };
22551    },
22552    createElementNS: function () {
22553      return {};
22554    },
22555    importNode: function () {
22556      return null;
22557    },
22558    location: {
22559      hash: "",
22560      host: "",
22561      hostname: "",
22562      href: "",
22563      origin: "",
22564      pathname: "",
22565      protocol: "",
22566      search: "",
22567    },
22568  };
22569  function r() {
22570    var e = "undefined" != typeof document ? document : {};
22571    return i(e, s), e;
22572  }
22573  var n = {
22574    document: s,
22575    navigator: { userAgent: "" },
22576    location: {
22577      hash: "",
22578      host: "",
22579      hostname: "",
22580      href: "",
22581      origin: "",
22582      pathname: "",
22583      protocol: "",
22584      search: "",
22585    },
22586    history: {
22587      replaceState: function () {},
22588      pushState: function () {},
22589      go: function () {},
22590      back: function () {},
22591    },
22592    CustomEvent: function () {
22593      return this;
22594    },
22595    addEventListener: function () {},
22596    removeEventListener: function () {},
22597    getComputedStyle: function () {
22598      return {
22599        getPropertyValue: function () {
22600          return "";
22601        },
22602      };
22603    },
22604    Image: function () {},
22605    Date: function () {},
22606    screen: {},
22607    setTimeout: function () {},
22608    clearTimeout: function () {},
22609    matchMedia: function () {
22610      return {};
22611    },
22612    requestAnimationFrame: function (e) {
22613      return "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0);
22614    },
22615    cancelAnimationFrame: function (e) {
22616      "undefined" != typeof setTimeout && clearTimeout(e);
22617    },
22618  };
22619  function l() {
22620    var e = "undefined" != typeof window ? window : {};
22621    return i(e, n), e;
22622  }
22623  function o(e) {
22624    return (o = Object.setPrototypeOf
22625      ? Object.getPrototypeOf
22626      : function (e) {
22627          return e.__proto__ || Object.getPrototypeOf(e);
22628        })(e);
22629  }
22630  function d(e, t) {
22631    return (d =
22632      Object.setPrototypeOf ||
22633      function (e, t) {
22634        return (e.__proto__ = t), e;
22635      })(e, t);
22636  }
22637  function p() {
22638    if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
22639    if (Reflect.construct.sham) return !1;
22640    if ("function" == typeof Proxy) return !0;
22641    try {
22642      return (
22643        Date.prototype.toString.call(
22644          Reflect.construct(Date, [], function () {})
22645        ),
22646        !0
22647      );
22648    } catch (e) {
22649      return !1;
22650    }
22651  }
22652  function c(e, t, a) {
22653    return (c = p()
22654      ? Reflect.construct
22655      : function (e, t, a) {
22656          var i = [null];
22657          i.push.apply(i, t);
22658          var s = new (Function.bind.apply(e, i))();
22659          return a && d(s, a.prototype), s;
22660        }).apply(null, arguments);
22661  }
22662  function u(e) {
22663    var t = "function" == typeof Map ? new Map() : void 0;
22664    return (u = function (e) {
22665      if (
22666        null === e ||
22667        ((a = e), -1 === Function.toString.call(a).indexOf("[native code]"))
22668      )
22669        return e;
22670      var a;
22671      if ("function" != typeof e)
22672        throw new TypeError(
22673          "Super expression must either be null or a function"
22674        );
22675      if (void 0 !== t) {
22676        if (t.has(e)) return t.get(e);
22677        t.set(e, i);
22678      }
22679      function i() {
22680        return c(e, arguments, o(this).constructor);
22681      }
22682      return (
22683        (i.prototype = Object.create(e.prototype, {
22684          constructor: {
22685            value: i,
22686            enumerable: !1,
22687            writable: !0,
22688            configurable: !0,
22689          },
22690        })),
22691        d(i, e)
22692      );
22693    })(e);
22694  }
22695  var h = (function (e) {
22696    var t, a;
22697    function i(t) {
22698      var a, i, s;
22699      return (
22700        (a = e.call.apply(e, [this].concat(t)) || this),
22701        (i = (function (e) {
22702          if (void 0 === e)
22703            throw new ReferenceError(
22704              "this hasn't been initialised - super() hasn't been called"
22705            );
22706          return e;
22707        })(a)),
22708        (s = i.__proto__),
22709        Object.defineProperty(i, "__proto__", {
22710          get: function () {
22711            return s;
22712          },
22713          set: function (e) {
22714            s.__proto__ = e;
22715          },
22716        }),
22717        a
22718      );
22719    }
22720    return (
22721      (a = e),
22722      ((t = i).prototype = Object.create(a.prototype)),
22723      (t.prototype.constructor = t),
22724      (t.__proto__ = a),
22725      i
22726    );
22727  })(u(Array));
22728  function v(e) {
22729    void 0 === e && (e = []);
22730    var t = [];
22731    return (
22732      e.forEach(function (e) {
22733        Array.isArray(e) ? t.push.apply(t, v(e)) : t.push(e);
22734      }),
22735      t
22736    );
22737  }
22738  function f(e, t) {
22739    return Array.prototype.filter.call(e, t);
22740  }
22741  function m(e, t) {
22742    var a = l(),
22743      i = r(),
22744      s = [];
22745    if (!t && e instanceof h) return e;
22746    if (!e) return new h(s);
22747    if ("string" == typeof e) {
22748      var n = e.trim();
22749      if (n.indexOf("<") >= 0 && n.indexOf(">") >= 0) {
22750        var o = "div";
22751        0 === n.indexOf("<li") && (o = "ul"),
22752          0 === n.indexOf("<tr") && (o = "tbody"),
22753          (0 !== n.indexOf("<td") && 0 !== n.indexOf("<th")) || (o = "tr"),
22754          0 === n.indexOf("<tbody") && (o = "table"),
22755          0 === n.indexOf("<option") && (o = "select");
22756        var d = i.createElement(o);
22757        d.innerHTML = n;
22758        for (var p = 0; p < d.childNodes.length; p += 1)
22759          s.push(d.childNodes[p]);
22760      } else
22761        s = (function (e, t) {
22762          if ("string" != typeof e) return [e];
22763          for (
22764            var a = [], i = t.querySelectorAll(e), s = 0;
22765            s < i.length;
22766            s += 1
22767          )
22768            a.push(i[s]);
22769          return a;
22770        })(e.trim(), t || i);
22771    } else if (e.nodeType || e === a || e === i) s.push(e);
22772    else if (Array.isArray(e)) {
22773      if (e instanceof h) return e;
22774      s = e;
22775    }
22776    return new h(
22777      (function (e) {
22778        for (var t = [], a = 0; a < e.length; a += 1)
22779          -1 === t.indexOf(e[a]) && t.push(e[a]);
22780        return t;
22781      })(s)
22782    );
22783  }
22784  m.fn = h.prototype;
22785  var g,
22786    b,
22787    w,
22788    y = {
22789      addClass: function () {
22790        for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++)
22791          t[a] = arguments[a];
22792        var i = v(
22793          t.map(function (e) {
22794            return e.split(" ");
22795          })
22796        );
22797        return (
22798          this.forEach(function (e) {
22799            var t;
22800            (t = e.classList).add.apply(t, i);
22801          }),
22802          this
22803        );
22804      },
22805      removeClass: function () {
22806        for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++)
22807          t[a] = arguments[a];
22808        var i = v(
22809          t.map(function (e) {
22810            return e.split(" ");
22811          })
22812        );
22813        return (
22814          this.forEach(function (e) {
22815            var t;
22816            (t = e.classList).remove.apply(t, i);
22817          }),
22818          this
22819        );
22820      },
22821      hasClass: function () {
22822        for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++)
22823          t[a] = arguments[a];
22824        var i = v(
22825          t.map(function (e) {
22826            return e.split(" ");
22827          })
22828        );
22829        return (
22830          f(this, function (e) {
22831            return (
22832              i.filter(function (t) {
22833                return e.classList.contains(t);
22834              }).length > 0
22835            );
22836          }).length > 0
22837        );
22838      },
22839      toggleClass: function () {
22840        for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++)
22841          t[a] = arguments[a];
22842        var i = v(
22843          t.map(function (e) {
22844            return e.split(" ");
22845          })
22846        );
22847        this.forEach(function (e) {
22848          i.forEach(function (t) {
22849            e.classList.toggle(t);
22850          });
22851        });
22852      },
22853      attr: function (e, t) {
22854        if (1 === arguments.length && "string" == typeof e)
22855          return this[0] ? this[0].getAttribute(e) : void 0;
22856        for (var a = 0; a < this.length; a += 1)
22857          if (2 === arguments.length) this[a].setAttribute(e, t);
22858          else
22859            for (var i in e) (this[a][i] = e[i]), this[a].setAttribute(i, e[i]);
22860        return this;
22861      },
22862      removeAttr: function (e) {
22863        for (var t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
22864        return this;
22865      },
22866      transform: function (e) {
22867        for (var t = 0; t < this.length; t += 1) this[t].style.transform = e;
22868        return this;
22869      },
22870      transition: function (e) {
22871        for (var t = 0; t < this.length; t += 1)
22872          this[t].style.transitionDuration =
22873            "string" != typeof e ? e + "ms" : e;
22874        return this;
22875      },
22876      on: function () {
22877        for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++)
22878          t[a] = arguments[a];
22879        var i = t[0],
22880          s = t[1],
22881          r = t[2],
22882          n = t[3];
22883        function l(e) {
22884          var t = e.target;
22885          if (t) {
22886            var a = e.target.dom7EventData || [];
22887            if ((a.indexOf(e) < 0 && a.unshift(e), m(t).is(s))) r.apply(t, a);
22888            else
22889              for (var i = m(t).parents(), n = 0; n < i.length; n += 1)
22890                m(i[n]).is(s) && r.apply(i[n], a);
22891          }
22892        }
22893        function o(e) {
22894          var t = (e && e.target && e.target.dom7EventData) || [];
22895          t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t);
22896        }
22897        "function" == typeof t[1] &&
22898          ((i = t[0]), (r = t[1]), (n = t[2]), (s = void 0)),
22899          n || (n = !1);
22900        for (var d, p = i.split(" "), c = 0; c < this.length; c += 1) {
22901          var u = this[c];
22902          if (s)
22903            for (d = 0; d < p.length; d += 1) {
22904              var h = p[d];
22905              u.dom7LiveListeners || (u.dom7LiveListeners = {}),
22906                u.dom7LiveListeners[h] || (u.dom7LiveListeners[h] = []),
22907                u.dom7LiveListeners[h].push({ listener: r, proxyListener: l }),
22908                u.addEventListener(h, l, n);
22909            }
22910          else
22911            for (d = 0; d < p.length; d += 1) {
22912              var v = p[d];
22913              u.dom7Listeners || (u.dom7Listeners = {}),
22914                u.dom7Listeners[v] || (u.dom7Listeners[v] = []),
22915                u.dom7Listeners[v].push({ listener: r, proxyListener: o }),
22916                u.addEventListener(v, o, n);
22917            }
22918        }
22919        return this;
22920      },
22921      off: function () {
22922        for (var e = arguments.length, t = new Array(e), a = 0; a < e; a++)
22923          t[a] = arguments[a];
22924        var i = t[0],
22925          s = t[1],
22926          r = t[2],
22927          n = t[3];
22928        "function" == typeof t[1] &&
22929          ((i = t[0]), (r = t[1]), (n = t[2]), (s = void 0)),
22930          n || (n = !1);
22931        for (var l = i.split(" "), o = 0; o < l.length; o += 1)
22932          for (var d = l[o], p = 0; p < this.length; p += 1) {
22933            var c = this[p],
22934              u = void 0;
22935            if (
22936              (!s && c.dom7Listeners
22937                ? (u = c.dom7Listeners[d])
22938                : s && c.dom7LiveListeners && (u = c.dom7LiveListeners[d]),
22939              u && u.length)
22940            )
22941              for (var h = u.length - 1; h >= 0; h -= 1) {
22942                var v = u[h];
22943                (r && v.listener === r) ||
22944                (r &&
22945                  v.listener &&
22946                  v.listener.dom7proxy &&
22947                  v.listener.dom7proxy === r)
22948                  ? (c.removeEventListener(d, v.proxyListener, n),
22949                    u.splice(h, 1))
22950                  : r ||
22951                    (c.removeEventListener(d, v.proxyListener, n),
22952                    u.splice(h, 1));
22953              }
22954          }
22955        return this;
22956      },
22957      trigger: function () {
22958        for (
22959          var e = l(), t = arguments.length, a = new Array(t), i = 0;
22960          i < t;
22961          i++
22962        )
22963          a[i] = arguments[i];
22964        for (var s = a[0].split(" "), r = a[1], n = 0; n < s.length; n += 1)
22965          for (var o = s[n], d = 0; d < this.length; d += 1) {
22966            var p = this[d];
22967            if (e.CustomEvent) {
22968              var c = new e.CustomEvent(o, {
22969                detail: r,
22970                bubbles: !0,
22971                cancelable: !0,
22972              });
22973              (p.dom7EventData = a.filter(function (e, t) {
22974                return t > 0;
22975              })),
22976                p.dispatchEvent(c),
22977                (p.dom7EventData = []),
22978                delete p.dom7EventData;
22979            }
22980          }
22981        return this;
22982      },
22983      transitionEnd: function (e) {
22984        var t = this;
22985        return (
22986          e &&
22987            t.on("transitionend", function a(i) {
22988              i.target === this && (e.call(this, i), t.off("transitionend", a));
22989            }),
22990          this
22991        );
22992      },
22993      outerWidth: function (e) {
22994        if (this.length > 0) {
22995          if (e) {
22996            var t = this.styles();
22997            return (
22998              this[0].offsetWidth +
22999              parseFloat(t.getPropertyValue("margin-right")) +
23000              parseFloat(t.getPropertyValue("margin-left"))
23001            );
23002          }
23003          return this[0].offsetWidth;
23004        }
23005        return null;
23006      },
23007      outerHeight: function (e) {
23008        if (this.length > 0) {
23009          if (e) {
23010            var t = this.styles();
23011            return (
23012              this[0].offsetHeight +
23013              parseFloat(t.getPropertyValue("margin-top")) +
23014              parseFloat(t.getPropertyValue("margin-bottom"))
23015            );
23016          }
23017          return this[0].offsetHeight;
23018        }
23019        return null;
23020      },
23021      styles: function () {
23022        var e = l();
23023        return this[0] ? e.getComputedStyle(this[0], null) : {};
23024      },
23025      offset: function () {
23026        if (this.length > 0) {
23027          var e = l(),
23028            t = r(),
23029            a = this[0],
23030            i = a.getBoundingClientRect(),
23031            s = t.body,
23032            n = a.clientTop || s.clientTop || 0,
23033            o = a.clientLeft || s.clientLeft || 0,
23034            d = a === e ? e.scrollY : a.scrollTop,
23035            p = a === e ? e.scrollX : a.scrollLeft;
23036          return { top: i.top + d - n, left: i.left + p - o };
23037        }
23038        return null;
23039      },
23040      css: function (e, t) {
23041        var a,
23042          i = l();
23043        if (1 === arguments.length) {
23044          if ("string" != typeof e) {
23045            for (a = 0; a < this.length; a += 1)
23046              for (var s in e) this[a].style[s] = e[s];
23047            return this;
23048          }
23049          if (this[0])
23050            return i.getComputedStyle(this[0], null).getPropertyValue(e);
23051        }
23052        if (2 === arguments.length && "string" == typeof e) {
23053          for (a = 0; a < this.length; a += 1) this[a].style[e] = t;
23054          return this;
23055        }
23056        return this;
23057      },
23058      each: function (e) {
23059        return e
23060          ? (this.forEach(function (t, a) {
23061              e.apply(t, [t, a]);
23062            }),
23063            this)
23064          : this;
23065      },
23066      html: function (e) {
23067        if (void 0 === e) return this[0] ? this[0].innerHTML : null;
23068        for (var t = 0; t < this.length; t += 1) this[t].innerHTML = e;
23069        return this;
23070      },
23071      text: function (e) {
23072        if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
23073        for (var t = 0; t < this.length; t += 1) this[t].textContent = e;
23074        return this;
23075      },
23076      is: function (e) {
23077        var t,
23078          a,
23079          i = l(),
23080          s = r(),
23081          n = this[0];
23082        if (!n || void 0 === e) return !1;
23083        if ("string" == typeof e) {
23084          if (n.matches) return n.matches(e);
23085          if (n.webkitMatchesSelector) return n.webkitMatchesSelector(e);
23086          if (n.msMatchesSelector) return n.msMatchesSelector(e);
23087          for (t = m(e), a = 0; a < t.length; a += 1) if (t[a] === n) return !0;
23088          return !1;
23089        }
23090        if (e === s) return n === s;
23091        if (e === i) return n === i;
23092        if (e.nodeType || e instanceof h) {
23093          for (t = e.nodeType ? [e] : e, a = 0; a < t.length; a += 1)
23094            if (t[a] === n) return !0;
23095          return !1;
23096        }
23097        return !1;
23098      },
23099      index: function () {
23100        var e,
23101          t = this[0];
23102        if (t) {
23103          for (e = 0; null !== (t = t.previousSibling); )
23104            1 === t.nodeType && (e += 1);
23105          return e;
23106        }
23107      },
23108      eq: function (e) {
23109        if (void 0 === e) return this;
23110        var t = this.length;
23111        if (e > t - 1) return m([]);
23112        if (e < 0) {
23113          var a = t + e;
23114          return m(a < 0 ? [] : [this[a]]);
23115        }
23116        return m([this[e]]);
23117      },
23118      append: function () {
23119        for (var e, t = r(), a = 0; a < arguments.length; a += 1) {
23120          e = a < 0 || arguments.length <= a ? void 0 : arguments[a];
23121          for (var i = 0; i < this.length; i += 1)
23122            if ("string" == typeof e) {
23123              var s = t.createElement("div");
23124              for (s.innerHTML = e; s.firstChild; )
23125                this[i].appendChild(s.firstChild);
23126            } else if (e instanceof h)
23127              for (var n = 0; n < e.length; n += 1) this[i].appendChild(e[n]);
23128            else this[i].appendChild(e);
23129        }
23130        return this;
23131      },
23132      prepend: function (e) {
23133        var t,
23134          a,
23135          i = r();
23136        for (t = 0; t < this.length; t += 1)
23137          if ("string" == typeof e) {
23138            var s = i.createElement("div");
23139            for (s.innerHTML = e, a = s.childNodes.length - 1; a >= 0; a -= 1)
23140              this[t].insertBefore(s.childNodes[a], this[t].childNodes[0]);
23141          } else if (e instanceof h)
23142            for (a = 0; a < e.length; a += 1)
23143              this[t].insertBefore(e[a], this[t].childNodes[0]);
23144          else this[t].insertBefore(e, this[t].childNodes[0]);
23145        return this;
23146      },
23147      next: function (e) {
23148        return this.length > 0
23149          ? e
23150            ? this[0].nextElementSibling && m(this[0].nextElementSibling).is(e)
23151              ? m([this[0].nextElementSibling])
23152              : m([])
23153            : this[0].nextElementSibling
23154            ? m([this[0].nextElementSibling])
23155            : m([])
23156          : m([]);
23157      },
23158      nextAll: function (e) {
23159        var t = [],
23160          a = this[0];
23161        if (!a) return m([]);
23162        for (; a.nextElementSibling; ) {
23163          var i = a.nextElementSibling;
23164          e ? m(i).is(e) && t.push(i) : t.push(i), (a = i);
23165        }
23166        return m(t);
23167      },
23168      prev: function (e) {
23169        if (this.length > 0) {
23170          var t = this[0];
23171          return e
23172            ? t.previousElementSibling && m(t.previousElementSibling).is(e)
23173              ? m([t.previousElementSibling])
23174              : m([])
23175            : t.previousElementSibling
23176            ? m([t.previousElementSibling])
23177            : m([]);
23178        }
23179        return m([]);
23180      },
23181      prevAll: function (e) {
23182        var t = [],
23183          a = this[0];
23184        if (!a) return m([]);
23185        for (; a.previousElementSibling; ) {
23186          var i = a.previousElementSibling;
23187          e ? m(i).is(e) && t.push(i) : t.push(i), (a = i);
23188        }
23189        return m(t);
23190      },
23191      parent: function (e) {
23192        for (var t = [], a = 0; a < this.length; a += 1)
23193          null !== this[a].parentNode &&
23194            (e
23195              ? m(this[a].parentNode).is(e) && t.push(this[a].parentNode)
23196              : t.push(this[a].parentNode));
23197        return m(t);
23198      },
23199      parents: function (e) {
23200        for (var t = [], a = 0; a < this.length; a += 1)
23201          for (var i = this[a].parentNode; i; )
23202            e ? m(i).is(e) && t.push(i) : t.push(i), (i = i.parentNode);
23203        return m(t);
23204      },
23205      closest: function (e) {
23206        var t = this;
23207        return void 0 === e ? m([]) : (t.is(e) || (t = t.parents(e).eq(0)), t);
23208      },
23209      find: function (e) {
23210        for (var t = [], a = 0; a < this.length; a += 1)
23211          for (var i = this[a].querySelectorAll(e), s = 0; s < i.length; s += 1)
23212            t.push(i[s]);
23213        return m(t);
23214      },
23215      children: function (e) {
23216        for (var t = [], a = 0; a < this.length; a += 1)
23217          for (var i = this[a].children, s = 0; s < i.length; s += 1)
23218            (e && !m(i[s]).is(e)) || t.push(i[s]);
23219        return m(t);
23220      },
23221      filter: function (e) {
23222        return m(f(this, e));
23223      },
23224      remove: function () {
23225        for (var e = 0; e < this.length; e += 1)
23226          this[e].parentNode && this[e].parentNode.removeChild(this[e]);
23227        return this;
23228      },
23229    };
23230  function E(e, t) {
23231    return void 0 === t && (t = 0), setTimeout(e, t);
23232  }
23233  function x() {
23234    return Date.now();
23235  }
23236  function T(e, t) {
23237    void 0 === t && (t = "x");
23238    var a,
23239      i,
23240      s,
23241      r = l(),
23242      n = r.getComputedStyle(e, null);
23243    return (
23244      r.WebKitCSSMatrix
23245        ? ((i = n.transform || n.webkitTransform).split(",").length > 6 &&
23246            (i = i
23247              .split(", ")
23248              .map(function (e) {
23249                return e.replace(",", ".");
23250              })
23251              .join(", ")),
23252          (s = new r.WebKitCSSMatrix("none" === i ? "" : i)))
23253        : (a = (s =
23254            n.MozTransform ||
23255            n.OTransform ||
23256            n.MsTransform ||
23257            n.msTransform ||
23258            n.transform ||
23259            n
23260              .getPropertyValue("transform")
23261              .replace("translate(", "matrix(1, 0, 0, 1,"))
23262            .toString()
23263            .split(",")),
23264      "x" === t &&
23265        (i = r.WebKitCSSMatrix
23266          ? s.m41
23267          : 16 === a.length
23268          ? parseFloat(a[12])
23269          : parseFloat(a[4])),
23270      "y" === t &&
23271        (i = r.WebKitCSSMatrix
23272          ? s.m42
23273          : 16 === a.length
23274          ? parseFloat(a[13])
23275          : parseFloat(a[5])),
23276      i || 0
23277    );
23278  }
23279  function C(e) {
23280    return (
23281      "object" == typeof e &&
23282      null !== e &&
23283      e.constructor &&
23284      e.constructor === Object
23285    );
23286  }
23287  function S() {
23288    for (
23289      var e = Object(arguments.length <= 0 ? void 0 : arguments[0]), t = 1;
23290      t < arguments.length;
23291      t += 1
23292    ) {
23293      var a = t < 0 || arguments.length <= t ? void 0 : arguments[t];
23294      if (null != a)
23295        for (
23296          var i = Object.keys(Object(a)), s = 0, r = i.length;
23297          s < r;
23298          s += 1
23299        ) {
23300          var n = i[s],
23301            l = Object.getOwnPropertyDescriptor(a, n);
23302          void 0 !== l &&
23303            l.enumerable &&
23304            (C(e[n]) && C(a[n])
23305              ? S(e[n], a[n])
23306              : !C(e[n]) && C(a[n])
23307              ? ((e[n] = {}), S(e[n], a[n]))
23308              : (e[n] = a[n]));
23309        }
23310    }
23311    return e;
23312  }
23313  function M(e, t) {
23314    Object.keys(t).forEach(function (a) {
23315      C(t[a]) &&
23316        Object.keys(t[a]).forEach(function (i) {
23317          "function" == typeof t[a][i] && (t[a][i] = t[a][i].bind(e));
23318        }),
23319        (e[a] = t[a]);
23320    });
23321  }
23322  function z() {
23323    return (
23324      g ||
23325        (g = (function () {
23326          var e = l(),
23327            t = r();
23328          return {
23329            touch: !!(
23330              "ontouchstart" in e ||
23331              (e.DocumentTouch && t instanceof e.DocumentTouch)
23332            ),
23333            pointerEvents:
23334              !!e.PointerEvent &&
23335              "maxTouchPoints" in e.navigator &&
23336              e.navigator.maxTouchPoints >= 0,
23337            observer: "MutationObserver" in e || "WebkitMutationObserver" in e,
23338            passiveListener: (function () {
23339              var t = !1;
23340              try {
23341                var a = Object.defineProperty({}, "passive", {
23342                  get: function () {
23343                    t = !0;
23344                  },
23345                });
23346                e.addEventListener("testPassiveListener", null, a);
23347              } catch (e) {}
23348              return t;
23349            })(),
23350            gestures: "ongesturestart" in e,
23351          };
23352        })()),
23353      g
23354    );
23355  }
23356  function P(e) {
23357    return (
23358      void 0 === e && (e = {}),
23359      b ||
23360        (b = (function (e) {
23361          var t = (void 0 === e ? {} : e).userAgent,
23362            a = z(),
23363            i = l(),
23364            s = i.navigator.platform,
23365            r = t || i.navigator.userAgent,
23366            n = { ios: !1, android: !1 },
23367            o = i.screen.width,
23368            d = i.screen.height,
23369            p = r.match(/(Android);?[\s\/]+([\d.]+)?/),
23370            c = r.match(/(iPad).*OS\s([\d_]+)/),
23371            u = r.match(/(iPod)(.*OS\s([\d_]+))?/),
23372            h = !c && r.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
23373            v = "Win32" === s,
23374            f = "MacIntel" === s;
23375          return (
23376            !c &&
23377              f &&
23378              a.touch &&
23379              [
23380                "1024x1366",
23381                "1366x1024",
23382                "834x1194",
23383                "1194x834",
23384                "834x1112",
23385                "1112x834",
23386                "768x1024",
23387                "1024x768",
23388                "820x1180",
23389                "1180x820",
23390                "810x1080",
23391                "1080x810",
23392              ].indexOf(o + "x" + d) >= 0 &&
23393              ((c = r.match(/(Version)\/([\d.]+)/)) || (c = [0, 1, "13_0_0"]),
23394              (f = !1)),
23395            p && !v && ((n.os = "android"), (n.android = !0)),
23396            (c || h || u) && ((n.os = "ios"), (n.ios = !0)),
23397            n
23398          );
23399        })(e)),
23400      b
23401    );
23402  }
23403  function k() {
23404    return (
23405      w ||
23406        (w = (function () {
23407          var e,
23408            t = l();
23409          return {
23410            isEdge: !!t.navigator.userAgent.match(/Edge/g),
23411            isSafari:
23412              ((e = t.navigator.userAgent.toLowerCase()),
23413              e.indexOf("safari") >= 0 &&
23414                e.indexOf("chrome") < 0 &&
23415                e.indexOf("android") < 0),
23416            isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
23417              t.navigator.userAgent
23418            ),
23419          };
23420        })()),
23421      w
23422    );
23423  }
23424  Object.keys(y).forEach(function (e) {
23425    m.fn[e] = y[e];
23426  });
23427  var L = {
23428      name: "resize",
23429      create: function () {
23430        var e = this;
23431        S(e, {
23432          resize: {
23433            observer: null,
23434            createObserver: function () {
23435              e &&
23436                !e.destroyed &&
23437                e.initialized &&
23438                ((e.resize.observer = new ResizeObserver(function (t) {
23439                  var a = e.width,
23440                    i = e.height,
23441                    s = a,
23442                    r = i;
23443                  t.forEach(function (t) {
23444                    var a = t.contentBoxSize,
23445                      i = t.contentRect,
23446                      n = t.target;
23447                    (n && n !== e.el) ||
23448                      ((s = i ? i.width : (a[0] || a).inlineSize),
23449                      (r = i ? i.height : (a[0] || a).blockSize));
23450                  }),
23451                    (s === a && r === i) || e.resize.resizeHandler();
23452                })),
23453                e.resize.observer.observe(e.el));
23454            },
23455            removeObserver: function () {
23456              e.resize.observer &&
23457                e.resize.observer.unobserve &&
23458                e.el &&
23459                (e.resize.observer.unobserve(e.el), (e.resize.observer = null));
23460            },
23461            resizeHandler: function () {
23462              e &&
23463                !e.destroyed &&
23464                e.initialized &&
23465                (e.emit("beforeResize"), e.emit("resize"));
23466            },
23467            orientationChangeHandler: function () {
23468              e && !e.destroyed && e.initialized && e.emit("orientationchange");
23469            },
23470          },
23471        });
23472      },
23473      on: {
23474        init: function (e) {
23475          var t = l();
23476          e.params.resizeObserver && void 0 !== l().ResizeObserver
23477            ? e.resize.createObserver()
23478            : (t.addEventListener("resize", e.resize.resizeHandler),
23479              t.addEventListener(
23480                "orientationchange",
23481                e.resize.orientationChangeHandler
23482              ));
23483        },
23484        destroy: function (e) {
23485          var t = l();
23486          e.resize.removeObserver(),
23487            t.removeEventListener("resize", e.resize.resizeHandler),
23488            t.removeEventListener(
23489              "orientationchange",
23490              e.resize.orientationChangeHandler
23491            );
23492        },
23493      },
23494    },
23495    $ = {
23496      attach: function (e, t) {
23497        void 0 === t && (t = {});
23498        var a = l(),
23499          i = this,
23500          s = new (a.MutationObserver || a.WebkitMutationObserver)(function (
23501            e
23502          ) {
23503            if (1 !== e.length) {
23504              var t = function () {
23505                i.emit("observerUpdate", e[0]);
23506              };
23507              a.requestAnimationFrame
23508                ? a.requestAnimationFrame(t)
23509                : a.setTimeout(t, 0);
23510            } else i.emit("observerUpdate", e[0]);
23511          });
23512        s.observe(e, {
23513          attributes: void 0 === t.attributes || t.attributes,
23514          childList: void 0 === t.childList || t.childList,
23515          characterData: void 0 === t.characterData || t.characterData,
23516        }),
23517          i.observer.observers.push(s);
23518      },
23519      init: function () {
23520        var e = this;
23521        if (e.support.observer && e.params.observer) {
23522          if (e.params.observeParents)
23523            for (var t = e.$el.parents(), a = 0; a < t.length; a += 1)
23524              e.observer.attach(t[a]);
23525          e.observer.attach(e.$el[0], {
23526            childList: e.params.observeSlideChildren,
23527          }),
23528            e.observer.attach(e.$wrapperEl[0], { attributes: !1 });
23529        }
23530      },
23531      destroy: function () {
23532        this.observer.observers.forEach(function (e) {
23533          e.disconnect();
23534        }),
23535          (this.observer.observers = []);
23536      },
23537    },
23538    I = {
23539      name: "observer",
23540      params: { observer: !1, observeParents: !1, observeSlideChildren: !1 },
23541      create: function () {
23542        M(this, { observer: t({}, $, { observers: [] }) });
23543      },
23544      on: {
23545        init: function (e) {
23546          e.observer.init();
23547        },
23548        destroy: function (e) {
23549          e.observer.destroy();
23550        },
23551      },
23552    };
23553  function O(e) {
23554    var t = this,
23555      a = r(),
23556      i = l(),
23557      s = t.touchEventsData,
23558      n = t.params,
23559      o = t.touches;
23560    if (!t.animating || !n.preventInteractionOnTransition) {
23561      var d = e;
23562      d.originalEvent && (d = d.originalEvent);
23563      var p = m(d.target);
23564      if ("wrapper" !== n.touchEventsTarget || p.closest(t.wrapperEl).length)
23565        if (
23566          ((s.isTouchEvent = "touchstart" === d.type),
23567          s.isTouchEvent || !("which" in d) || 3 !== d.which)
23568        )
23569          if (!(!s.isTouchEvent && "button" in d && d.button > 0))
23570            if (!s.isTouched || !s.isMoved)
23571              if (
23572                (!!n.noSwipingClass &&
23573                  "" !== n.noSwipingClass &&
23574                  d.target &&
23575                  d.target.shadowRoot &&
23576                  e.path &&
23577                  e.path[0] &&
23578                  (p = m(e.path[0])),
23579                n.noSwiping &&
23580                  p.closest(
23581                    n.noSwipingSelector
23582                      ? n.noSwipingSelector
23583                      : "." + n.noSwipingClass
23584                  )[0])
23585              )
23586                t.allowClick = !0;
23587              else if (!n.swipeHandler || p.closest(n.swipeHandler)[0]) {
23588                (o.currentX =
23589                  "touchstart" === d.type ? d.targetTouches[0].pageX : d.pageX),
23590                  (o.currentY =
23591                    "touchstart" === d.type
23592                      ? d.targetTouches[0].pageY
23593                      : d.pageY);
23594                var c = o.currentX,
23595                  u = o.currentY,
23596                  h = n.edgeSwipeDetection || n.iOSEdgeSwipeDetection,
23597                  v = n.edgeSwipeThreshold || n.iOSEdgeSwipeThreshold;
23598                if (h && (c <= v || c >= i.innerWidth - v)) {
23599                  if ("prevent" !== h) return;
23600                  e.preventDefault();
23601                }
23602                if (
23603                  (S(s, {
23604                    isTouched: !0,
23605                    isMoved: !1,
23606                    allowTouchCallbacks: !0,
23607                    isScrolling: void 0,
23608                    startMoving: void 0,
23609                  }),
23610                  (o.startX = c),
23611                  (o.startY = u),
23612                  (s.touchStartTime = x()),
23613                  (t.allowClick = !0),
23614                  t.updateSize(),
23615                  (t.swipeDirection = void 0),
23616                  n.threshold > 0 && (s.allowThresholdMove = !1),
23617                  "touchstart" !== d.type)
23618                ) {
23619                  var f = !0;
23620                  p.is(s.formElements) && (f = !1),
23621                    a.activeElement &&
23622                      m(a.activeElement).is(s.formElements) &&
23623                      a.activeElement !== p[0] &&
23624                      a.activeElement.blur();
23625                  var g = f && t.allowTouchMove && n.touchStartPreventDefault;
23626                  (!n.touchStartForcePreventDefault && !g) ||
23627                    p[0].isContentEditable ||
23628                    d.preventDefault();
23629                }
23630                t.emit("touchStart", d);
23631              }
23632    }
23633  }
23634  function A(e) {
23635    var t = r(),
23636      a = this,
23637      i = a.touchEventsData,
23638      s = a.params,
23639      n = a.touches,
23640      l = a.rtlTranslate,
23641      o = e;
23642    if ((o.originalEvent && (o = o.originalEvent), i.isTouched)) {
23643      if (!i.isTouchEvent || "touchmove" === o.type) {
23644        var d =
23645            "touchmove" === o.type &&
23646            o.targetTouches &&
23647            (o.targetTouches[0] || o.changedTouches[0]),
23648          p = "touchmove" === o.type ? d.pageX : o.pageX,
23649          c = "touchmove" === o.type ? d.pageY : o.pageY;
23650        if (o.preventedByNestedSwiper)
23651          return (n.startX = p), void (n.startY = c);
23652        if (!a.allowTouchMove)
23653          return (
23654            (a.allowClick = !1),
23655            void (
23656              i.isTouched &&
23657              (S(n, { startX: p, startY: c, currentX: p, currentY: c }),
23658              (i.touchStartTime = x()))
23659            )
23660          );
23661        if (i.isTouchEvent && s.touchReleaseOnEdges && !s.loop)
23662          if (a.isVertical()) {
23663            if (
23664              (c < n.startY && a.translate <= a.maxTranslate()) ||
23665              (c > n.startY && a.translate >= a.minTranslate())
23666            )
23667              return (i.isTouched = !1), void (i.isMoved = !1);
23668          } else if (
23669            (p < n.startX && a.translate <= a.maxTranslate()) ||
23670            (p > n.startX && a.translate >= a.minTranslate())
23671          )
23672            return;
23673        if (
23674          i.isTouchEvent &&
23675          t.activeElement &&
23676          o.target === t.activeElement &&
23677          m(o.target).is(i.formElements)
23678        )
23679          return (i.isMoved = !0), void (a.allowClick = !1);
23680        if (
23681          (i.allowTouchCallbacks && a.emit("touchMove", o),
23682          !(o.targetTouches && o.targetTouches.length > 1))
23683        ) {
23684          (n.currentX = p), (n.currentY = c);
23685          var u = n.currentX - n.startX,
23686            h = n.currentY - n.startY;
23687          if (
23688            !(
23689              a.params.threshold &&
23690              Math.sqrt(Math.pow(u, 2) + Math.pow(h, 2)) < a.params.threshold
23691            )
23692          ) {
23693            var v;
23694            if (void 0 === i.isScrolling)
23695              (a.isHorizontal() && n.currentY === n.startY) ||
23696              (a.isVertical() && n.currentX === n.startX)
23697                ? (i.isScrolling = !1)
23698                : u * u + h * h >= 25 &&
23699                  ((v = (180 * Math.atan2(Math.abs(h), Math.abs(u))) / Math.PI),
23700                  (i.isScrolling = a.isHorizontal()
23701                    ? v > s.touchAngle
23702                    : 90 - v >
23702 s.touchAngle));
23703            if (
23704              (i.isScrolling && a.emit("touchMoveOpposite", o),
23705              void 0 === i.startMoving &&
23706                ((n.currentX === n.startX && n.currentY === n.startY) ||
23707                  (i.startMoving = !0)),
23708              i.isScrolling)
23709            )
23710              i.isTouched = !1;
23711            else if (i.startMoving) {
23712              (a.allowClick = !1),
23713                !s.cssMode && o.cancelable && o.preventDefault(),
23714                s.touchMoveStopPropagation && !s.nested && o.stopPropagation(),
23715                i.isMoved ||
23716                  (s.loop && a.loopFix(),
23717                  (i.startTranslate = a.getTranslate()),
23718                  a.setTransition(0),
23719                  a.animating &&
23720                    a.$wrapperEl.trigger("webkitTransitionEnd transitionend"),
23721                  (i.allowMomentumBounce = !1),
23722                  !s.grabCursor ||
23723                    (!0 !== a.allowSlideNext && !0 !== a.allowSlidePrev) ||
23724                    a.setGrabCursor(!0),
23725                  a.emit("sliderFirstMove", o)),
23726                a.emit("sliderMove", o),
23727                (i.isMoved = !0);
23728              var f = a.isHorizontal() ? u : h;
23729              (n.diff = f),
23730                (f *= s.touchRatio),
23731                l && (f = -f),
23732                (a.swipeDirection = f > 0 ? "prev" : "next"),
23733                (i.currentTranslate = f + i.startTranslate);
23734              var g = !0,
23735                b = s.resistanceRatio;
23736              if (
23737                (s.touchReleaseOnEdges && (b = 0),
23738                f > 0 && i.currentTranslate > a.minTranslate()
23739                  ? ((g = !1),
23740                    s.resistance &&
23741                      (i.currentTranslate =
23742                        a.minTranslate() -
23743                        1 +
23744                        Math.pow(-a.minTranslate() + i.startTranslate + f, b)))
23745                  : f < 0 &&
23746                    i.currentTranslate < a.maxTranslate() &&
23747                    ((g = !1),
23748                    s.resistance &&
23749                      (i.currentTranslate =
23750                        a.maxTranslate() +
23751                        1 -
23752                        Math.pow(a.maxTranslate() - i.startTranslate - f, b))),
23753                g && (o.preventedByNestedSwiper = !0),
23754                !a.allowSlideNext &&
23755                  "next" === a.swipeDirection &&
23756                  i.currentTranslate < i.startTranslate &&
23757                  (i.currentTranslate = i.startTranslate),
23758                !a.allowSlidePrev &&
23759                  "prev" === a.swipeDirection &&
23760                  i.currentTranslate > i.startTranslate &&
23761                  (i.currentTranslate = i.startTranslate),
23762                a.allowSlidePrev ||
23763                  a.allowSlideNext ||
23764                  (i.currentTranslate = i.startTranslate),
23765                s.threshold > 0)
23766              ) {
23767                if (!(Math.abs(f) > s.threshold || i.allowThresholdMove))
23768                  return void (i.currentTranslate = i.startTranslate);
23769                if (!i.allowThresholdMove)
23770                  return (
23771                    (i.allowThresholdMove = !0),
23772                    (n.startX = n.currentX),
23773                    (n.startY = n.currentY),
23774                    (i.currentTranslate = i.startTranslate),
23775                    void (n.diff = a.isHorizontal()
23776                      ? n.currentX - n.startX
23777                      : n.currentY - n.startY)
23778                  );
23779              }
23780              s.followFinger &&
23781                !s.cssMode &&
23782                ((s.freeMode ||
23783                  s.watchSlidesProgress ||
23784                  s.watchSlidesVisibility) &&
23785                  (a.updateActiveIndex(), a.updateSlidesClasses()),
23786                s.freeMode &&
23787                  (0 === i.velocities.length &&
23788                    i.velocities.push({
23789                      position: n[a.isHorizontal() ? "startX" : "startY"],
23790                      time: i.touchStartTime,
23791                    }),
23792                  i.velocities.push({
23793                    position: n[a.isHorizontal() ? "currentX" : "currentY"],
23794                    time: x(),
23795                  })),
23796                a.updateProgress(i.currentTranslate),
23797                a.setTranslate(i.currentTranslate));
23798            }
23799          }
23800        }
23801      }
23802    } else i.startMoving && i.isScrolling && a.emit("touchMoveOpposite", o);
23803  }
23804  function D(e) {
23805    var t = this,
23806      a = t.touchEventsData,
23807      i = t.params,
23808      s = t.touches,
23809      r = t.rtlTranslate,
23810      n = t.$wrapperEl,
23811      l = t.slidesGrid,
23812      o = t.snapGrid,
23813      d = e;
23814    if (
23815      (d.originalEvent && (d = d.originalEvent),
23816      a.allowTouchCallbacks && t.emit("touchEnd", d),
23817      (a.allowTouchCallbacks = !1),
23818      !a.isTouched)
23819    )
23820      return (
23821        a.isMoved && i.grabCursor && t.setGrabCursor(!1),
23822        (a.isMoved = !1),
23823        void (a.startMoving = !1)
23824      );
23825    i.grabCursor &&
23826      a.isMoved &&
23827      a.isTouched &&
23828      (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) &&
23829      t.setGrabCursor(!1);
23830    var p,
23831      c = x(),
23832      u = c - a.touchStartTime;
23833    if (
23834      (t.allowClick &&
23835        (t.updateClickedSlide(d),
23836        t.emit("tap click", d),
23837        u < 300 &&
23838          c - a.lastClickTime < 300 &&
23839          t.emit("doubleTap doubleClick", d)),
23840      (a.lastClickTime = x()),
23841      E(function () {
23842        t.destroyed || (t.allowClick = !0);
23843      }),
23844      !a.isTouched ||
23845        !a.isMoved ||
23846        !t.swipeDirection ||
23847        0 === s.diff ||
23848        a.currentTranslate === a.startTranslate)
23849    )
23850      return (a.isTouched = !1), (a.isMoved = !1), void (a.startMoving = !1);
23851    if (
23852      ((a.isTouched = !1),
23853      (a.isMoved = !1),
23854      (a.startMoving = !1),
23855      (p = i.followFinger
23856        ? r
23857          ? t.translate
23858          : -t.translate
23859        : -a.currentTranslate),
23860      !i.cssMode)
23861    )
23862      if (i.freeMode) {
23863        if (p < -t.minTranslate()) return void t.slideTo(t.activeIndex);
23864        if (p > -t.maxTranslate())
23865          return void (t.slides.length < o.length
23866            ? t.slideTo(o.length - 1)
23867            : t.slideTo(t.slides.length - 1));
23868        if (i.freeModeMomentum) {
23869          if (a.velocities.length > 1) {
23870            var h = a.velocities.pop(),
23871              v = a.velocities.pop(),
23872              f = h.position - v.position,
23873              m = h.time - v.time;
23874            (t.velocity = f / m),
23875              (t.velocity /= 2),
23876              Math.abs(t.velocity) < i.freeModeMinimumVelocity &&
23877                (t.velocity = 0),
23878              (m > 150 || x() - h.time > 300) && (t.velocity = 0);
23879          } else t.velocity = 0;
23880          (t.velocity *= i.freeModeMomentumVelocityRatio),
23881            (a.velocities.length = 0);
23882          var g = 1e3 * i.freeModeMomentumRatio,
23883            b = t.velocity * g,
23884            w = t.translate + b;
23885          r && (w = -w);
23886          var y,
23887            T,
23888            C = !1,
23889            S = 20 * Math.abs(t.velocity) * i.freeModeMomentumBounceRatio;
23890          if (w < t.maxTranslate())
23891            i.freeModeMomentumBounce
23892              ? (w + t.maxTranslate() < -S && (w = t.maxTranslate() - S),
23893                (y = t.maxTranslate()),
23894                (C = !0),
23895                (a.allowMomentumBounce = !0))
23896              : (w = t.maxTranslate()),
23897              i.loop && i.centeredSlides && (T = !0);
23898          else if (w > t.minTranslate())
23899            i.freeModeMomentumBounce
23900              ? (w - t.minTranslate() > S && (w = t.minTranslate() + S),
23901                (y = t.minTranslate()),
23902                (C = !0),
23903                (a.allowMomentumBounce = !0))
23904              : (w = t.minTranslate()),
23905              i.loop && i.centeredSlides && (T = !0);
23906          else if (i.freeModeSticky) {
23907            for (var M, z = 0; z < o.length; z += 1)
23908              if (o[z] > -w) {
23909                M = z;
23910                break;
23911              }
23912            w = -(w =
23913              Math.abs(o[M] - w) < Math.abs(o[M - 1] - w) ||
23914              "next" === t.swipeDirection
23915                ? o[M]
23916                : o[M - 1]);
23917          }
23918          if (
23919            (T &&
23920              t.once("transitionEnd", function () {
23921                t.loopFix();
23922              }),
23923            0 !== t.velocity)
23924          ) {
23925            if (
23926              ((g = r
23927                ? Math.abs((-w - t.translate) / t.velocity)
23928                : Math.abs((w - t.translate) / t.velocity)),
23929              i.freeModeSticky)
23930            ) {
23931              var P = Math.abs((r ? -w : w) - t.translate),
23932                k = t.slidesSizesGrid[t.activeIndex];
23933              g = P < k ? i.speed : P < 2 * k ? 1.5 * i.speed : 2.5 * i.speed;
23934            }
23935          } else if (i.freeModeSticky) return void t.slideToClosest();
23936          i.freeModeMomentumBounce && C
23937            ? (t.updateProgress(y),
23938              t.setTransition(g),
23939              t.setTranslate(w),
23940              t.transitionStart(!0, t.swipeDirection),
23941              (t.animating = !0),
23942              n.transitionEnd(function () {
23943                t &&
23944                  !t.destroyed &&
23945                  a.allowMomentumBounce &&
23946                  (t.emit("momentumBounce"),
23947                  t.setTransition(i.speed),
23948                  setTimeout(function () {
23949                    t.setTranslate(y),
23950                      n.transitionEnd(function () {
23951                        t && !t.destroyed && t.transitionEnd();
23952                      });
23953                  }, 0));
23954              }))
23955            : t.velocity
23956            ? (t.updateProgress(w),
23957              t.setTransition(g),
23958              t.setTranslate(w),
23959              t.transitionStart(!0, t.swipeDirection),
23960              t.animating ||
23961                ((t.animating = !0),
23962                n.transitionEnd(function () {
23963                  t && !t.destroyed && t.transitionEnd();
23964                })))
23965            : (t.emit("_freeModeNoMomentumRelease"), t.updateProgress(w)),
23966            t.updateActiveIndex(),
23967            t.updateSlidesClasses();
23968        } else {
23969          if (i.freeModeSticky) return void t.slideToClosest();
23970          i.freeMode && t.emit("_freeModeNoMomentumRelease");
23971        }
23972        (!i.freeModeMomentum || u >= i.longSwipesMs) &&
23973          (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses());
23974      } else {
23975        for (
23976          var L = 0, $ = t.slidesSizesGrid[0], I = 0;
23977          I < l.length;
23978          I += I < i.slidesPerGroupSkip ? 1 : i.slidesPerGroup
23979        ) {
23980          var O = I < i.slidesPerGroupSkip - 1 ? 1 : i.slidesPerGroup;
23981          void 0 !== l[I + O]
23982            ? p >= l[I] && p < l[I + O] && ((L = I), ($ = l[I + O] - l[I]))
23983            : p >= l[I] && ((L = I), ($ = l[l.length - 1] - l[l.length - 2]));
23984        }
23985        var A = (p - l[L]) / $,
23986          D = L < i.slidesPerGroupSkip - 1 ? 1 : i.slidesPerGroup;
23987        if (u > i.longSwipesMs) {
23988          if (!i.longSwipes) return void t.slideTo(t.activeIndex);
23989          "next" === t.swipeDirection &&
23990            (A >= i.longSwipesRatio ? t.slideTo(L + D) : t.slideTo(L)),
23991            "prev" === t.swipeDirection &&
23992              (A > 1 - i.longSwipesRatio ? t.slideTo(L + D) : t.slideTo(L));
23993        } else {
23994          if (!i.shortSwipes) return void t.slideTo(t.activeIndex);
23995          t.navigation &&
23996          (d.target === t.navigation.nextEl || d.target === t.navigation.prevEl)
23997            ? d.target === t.navigation.nextEl
23998              ? t.slideTo(L + D)
23999              : t.slideTo(L)
24000            : ("next" === t.swipeDirection && t.slideTo(L + D),
24001              "prev" === t.swipeDirection && t.slideTo(L));
24002        }
24003      }
24004  }
24005  function N() {
24006    var e = this,
24007      t = e.params,
24008      a = e.el;
24009    if (!a || 0 !== a.offsetWidth) {
24010      t.breakpoints && e.setBreakpoint();
24011      var i = e.allowSlideNext,
24012        s = e.allowSlidePrev,
24013        r = e.snapGrid;
24014      (e.allowSlideNext = !0),
24015        (e.allowSlidePrev = !0),
24016        e.updateSize(),
24017        e.updateSlides(),
24018        e.updateSlidesClasses(),
24019        ("auto" === t.slidesPerView || t.slidesPerView > 1) &&
24020        e.isEnd &&
24021        !e.isBeginning &&
24022        !e.params.centeredSlides
24023          ? e.slideTo(e.slides.length - 1, 0, !1, !0)
24024          : e.slideTo(e.activeIndex, 0, !1, !0),
24025        e.autoplay &&
24026          e.autoplay.running &&
24027          e.autoplay.paused &&
24028          e.autoplay.run(),
24029        (e.allowSlidePrev = s),
24030        (e.allowSlideNext = i),
24031        e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow();
24032    }
24033  }
24034  function G(e) {
24035    var t = this;
24036    t.allowClick ||
24037      (t.params.preventClicks && e.preventDefault(),
24038      t.params.preventClicksPropagation &&
24039        t.animating &&
24040        (e.stopPropagation(), e.stopImmediatePropagation()));
24041  }
24042  function B() {
24043    var e = this,
24044      t = e.wrapperEl,
24045      a = e.rtlTranslate;
24046    (e.previousTranslate = e.translate),
24047      e.isHorizontal()
24048        ? (e.translate = a
24049            ? t.scrollWidth - t.offsetWidth - t.scrollLeft
24050            : -t.scrollLeft)
24051        : (e.translate = -t.scrollTop),
24052      -0 === e.translate && (e.translate = 0),
24053      e.updateActiveIndex(),
24054      e.updateSlidesClasses();
24055    var i = e.maxTranslate() - e.minTranslate();
24056    (0 === i ? 0 : (e.translate - e.minTranslate()) / i) !== e.progress &&
24057      e.updateProgress(a ? -e.translate : e.translate),
24058      e.emit("setTranslate", e.translate, !1);
24059  }
24060  var H = !1;
24061  function X() {}
24062  var Y = {
24063      init: !0,
24064      direction: "horizontal",
24065      touchEventsTarget: "container",
24066      initialSlide: 0,
24067      speed: 300,
24068      cssMode: !1,
24069      updateOnWindowResize: !0,
24070      resizeObserver: !1,
24071      nested: !1,
24072      width: null,
24073      height: null,
24074      preventInteractionOnTransition: !1,
24075      userAgent: null,
24076      url: null,
24077      edgeSwipeDetection: !1,
24078      edgeSwipeThreshold: 20,
24079      freeMode: !1,
24080      freeModeMomentum: !0,
24081      freeModeMomentumRatio: 1,
24082      freeModeMomentumBounce: !0,
24083      freeModeMomentumBounceRatio: 1,
24084      freeModeMomentumVelocityRatio: 1,
24085      freeModeSticky: !1,
24086      freeModeMinimumVelocity: 0.02,
24087      autoHeight: !1,
24088      setWrapperSize: !1,
24089      virtualTranslate: !1,
24090      effect: "slide",
24091      breakpoints: void 0,
24092      breakpointsBase: "window",
24093      spaceBetween: 0,
24094      slidesPerView: 1,
24095      slidesPerColumn: 1,
24096      slidesPerColumnFill: "column",
24097      slidesPerGroup: 1,
24098      slidesPerGroupSkip: 0,
24099      centeredSlides: !1,
24100      centeredSlidesBounds: !1,
24101      slidesOffsetBefore: 0,
24102      slidesOffsetAfter: 0,
24103      normalizeSlideIndex: !0,
24104      centerInsufficientSlides: !1,
24105      watchOverflow: !1,
24106      roundLengths: !1,
24107      touchRatio: 1,
24108      touchAngle: 45,
24109      simulateTouch: !0,
24110      shortSwipes: !0,
24111      longSwipes: !0,
24112      longSwipesRatio: 0.5,
24113      longSwipesMs: 300,
24114      followFinger: !0,
24115      allowTouchMove: !0,
24116      threshold: 0,
24117      touchMoveStopPropagation: !1,
24118      touchStartPreventDefault: !0,
24119      touchStartForcePreventDefault: !1,
24120      touchReleaseOnEdges: !1,
24121      uniqueNavElements: !0,
24122      resistance: !0,
24123      resistanceRatio: 0.85,
24124      watchSlidesProgress: !1,
24125      watchSlidesVisibility: !1,
24126      grabCursor: !1,
24127      preventClicks: !0,
24128      preventClicksPropagation: !0,
24129      slideToClickedSlide: !1,
24130      preloadImages: !0,
24131      updateOnImagesReady: !0,
24132      loop: !1,
24133      loopAdditionalSlides: 0,
24134      loopedSlides: null,
24135      loopFillGroupWithBlank: !1,
24136      loopPreventsSlide: !0,
24137      allowSlidePrev: !0,
24138      allowSlideNext: !0,
24139      swipeHandler: null,
24140      noSwiping: !0,
24141      noSwipingClass: "swiper-no-swiping",
24142      noSwipingSelector: null,
24143      passiveListeners: !0,
24144      containerModifierClass: "swiper-container-",
24145      slideClass: "swiper-slide",
24146      slideBlankClass: "swiper-slide-invisible-blank",
24147      slideActiveClass: "swiper-slide-active",
24148      slideDuplicateActiveClass: "swiper-slide-duplicate-active",
24149      slideVisibleClass: "swiper-slide-visible",
24150      slideDuplicateClass: "swiper-slide-duplicate",
24151      slideNextClass: "swiper-slide-next",
24152      slideDuplicateNextClass: "swiper-slide-duplicate-next",
24153      slidePrevClass: "swiper-slide-prev",
24154      slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
24155      wrapperClass: "swiper-wrapper",
24156      runCallbacksOnInit: !0,
24157      _emitClasses: !1,
24158    },
24159    R = {
24160      modular: {
24161        useParams: function (e) {
24162          var t = this;
24163          t.modules &&
24164            Object.keys(t.modules).forEach(function (a) {
24165              var i = t.modules[a];
24166              i.params && S(e, i.params);
24167            });
24168        },
24169        useModules: function (e) {
24170          void 0 === e && (e = {});
24171          var t = this;
24172          t.modules &&
24173            Object.keys(t.modules).forEach(function (a) {
24174              var i = t.modules[a],
24175                s = e[a] || {};
24176              i.on &&
24177                t.on &&
24178                Object.keys(i.on).forEach(function (e) {
24179                  t.on(e, i.on[e]);
24180                }),
24181                i.create && i.create.bind(t)(s);
24182            });
24183        },
24184      },
24185      eventsEmitter: {
24186        on: function (e, t, a) {
24187          var i = this;
24188          if ("function" != typeof t) return i;
24189          var s = a ? "unshift" : "push";
24190          return (
24191            e.split(" ").forEach(function (e) {
24192              i.eventsListeners[e] || (i.eventsListeners[e] = []),
24193                i.eventsListeners[e][s](t);
24194            }),
24195            i
24196          );
24197        },
24198        once: function (e, t, a) {
24199          var i = this;
24200          if ("function" != typeof t) return i;
24201          function s() {
24202            i.off(e, s), s.__emitterProxy && delete s.__emitterProxy;
24203            for (var a = arguments.length, r = new Array(a), n = 0; n < a; n++)
24204              r[n] = arguments[n];
24205            t.apply(i, r);
24206          }
24207          return (s.__emitterProxy = t), i.on(e, s, a);
24208        },
24209        onAny: function (e, t) {
24210          var a = this;
24211          if ("function" != typeof e) return a;
24212          var i = t ? "unshift" : "push";
24213          return (
24214            a.eventsAnyListeners.indexOf(e) < 0 && a.eventsAnyListeners[i](e), a
24215          );
24216        },
24217        offAny: function (e) {
24218          var t = this;
24219          if (!t.eventsAnyListeners) return t;
24220          var a = t.eventsAnyListeners.indexOf(e);
24221          return a >= 0 && t.eventsAnyListeners.splice(a, 1), t;
24222        },
24223        off: function (e, t) {
24224          var a = this;
24225          return a.eventsListeners
24226            ? (e.split(" ").forEach(function (e) {
24227                void 0 === t
24228                  ? (a.eventsListeners[e] = [])
24229                  : a.eventsListeners[e] &&
24230                    a.eventsListeners[e].forEach(function (i, s) {
24231                      (i === t ||
24232                        (i.__emitterProxy && i.__emitterProxy === t)) &&
24233                        a.eventsListeners[e].splice(s, 1);
24234                    });
24235              }),
24236              a)
24237            : a;
24238        },
24239        emit: function () {
24240          var e,
24241            t,
24242            a,
24243            i = this;
24244          if (!i.eventsListeners) return i;
24245          for (var s = arguments.length, r = new Array(s), n = 0; n < s; n++)
24246            r[n] = arguments[n];
24247          "string" == typeof r[0] || Array.isArray(r[0])
24248            ? ((e = r[0]), (t = r.slice(1, r.length)), (a = i))
24249            : ((e = r[0].events), (t = r[0].data), (a = r[0].context || i)),
24250            t.unshift(a);
24251          var l = Array.isArray(e) ? e : e.split(" ");
24252          return (
24253            l.forEach(function (e) {
24254              i.eventsAnyListeners &&
24255                i.eventsAnyListeners.length &&
24256                i.eventsAnyListeners.forEach(function (i) {
24257                  i.apply(a, [e].concat(t));
24258                }),
24259                i.eventsListeners &&
24260                  i.eventsListeners[e] &&
24261                  i.eventsListeners[e].forEach(function (e) {
24262                    e.apply(a, t);
24263                  });
24264            }),
24265            i
24266          );
24267        },
24268      },
24269      update: {
24270        updateSize: function () {
24271          var e,
24272            t,
24273            a = this,
24274            i = a.$el;
24275          (e =
24276            void 0 !== a.params.width && null !== a.params.width
24277              ? a.params.width
24278              : i[0].clientWidth),
24279            (t =
24280              void 0 !== a.params.height && null !== a.params.height
24281                ? a.params.height
24282                : i[0].clientHeight),
24283            (0 === e && a.isHorizontal()) ||
24284              (0 === t && a.isVertical()) ||
24285              ((e =
24286                e -
24287                parseInt(i.css("padding-left") || 0, 10) -
24288                parseInt(i.css("padding-right") || 0, 10)),
24289              (t =
24290                t -
24291                parseInt(i.css("padding-top") || 0, 10) -
24292                parseInt(i.css("padding-bottom") || 0, 10)),
24293              Number.isNaN(e) && (e = 0),
24294              Number.isNaN(t) && (t = 0),
24295              S(a, { width: e, height: t, size: a.isHorizontal() ? e : t }));
24296        },
24297        updateSlides: function () {
24298          var e = this,
24299            t = function (t) {
24300              return e.isHorizontal()
24301                ? t
24302                : {
24303                    width: "height",
24304                    "margin-top": "margin-left",
24305                    "margin-bottom ": "margin-right",
24306                    "margin-left": "margin-top",
24307                    "margin-right": "margin-bottom",
24308                    "padding-left": "padding-top",
24309                    "padding-right": "padding-bottom",
24310                    marginRight: "marginBottom",
24311                  }[t];
24312            },
24313            a = function (e, a) {
24314              return parseFloat(e.getPropertyValue(t(a)) || 0);
24315            },
24316            i = l(),
24317            s = e.params,
24318            r = e.$wrapperEl,
24319            n = e.size,
24320            o = e.rtlTranslate,
24321            d = e.wrongRTL,
24322            p = e.virtual && s.virtual.enabled,
24323            c = p ? e.virtual.slides.length : e.slides.length,
24324            u = r.children("." + e.params.slideClass),
24325            h = p ? e.virtual.slides.length : u.length,
24326            v = [],
24327            f = [],
24328            m = [],
24329            g = s.slidesOffsetBefore;
24330          "function" == typeof g && (g = s.slidesOffsetBefore.call(e));
24331          var b = s.slidesOffsetAfter;
24332          "function" == typeof b && (b = s.slidesOffsetAfter.call(e));
24333          var w = e.snapGrid.length,
24334            y = e.slidesGrid.length,
24335            E = s.spaceBetween,
24336            x = -g,
24337            T = 0,
24338            C = 0;
24339          if (void 0 !== n) {
24340            var M, z;
24341            "string" == typeof E &&
24342              E.indexOf("%") >= 0 &&
24343              (E = (parseFloat(E.replace("%", "")) / 100) * n),
24344              (e.virtualSize = -E),
24345              o
24346                ? u.css({ marginLeft: "", marginTop: "" })
24347                : u.css({ marginRight: "", marginBottom: "" }),
24348              s.slidesPerColumn > 1 &&
24349                ((M =
24350                  Math.floor(h / s.slidesPerColumn) ===
24351                  h / e.params.slidesPerColumn
24352                    ? h
24353                    : Math.ceil(h / s.slidesPerColumn) * s.slidesPerColumn),
24354                "auto" !== s.slidesPerView &&
24355                  "row" === s.slidesPerColumnFill &&
24356                  (M = Math.max(M, s.slidesPerView * s.slidesPerColumn)));
24357            for (
24358              var P,
24359                k,
24360                L,
24361                $ = s.slidesPerColumn,
24362                I = M / $,
24363                O = Math.floor(h / s.slidesPerColumn),
24364                A = 0;
24365              A < h;
24366              A += 1
24367            ) {
24368              z = 0;
24369              var D = u.eq(A);
24370              if (s.slidesPerColumn > 1) {
24371                var N = void 0,
24372                  G = void 0,
24373                  B = void 0;
24374                if ("row" === s.slidesPerColumnFill && s.slidesPerGroup > 1) {
24375                  var H = Math.floor(
24376                      A / (s.slidesPerGroup * s.slidesPerColumn)
24377                    ),
24378                    X = A - s.slidesPerColumn * s.slidesPerGroup * H,
24379                    Y =
24380                      0 === H
24381                        ? s.slidesPerGroup
24382                        : Math.min(
24383                            Math.ceil((h - H * $ * s.slidesPerGroup) / $),
24384                            s.slidesPerGroup
24385                          );
24386                  (N =
24387                    (G =
24388                      X - (B = Math.floor(X / Y)) * Y + H * s.slidesPerGroup) +
24389                    (B * M) / $),
24390                    D.css({
24391                      "-webkit-box-ordinal-group": N,
24392                      "-moz-box-ordinal-group": N,
24393                      "-ms-flex-order": N,
24394                      "-webkit-order": N,
24395                      order: N,
24396                    });
24397                } else
24398                  "column" === s.slidesPerColumnFill
24399                    ? ((B = A - (G = Math.floor(A / $)) * $),
24400                      (G > O || (G === O && B === $ - 1)) &&
24401                        (B += 1) >= $ &&
24402                        ((B = 0), (G += 1)))
24403                    : (G = A - (B = Math.floor(A / I)) * I);
24404                D.css(
24405                  t("margin-top"),
24406                  0 !== B && s.spaceBetween && s.spaceBetween + "px"
24407                );
24408              }
24409              if ("none" !== D.css("display")) {
24410                if ("auto" === s.slidesPerView) {
24411                  var R = i.getComputedStyle(D[0], null),
24412                    V = D[0].style.transform,
24413                    W = D[0].style.webkitTransform;
24414                  if (
24415                    (V && (D[0].style.transform = "none"),
24416                    W && (D[0].style.webkitTransform = "none"),
24417                    s.roundLengths)
24418                  )
24419                    z = e.isHorizontal() ? D.outerWidth(!0) : D.outerHeight(!0);
24420                  else {
24421                    var F = a(R, "width"),
24422                      q = a(R, "padding-left"),
24423                      j = a(R, "padding-right"),
24424                      _ = a(R, "margin-left"),
24425                      U = a(R, "margin-right"),
24426                      K = R.getPropertyValue(R, "box-sizing");
24427                    if (K && "border-box" === K) z = F + _ + U;
24428                    else {
24429                      var Z = D[0],
24430                        J = Z.clientWidth;
24431                      z = F + q + j + _ + U + (Z.offsetWidth - J);
24432                    }
24433                  }
24434                  V && (D[0].style.transform = V),
24435                    W && (D[0].style.webkitTransform = W),
24436                    s.roundLengths && (z = Math.floor(z));
24437                } else
24438                  (z = (n - (s.slidesPerView - 1) * E) / s.slidesPerView),
24439                    s.roundLengths && (z = Math.floor(z)),
24440                    u[A] && (u[A].style[t("width")] = z + "px");
24441                u[A] && (u[A].swiperSlideSize = z),
24442                  m.push(z),
24443                  s.centeredSlides
24444                    ? ((x = x + z / 2 + T / 2 + E),
24445                      0 === T && 0 !== A && (x = x - n / 2 - E),
24446                      0 === A && (x = x - n / 2 - E),
24447                      Math.abs(x) < 0.001 && (x = 0),
24448                      s.roundLengths && (x = Math.floor(x)),
24449                      C % s.slidesPerGroup == 0 && v.push(x),
24450                      f.push(x))
24451                    : (s.roundLengths && (x = Math.floor(x)),
24452                      (C - Math.min(e.params.slidesPerGroupSkip, C)) %
24453                        e.params.slidesPerGroup ==
24454                        0 && v.push(x),
24455                      f.push(x),
24456                      (x = x + z + E)),
24457                  (e.virtualSize += z + E),
24458                  (T = z),
24459                  (C += 1);
24460              }
24461            }
24462            if (
24463              ((e.virtualSize = Math.max(e.virtualSize, n) + b),
24464              o &&
24465                d &&
24466                ("slide" === s.effect || "coverflow" === s.effect) &&
24467                r.css({ width: e.virtualSize + s.spaceBetween + "px" }),
24468              s.setWrapperSize)
24469            )
24470              r.css(
24471                (((k = {})[t("width")] = e.virtualSize + s.spaceBetween + "px"),
24472                k)
24473              );
24474            if (s.slidesPerColumn > 1)
24475              if (
24476                ((e.virtualSize = (z + s.spaceBetween) * M),
24477                (e.virtualSize =
24478                  Math.ceil(e.virtualSize / s.slidesPerColumn) -
24479                  s.spaceBetween),
24480                r.css(
24481                  (((L = {})[t("width")] =
24482                    e.virtualSize + s.spaceBetween + "px"),
24483                  L)
24484                ),
24485                s.centeredSlides)
24486              ) {
24487                P = [];
24488                for (var Q = 0; Q < v.length; Q += 1) {
24489                  var ee = v[Q];
24490                  s.roundLengths && (ee = Math.floor(ee)),
24491                    v[Q] < e.virtualSize + v[0] && P.push(ee);
24492                }
24493                v = P;
24494              }
24495            if (!s.centeredSlides) {
24496              P = [];
24497              for (var te = 0; te < v.length; te += 1) {
24498                var ae = v[te];
24499                s.roundLengths && (ae = Math.floor(ae)),
24500                  v[te] <= e.virtualSize - n && P.push(ae);
24501              }
24502              (v = P),
24503                Math.floor(e.virtualSize - n) - Math.floor(v[v.length - 1]) >
24504                  1 && v.push(e.virtualSize - n);
24505            }
24506            if ((0 === v.length && (v = [0]), 0 !== s.spaceBetween)) {
24507              var ie,
24508                se = e.isHorizontal() && o ? "marginLeft" : t("marginRight");
24509              u.filter(function (e, t) {
24510                return !s.cssMode || t !== u.length - 1;
24511              }).css((((ie = {})[se] = E + "px"), ie));
24512            }
24513            if (s.centeredSlides && s.centeredSlidesBounds) {
24514              var re = 0;
24515              m.forEach(function (e) {
24516                re += e + (s.spaceBetween ? s.spaceBetween : 0);
24517              });
24518              var ne = (re -= s.spaceBetween) - n;
24519              v = v.map(function (e) {
24520                return e < 0 ? -g : e > ne ? ne + b : e;
24521              });
24522            }
24523            if (s.centerInsufficientSlides) {
24524              var le = 0;
24525              if (
24526                (m.forEach(function (e) {
24527                  le += e + (s.spaceBetween ? s.spaceBetween : 0);
24528                }),
24529                (le -= s.spaceBetween) < n)
24530              ) {
24531                var oe = (n - le) / 2;
24532                v.forEach(function (e, t) {
24533                  v[t] = e - oe;
24534                }),
24535                  f.forEach(function (e, t) {
24536                    f[t] = e + oe;
24537                  });
24538              }
24539            }
24540            S(e, { slides: u, snapGrid: v, slidesGrid: f, slidesSizesGrid: m }),
24541              h !== c && e.emit("slidesLengthChange"),
24542              v.length !== w &&
24543                (e.params.watchOverflow && e.checkOverflow(),
24544                e.emit("snapGridLengthChange")),
24545              f.length !== y && e.emit("slidesGridLengthChange"),
24546              (s.watchSlidesProgress || s.watchSlidesVisibility) &&
24547                e.updateSlidesOffset();
24548          }
24549        },
24550        updateAutoHeight: function (e) {
24551          var t,
24552            a = this,
24553            i = [],
24554            s = 0;
24555          if (
24556            ("number" == typeof e
24557              ? a.setTransition(e)
24558              : !0 === e && a.setTransition(a.params.speed),
24559            "auto" !== a.params.slidesPerView && a.params.slidesPerView > 1)
24560          )
24561            if (a.params.centeredSlides)
24562              a.visibleSlides.each(function (e) {
24563                i.push(e);
24564              });
24565            else
24566              for (t = 0; t < Math.ceil(a.params.slidesPerView); t += 1) {
24567                var r = a.activeIndex + t;
24568                if (r > a.slides.length) break;
24569                i.push(a.slides.eq(r)[0]);
24570              }
24571          else i.push(a.slides.eq(a.activeIndex)[0]);
24572          for (t = 0; t < i.length; t += 1)
24573            if (void 0 !== i[t]) {
24574              var n = i[t].offsetHeight;
24575              s = n > s ? n : s;
24576            }
24577          s && a.$wrapperEl.css("height", s + "px");
24578        },
24579        updateSlidesOffset: function () {
24580          for (var e = this.slides, t = 0; t < e.length; t += 1)
24581            e[t].swiperSlideOffset = this.isHorizontal()
24582              ? e[t].offsetLeft
24583              : e[t].offsetTop;
24584        },
24585        updateSlidesProgress: function (e) {
24586          void 0 === e && (e = (this && this.translate) || 0);
24587          var t = this,
24588            a = t.params,
24589            i = t.slides,
24590            s = t.rtlTranslate;
24591          if (0 !== i.length) {
24592            void 0 === i[0].swiperSlideOffset && t.updateSlidesOffset();
24593            var r = -e;
24594            s && (r = e),
24595              i.removeClass(a.slideVisibleClass),
24596              (t.visibleSlidesIndexes = []),
24597              (t.visibleSlides = []);
24598            for (var n = 0; n < i.length; n += 1) {
24599              var l = i[n],
24600                o =
24601                  (r +
24602                    (a.centeredSlides ? t.minTranslate() : 0) -
24603                    l.swiperSlideOffset) /
24604                  (l.swiperSlideSize + a.spaceBetween);
24605              if (
24606                a.watchSlidesVisibility ||
24607                (a.centeredSlides && a.autoHeight)
24608              ) {
24609                var d = -(r - l.swiperSlideOffset),
24610                  p = d + t.slidesSizesGrid[n];
24611                ((d >= 0 && d < t.size - 1) ||
24612                  (p > 1 && p <= t.size) ||
24613                  (d <= 0 && p >= t.size)) &&
24614                  (t.visibleSlides.push(l),
24615                  t.visibleSlidesIndexes.push(n),
24616                  i.eq(n).addClass(a.slideVisibleClass));
24617              }
24618              l.progress = s ? -o : o;
24619            }
24620            t.visibleSlides = m(t.visibleSlides);
24621          }
24622        },
24623        updateProgress: function (e) {
24624          var t = this;
24625          if (void 0 === e) {
24626            var a = t.rtlTranslate ? -1 : 1;
24627            e = (t && t.translate && t.translate * a) || 0;
24628          }
24629          var i = t.params,
24630            s = t.maxTranslate() - t.minTranslate(),
24631            r = t.progress,
24632            n = t.isBeginning,
24633            l = t.isEnd,
24634            o = n,
24635            d = l;
24636          0 === s
24637            ? ((r = 0), (n = !0), (l = !0))
24638            : ((n = (r = (e - t.minTranslate()) / s) <= 0), (l = r >= 1)),
24639            S(t, { progress: r, isBeginning: n, isEnd: l }),
24640            (i.watchSlidesProgress ||
24641              i.watchSlidesVisibility ||
24642              (i.centeredSlides && i.autoHeight)) &&
24643              t.updateSlidesProgress(e),
24644            n && !o && t.emit("reachBeginning toEdge"),
24645            l && !d && t.emit("reachEnd toEdge"),
24646            ((o && !n) || (d && !l)) && t.emit("fromEdge"),
24647            t.emit("progress", r);
24648        },
24649        updateSlidesClasses: function () {
24650          var e,
24651            t = this,
24652            a = t.slides,
24653            i = t.params,
24654            s = t.$wrapperEl,
24655            r = t.activeIndex,
24656            n = t.realIndex,
24657            l = t.virtual && i.virtual.enabled;
24658          a.removeClass(
24659            i.slideActiveClass +
24660              " " +
24661              i.slideNextClass +
24662              " " +
24663              i.slidePrevClass +
24664              " " +
24665              i.slideDuplicateActiveClass +
24666              " " +
24667              i.slideDuplicateNextClass +
24668              " " +
24669              i.slideDuplicatePrevClass
24670          ),
24671            (e = l
24672              ? t.$wrapperEl.find(
24673                  "." + i.slideClass + '[data-swiper-slide-index="' + r + '"]'
24674                )
24675              : a.eq(r)).addClass(i.slideActiveClass),
24676            i.loop &&
24677              (e.hasClass(i.slideDuplicateClass)
24678                ? s
24679                    .children(
24680                      "." +
24681                        i.slideClass +
24682                        ":not(." +
24683                        i.slideDuplicateClass +
24684                        ')[data-swiper-slide-index="' +
24685                        n +
24686                        '"]'
24687                    )
24688                    .addClass(i.slideDuplicateActiveClass)
24689                : s
24690                    .children(
24691                      "." +
24692                        i.slideClass +
24693                        "." +
24694                        i.slideDuplicateClass +
24695                        '[data-swiper-slide-index="' +
24696                        n +
24697                        '"]'
24698                    )
24699                    .addClass(i.slideDuplicateActiveClass));
24700          var o = e
24701            .nextAll("." + i.slideClass)
24702            .eq(0)
24703            .addClass(i.slideNextClass);
24704          i.loop && 0 === o.length && (o = a.eq(0)).addClass(i.slideNextClass);
24705          var d = e
24706            .prevAll("." + i.slideClass)
24707            .eq(0)
24708            .addClass(i.slidePrevClass);
24709          i.loop && 0 === d.length && (d = a.eq(-1)).addClass(i.slidePrevClass),
24710            i.loop &&
24711              (o.hasClass(i.slideDuplicateClass)
24712                ? s
24713                    .children(
24714                      "." +
24715                        i.slideClass +
24716                        ":not(." +
24717                        i.slideDuplicateClass +
24718                        ')[data-swiper-slide-index="' +
24719                        o.attr("data-swiper-slide-index") +
24720                        '"]'
24721                    )
24722                    .addClass(i.slideDuplicateNextClass)
24723                : s
24724                    .children(
24725                      "." +
24726                        i.slideClass +
24727                        "." +
24728                        i.slideDuplicateClass +
24729                        '[data-swiper-slide-index="' +
24730                        o.attr("data-swiper-slide-index") +
24731                        '"]'
24732                    )
24733                    .addClass(i.slideDuplicateNextClass),
24734              d.hasClass(i.slideDuplicateClass)
24735                ? s
24736                    .children(
24737                      "." +
24738                        i.slideClass +
24739                        ":not(." +
24740                        i.slideDuplicateClass +
24741                        ')[data-swiper-slide-index="' +
24742                        d.attr("data-swiper-slide-index") +
24743                        '"]'
24744                    )
24745                    .addClass(i.slideDuplicatePrevClass)
24746                : s
24747                    .children(
24748                      "." +
24749                        i.slideClass +
24750                        "." +
24751                        i.slideDuplicateClass +
24752                        '[data-swiper-slide-index="' +
24753                        d.attr("data-swiper-slide-index") +
24754                        '"]'
24755                    )
24756                    .addClass(i.slideDuplicatePrevClass)),
24757            t.emitSlidesClasses();
24758        },
24759        updateActiveIndex: function (e) {
24760          var t,
24761            a = this,
24762            i = a.rtlTranslate ? a.translate : -a.translate,
24763            s = a.slidesGrid,
24764            r = a.snapGrid,
24765            n = a.params,
24766            l = a.activeIndex,
24767            o = a.realIndex,
24768            d = a.snapIndex,
24769            p = e;
24770          if (void 0 === p) {
24771            for (var c = 0; c < s.length; c += 1)
24772              void 0 !== s[c + 1]
24773                ? i >= s[c] && i < s[c + 1] - (s[c + 1] - s[c]) / 2
24774                  ? (p = c)
24775                  : i >= s[c] && i < s[c + 1] && (p = c + 1)
24776                : i >= s[c] && (p = c);
24777            n.normalizeSlideIndex && (p < 0 || void 0 === p) && (p = 0);
24778          }
24779          if (r.indexOf(i) >= 0) t = r.indexOf(i);
24780          else {
24781            var u = Math.min(n.slidesPerGroupSkip, p);
24782            t = u + Math.floor((p - u) / n.slidesPerGroup);
24783          }
24784          if ((t >= r.length && (t = r.length - 1), p !== l)) {
24785            var h = parseInt(
24786              a.slides.eq(p).attr("data-swiper-slide-index") || p,
24787              10
24788            );
24789            S(a, {
24790              snapIndex: t,
24791              realIndex: h,
24792              previousIndex: l,
24793              activeIndex: p,
24794            }),
24795              a.emit("activeIndexChange"),
24796              a.emit("snapIndexChange"),
24797              o !== h && a.emit("realIndexChange"),
24798              (a.initialized || a.params.runCallbacksOnInit) &&
24799                a.emit("slideChange");
24800          } else t !== d && ((a.snapIndex = t), a.emit("snapIndexChange"));
24801        },
24802        updateClickedSlide: function (e) {
24803          var t,
24804            a = this,
24805            i = a.params,
24806            s = m(e.target).closest("." + i.slideClass)[0],
24807            r = !1;
24808          if (s)
24809            for (var n = 0; n < a.slides.length; n += 1)
24810              if (a.slides[n] === s) {
24811                (r = !0), (t = n);
24812                break;
24813              }
24814          if (!s || !r)
24815            return (a.clickedSlide = void 0), void (a.clickedIndex = void 0);
24816          (a.clickedSlide = s),
24817            a.virtual && a.params.virtual.enabled
24818              ? (a.clickedIndex = parseInt(
24819                  m(s).attr("data-swiper-slide-index"),
24820                  10
24821                ))
24822              : (a.clickedIndex = t),
24823            i.slideToClickedSlide &&
24824              void 0 !== a.clickedIndex &&
24825              a.clickedIndex !== a.activeIndex &&
24826              a.slideToClickedSlide();
24827        },
24828      },
24829      translate: {
24830        getTranslate: function (e) {
24831          void 0 === e && (e = this.isHorizontal() ? "x" : "y");
24832          var t = this,
24833            a = t.params,
24834            i = t.rtlTranslate,
24835            s = t.translate,
24836            r = t.$wrapperEl;
24837          if (a.virtualTranslate) return i ? -s : s;
24838          if (a.cssMode) return s;
24839          var n = T(r[0], e);
24840          return i && (n = -n), n || 0;
24841        },
24842        setTranslate: function (e, t) {
24843          var a = this,
24844            i = a.rtlTranslate,
24845            s = a.params,
24846            r = a.$wrapperEl,
24847            n = a.wrapperEl,
24848            l = a.progress,
24849            o = 0,
24850            d = 0;
24851          a.isHorizontal() ? (o = i ? -e : e) : (d = e),
24852            s.roundLengths && ((o = Math.floor(o)), (d = Math.floor(d))),
24853            s.cssMode
24854              ? (n[a.isHorizontal() ? "scrollLeft" : "scrollTop"] =
24855                  a.isHorizontal() ? -o : -d)
24856              : s.virtualTranslate ||
24857                r.transform("translate3d(" + o + "px, " + d + "px, 0px)"),
24858            (a.previousTranslate = a.translate),
24859            (a.translate = a.isHorizontal() ? o : d);
24860          var p = a.maxTranslate() - a.minTranslate();
24861          (0 === p ? 0 : (e - a.minTranslate()) / p) !== l &&
24862            a.updateProgress(e),
24863            a.emit("setTranslate", a.translate, t);
24864        },
24865        minTranslate: function () {
24866          return -this.snapGrid[0];
24867        },
24868        maxTranslate: function () {
24869          return -this.snapGrid[this.snapGrid.length - 1];
24870        },
24871        translateTo: function (e, t, a, i, s) {
24872          void 0 === e && (e = 0),
24873            void 0 === t && (t = this.params.speed),
24874            void 0 === a && (a = !0),
24875            void 0 === i && (i = !0);
24876          var r = this,
24877            n = r.params,
24878            l = r.wrapperEl;
24879          if (r.animating && n.preventInteractionOnTransition) return !1;
24880          var o,
24881            d = r.minTranslate(),
24882            p = r.maxTranslate();
24883          if (
24884            ((o = i && e > d ? d : i && e < p ? p : e),
24885            r.updateProgress(o),
24886            n.cssMode)
24887          ) {
24888            var c,
24889              u = r.isHorizontal();
24890            if (0 === t) l[u ? "scrollLeft" : "scrollTop"] = -o;
24891            else if (l.scrollTo)
24892              l.scrollTo(
24893                (((c = {})[u ? "left" : "top"] = -o),
24894                (c.behavior = "smooth"),
24895                c)
24896              );
24897            else l[u ? "scrollLeft" : "scrollTop"] = -o;
24898            return !0;
24899          }
24900          return (
24901            0 === t
24902              ? (r.setTransition(0),
24903                r.setTranslate(o),
24904                a &&
24905                  (r.emit("beforeTransitionStart", t, s),
24906                  r.emit("transitionEnd")))
24907              : (r.setTransition(t),
24908                r.setTranslate(o),
24909                a &&
24910                  (r.emit("beforeTransitionStart", t, s),
24911                  r.emit("transitionStart")),
24912                r.animating ||
24913                  ((r.animating = !0),
24914                  r.onTranslateToWrapperTransitionEnd ||
24915                    (r.onTranslateToWrapperTransitionEnd = function (e) {
24916                      r &&
24917                        !r.destroyed &&
24918                        e.target === this &&
24919                        (r.$wrapperEl[0].removeEventListener(
24920                          "transitionend",
24921                          r.onTranslateToWrapperTransitionEnd
24922                        ),
24923                        r.$wrapperEl[0].removeEventListener(
24924                          "webkitTransitionEnd",
24925                          r.onTranslateToWrapperTransitionEnd
24926                        ),
24927                        (r.onTranslateToWrapperTransitionEnd = null),
24928                        delete r.onTranslateToWrapperTransitionEnd,
24929                        a && r.emit("transitionEnd"));
24930                    }),
24931                  r.$wrapperEl[0].addEventListener(
24932                    "transitionend",
24933                    r.onTranslateToWrapperTransitionEnd
24934                  ),
24935                  r.$wrapperEl[0].addEventListener(
24936                    "webkitTransitionEnd",
24937                    r.onTranslateToWrapperTransitionEnd
24938                  ))),
24939            !0
24940          );
24941        },
24942      },
24943      transition: {
24944        setTransition: function (e, t) {
24945          var a = this;
24946          a.params.cssMode || a.$wrapperEl.transition(e),
24947            a.emit("setTransition", e, t);
24948        },
24949        transitionStart: function (e, t) {
24950          void 0 === e && (e = !0);
24951          var a = this,
24952            i = a.activeIndex,
24953            s = a.params,
24954            r = a.previousIndex;
24955          if (!s.cssMode) {
24956            s.autoHeight && a.updateAutoHeight();
24957            var n = t;
24958            if (
24959              (n || (n = i > r ? "next" : i < r ? "prev" : "reset"),
24960              a.emit("transitionStart"),
24961              e && i !== r)
24962            ) {
24963              if ("reset" === n)
24964                return void a.emit("slideResetTransitionStart");
24965              a.emit("slideChangeTransitionStart"),
24966                "next" === n
24967                  ? a.emit("slideNextTransitionStart")
24968                  : a.emit("slidePrevTransitionStart");
24969            }
24970          }
24971        },
24972        transitionEnd: function (e, t) {
24973          void 0 === e && (e = !0);
24974          var a = this,
24975            i = a.activeIndex,
24976            s = a.previousIndex,
24977            r = a.params;
24978          if (((a.animating = !1), !r.cssMode)) {
24979            a.setTransition(0);
24980            var n = t;
24981            if (
24982              (n || (n = i > s ? "next" : i < s ? "prev" : "reset"),
24983              a.emit("transitionEnd"),
24984              e && i !== s)
24985            ) {
24986              if ("reset" === n) return void a.emit("slideResetTransitionEnd");
24987              a.emit("slideChangeTransitionEnd"),
24988                "next" === n
24989                  ? a.emit("slideNextTransitionEnd")
24990                  : a.emit("slidePrevTransitionEnd");
24991            }
24992          }
24993        },
24994      },
24995      slide: {
24996        slideTo: function (e, t, a, i) {
24997          if (
24998            (void 0 === e && (e = 0),
24999            void 0 === t && (t = this.params.speed),
25000            void 0 === a && (a = !0),
25001            "number" != typeof e && "string" != typeof e)
25002          )
25003            throw new Error(
25004              "The 'index' argument cannot have type other than 'number' or 'string'. [" +
25005                typeof e +
25006                "] given."
25007            );
25008          if ("string" == typeof e) {
25009            var s = parseInt(e, 10);
25010            if (!isFinite(s))
25011              throw new Error(
25012                "The passed-in 'index' (string) couldn't be converted to 'number'. [" +
25013                  e +
25014                  "] given."
25015              );
25016            e = s;
25017          }
25018          var r = this,
25019            n = e;
25020          n < 0 && (n = 0);
25021          var l = r.params,
25022            o = r.snapGrid,
25023            d = r.slidesGrid,
25024            p = r.previousIndex,
25025            c = r.activeIndex,
25026            u = r.rtlTranslate,
25027            h = r.wrapperEl;
25028          if (r.animating && l.preventInteractionOnTransition) return !1;
25029          var v = Math.min(r.params.slidesPerGroupSkip, n),
25030            f = v + Math.floor((n - v) / r.params.slidesPerGroup);
25031          f >= o.length && (f = o.length - 1),
25032            (c || l.initialSlide || 0) === (p || 0) &&
25033              a &&
25034              r.emit("beforeSlideChangeStart");
25035          var m,
25036            g = -o[f];
25037          if ((r.updateProgress(g), l.normalizeSlideIndex))
25038            for (var b = 0; b < d.length; b += 1) {
25039              var w = -Math.floor(100 * g),
25040                y = Math.floor(100 * d[b]),
25041                E = Math.floor(100 * d[b + 1]);
25042              void 0 !== d[b + 1]
25043                ? w >= y && w < E - (E - y) / 2
25044                  ? (n = b)
25045                  : w >= y && w < E && (n = b + 1)
25046                : w >= y && (n = b);
25047            }
25048          if (r.initialized && n !== c) {
25049            if (!r.allowSlideNext && g < r.translate && g < r.minTranslate())
25050              return !1;
25051            if (
25052              !r.allowSlidePrev &&
25053              g > r.translate &&
25054              g > r.maxTranslate() &&
25055              (c || 0) !== n
25056            )
25057              return !1;
25058          }
25059          if (
25060            ((m = n > c ? "next" : n < c ? "prev" : "reset"),
25061            (u && -g === r.translate) || (!u && g === r.translate))
25062          )
25063            return (
25064              r.updateActiveIndex(n),
25065              l.autoHeight && r.updateAutoHeight(),
25066              r.updateSlidesClasses(),
25067              "slide" !== l.effect && r.setTranslate(g),
25068              "reset" !== m && (r.transitionStart(a, m), r.transitionEnd(a, m)),
25069              !1
25070            );
25071          if (l.cssMode) {
25072            var x,
25073              T = r.isHorizontal(),
25074              C = -g;
25075            if ((u && (C = h.scrollWidth - h.offsetWidth - C), 0 === t))
25076              h[T ? "scrollLeft" : "scrollTop"] = C;
25077            else if (h.scrollTo)
25078              h.scrollTo(
25079                (((x = {})[T ? "left" : "top"] = C), (x.behavior = "smooth"), x)
25080              );
25081            else h[T ? "scrollLeft" : "scrollTop"] = C;
25082            return !0;
25083          }
25084          return (
25085            0 === t
25086              ? (r.setTransition(0),
25087                r.setTranslate(g),
25088                r.updateActiveIndex(n),
25089                r.updateSlidesClasses(),
25090                r.emit("beforeTransitionStart", t, i),
25091                r.transitionStart(a, m),
25092                r.transitionEnd(a, m))
25093              : (r.setTransition(t),
25094                r.setTranslate(g),
25095                r.updateActiveIndex(n),
25096                r.updateSlidesClasses(),
25097                r.emit("beforeTransitionStart", t, i),
25098                r.transitionStart(a, m),
25099                r.animating ||
25100                  ((r.animating = !0),
25101                  r.onSlideToWrapperTransitionEnd ||
25102                    (r.onSlideToWrapperTransitionEnd = function (e) {
25103                      r &&
25104                        !r.destroyed &&
25105                        e.target === this &&
25106                        (r.$wrapperEl[0].removeEventListener(
25107                          "transitionend",
25108                          r.onSlideToWrapperTransitionEnd
25109                        ),
25110                        r.$wrapperEl[0].removeEventListener(
25111                          "webkitTransitionEnd",
25112                          r.onSlideToWrapperTransitionEnd
25113                        ),
25114                        (r.onSlideToWrapperTransitionEnd = null),
25115                        delete r.onSlideToWrapperTransitionEnd,
25116                        r.transitionEnd(a, m));
25117                    }),
25118                  r.$wrapperEl[0].addEventListener(
25119                    "transitionend",
25120                    r.onSlideToWrapperTransitionEnd
25121                  ),
25122                  r.$wrapperEl[0].addEventListener(
25123                    "webkitTransitionEnd",
25124                    r.onSlideToWrapperTransitionEnd
25125                  ))),
25126            !0
25127          );
25128        },
25129        slideToLoop: function (e, t, a, i) {
25130          void 0 === e && (e = 0),
25131            void 0 === t && (t = this.params.speed),
25132            void 0 === a && (a = !0);
25133          var s = this,
25134            r = e;
25135          return s.params.loop && (r += s.loopedSlides), s.slideTo(r, t, a, i);
25136        },
25137        slideNext: function (e, t, a) {
25138          void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
25139          var i = this,
25140            s = i.params,
25141            r = i.animating,
25142            n = i.activeIndex < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup;
25143          if (s.loop) {
25144            if (r && s.loopPreventsSlide) return !1;
25145            i.loopFix(), (i._clientLeft = i.$wrapperEl[0].clientLeft);
25146          }
25147          return i.slideTo(i.activeIndex + n, e, t, a);
25148        },
25149        slidePrev: function (e, t, a) {
25150          void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
25151          var i = this,
25152            s = i.params,
25153            r = i.animating,
25154            n = i.snapGrid,
25155            l = i.slidesGrid,
25156            o = i.rtlTranslate;
25157          if (s.loop) {
25158            if (r && s.loopPreventsSlide) return !1;
25159            i.loopFix(), (i._clientLeft = i.$wrapperEl[0].clientLeft);
25160          }
25161          function d(e) {
25162            return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e);
25163          }
25164          var p = d(o ? i.translate : -i.translate),
25165            c = n.map(function (e) {
25166              return d(e);
25167            });
25168          n[c.indexOf(p)];
25169          var u,
25170            h = n[c.indexOf(p) - 1];
25171          return (
25172            void 0 === h &&
25173              s.cssMode &&
25174              n.forEach(function (e) {
25175                !h && p >= e && (h = e);
25176              }),
25177            void 0 !== h && (u = l.indexOf(h)) < 0 && (u = i.activeIndex - 1),
25178            i.slideTo(u, e, t, a)
25179          );
25180        },
25181        slideReset: function (e, t, a) {
25182          return (
25183            void 0 === e && (e = this.params.speed),
25184            void 0 === t && (t = !0),
25185            this.slideTo(this.activeIndex, e, t, a)
25186          );
25187        },
25188        slideToClosest: function (e, t, a, i) {
25189          void 0 === e && (e = this.params.speed),
25190            void 0 === t && (t = !0),
25191            void 0 === i && (i = 0.5);
25192          var s = this,
25193            r = s.activeIndex,
25194            n = Math.min(s.params.slidesPerGroupSkip, r),
25195            l = n + Math.floor((r - n) / s.params.slidesPerGroup),
25196            o = s.rtlTranslate ? s.translate : -s.translate;
25197          if (o >= s.snapGrid[l]) {
25198            var d = s.snapGrid[l];
25199            o - d > (s.snapGrid[l + 1] - d) * i &&
25200              (r += s.params.slidesPerGroup);
25201          } else {
25202            var p = s.snapGrid[l - 1];
25203            o - p <= (s.snapGrid[l] - p) * i && (r -= s.params.slidesPerGroup);
25204          }
25205          return (
25206            (r = Math.max(r, 0)),
25207            (r = Math.min(r, s.slidesGrid.length - 1)),
25208            s.slideTo(r, e, t, a)
25209          );
25210        },
25211        slideToClickedSlide: function () {
25212          var e,
25213            t = this,
25214            a = t.params,
25215            i = t.$wrapperEl,
25216            s =
25217              "auto" === a.slidesPerView
25218                ? t.slidesPerViewDynamic()
25219                : a.slidesPerView,
25220            r = t.clickedIndex;
25221          if (a.loop) {
25222            if (t.animating) return;
25223            (e = parseInt(
25224              m(t.clickedSlide).attr("data-swiper-slide-index"),
25225              10
25226            )),
25227              a.centeredSlides
25228                ? r < t.loopedSlides - s / 2 ||
25229                  r > t.slides.length - t.loopedSlides + s / 2
25230                  ? (t.loopFix(),
25231                    (r = i
25232                      .children(
25233                        "." +
25234                          a.slideClass +
25235                          '[data-swiper-slide-index="' +
25236                          e +
25237                          '"]:not(.' +
25238                          a.slideDuplicateClass +
25239                          ")"
25240                      )
25241                      .eq(0)
25242                      .index()),
25243                    E(function () {
25244                      t.slideTo(r);
25245                    }))
25246                  : t.slideTo(r)
25247                : r > t.slides.length - s
25248                ? (t.loopFix(),
25249                  (r = i
25250                    .children(
25251                      "." +
25252                        a.slideClass +
25253                        '[data-swiper-slide-index="' +
25254                        e +
25255                        '"]:not(.' +
25256                        a.slideDuplicateClass +
25257                        ")"
25258                    )
25259                    .eq(0)
25260                    .index()),
25261                  E(function () {
25262                    t.slideTo(r);
25263                  }))
25264                : t.slideTo(r);
25265          } else t.slideTo(r);
25266        },
25267      },
25268      loop: {
25269        loopCreate: function () {
25270          var e = this,
25271            t = r(),
25272            a = e.params,
25273            i = e.$wrapperEl;
25274          i.children("." + a.slideClass + "." + a.slideDuplicateClass).remove();
25275          var s = i.children("." + a.slideClass);
25276          if (a.loopFillGroupWithBlank) {
25277            var n = a.slidesPerGroup - (s.length % a.slidesPerGroup);
25278            if (n !== a.slidesPerGroup) {
25279              for (var l = 0; l < n; l += 1) {
25280                var o = m(t.createElement("div")).addClass(
25281                  a.slideClass + " " + a.slideBlankClass
25282                );
25283                i.append(o);
25284              }
25285              s = i.children("." + a.slideClass);
25286            }
25287          }
25288          "auto" !== a.slidesPerView ||
25289            a.loopedSlides ||
25290            (a.loopedSlides = s.length),
25291            (e.loopedSlides = Math.ceil(
25292              parseFloat(a.loopedSlides || a.slidesPerView, 10)
25293            )),
25294            (e.loopedSlides += a.loopAdditionalSlides),
25295            e.loopedSlides > s.length && (e.loopedSlides = s.length);
25296          var d = [],
25297            p = [];
25298          s.each(function (t, a) {
25299            var i = m(t);
25300            a < e.loopedSlides && p.push(t),
25301              a < s.length && a >= s.length - e.loopedSlides && d.push(t),
25302              i.attr("data-swiper-slide-index", a);
25303          });
25304          for (var c = 0; c < p.length; c += 1)
25305            i.append(m(p[c].cloneNode(!0)).addClass(a.slideDuplicateClass));
25306          for (var u = d.length - 1; u >= 0; u -= 1)
25307            i.prepend(m(d[u].cloneNode(!0)).addClass(a.slideDuplicateClass));
25308        },
25309        loopFix: function () {
25310          var e = this;
25311          e.emit("beforeLoopFix");
25312          var t,
25313            a = e.activeIndex,
25314            i = e.slides,
25315            s = e.loopedSlides,
25316            r = e.allowSlidePrev,
25317            n = e.allowSlideNext,
25318            l = e.snapGrid,
25319            o = e.rtlTranslate;
25320          (e.allowSlidePrev = !0), (e.allowSlideNext = !0);
25321          var d = -l[a] - e.getTranslate();
25322          if (a < s)
25323            (t = i.length - 3 * s + a),
25324              (t += s),
25325              e.slideTo(t, 0, !1, !0) &&
25326                0 !== d &&
25327                e.setTranslate((o ? -e.translate : e.translate) - d);
25328          else if (a >= i.length - s) {
25329            (t = -i.length + a + s),
25330              (t += s),
25331              e.slideTo(t, 0, !1, !0) &&
25332                0 !== d &&
25333                e.setTranslate((o ? -e.translate : e.translate) - d);
25334          }
25335          (e.allowSlidePrev = r), (e.allowSlideNext = n), e.emit("loopFix");
25336        },
25337        loopDestroy: function () {
25338          var e = this,
25339            t = e.$wrapperEl,
25340            a = e.params,
25341            i = e.slides;
25342          t
25343            .children(
25344              "." +
25345                a.slideClass +
25346                "." +
25347                a.slideDuplicateClass +
25348                ",." +
25349                a.slideClass +
25350                "." +
25351                a.slideBlankClass
25352            )
25353            .remove(),
25354            i.removeAttr("data-swiper-slide-index");
25355        },
25356      },
25357      grabCursor: {
25358        setGrabCursor: function (e) {
25359          var t = this;
25360          if (
25361            !(
25362              t.support.touch ||
25363              !t.params.simulateTouch ||
25364              (t.params.watchOverflow && t.isLocked) ||
25365              t.params.cssMode
25366            )
25367          ) {
25368            var a = t.el;
25369            (a.style.cursor = "move"),
25370              (a.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab"),
25371              (a.style.cursor = e ? "-moz-grabbin" : "-moz-grab"),
25372              (a.style.cursor = e ? "grabbing" : "grab");
25373          }
25374        },
25375        unsetGrabCursor: function () {
25376          var e = this;
25377          e.support.touch ||
25378            (e.params.watchOverflow && e.isLocked) ||
25379            e.params.cssMode ||
25380            (e.el.style.cursor = "");
25381        },
25382      },
25383      manipulation: {
25384        appendSlide: function (e) {
25385          var t = this,
25386            a = t.$wrapperEl,
25387            i = t.params;
25388          if (
25389            (i.loop && t.loopDestroy(), "object" == typeof e && "length" in e)
25390          )
25391            for (var s = 0; s < e.length; s += 1) e[s] && a.append(e[s]);
25392          else a.append(e);
25393          i.loop && t.loopCreate(),
25394            (i.observer && t.support.observer) || t.update();
25395        },
25396        prependSlide: function (e) {
25397          var t = this,
25398            a = t.params,
25399            i = t.$wrapperEl,
25400            s = t.activeIndex;
25401          a.loop && t.loopDestroy();
25402          var r = s + 1;
25403          if ("object" == typeof e && "length" in e) {
25404            for (var n = 0; n < e.length; n += 1) e[n] && i.prepend(e[n]);
25405            r = s + e.length;
25406          } else i.prepend(e);
25407          a.loop && t.loopCreate(),
25408            (a.observer && t.support.observer) || t.update(),
25409            t.slideTo(r, 0, !1);
25410        },
25411        addSlide: function (e, t) {
25412          var a = this,
25413            i = a.$wrapperEl,
25414            s = a.params,
25415            r = a.activeIndex;
25416          s.loop &&
25417            ((r -= a.loopedSlides),
25418            a.loopDestroy(),
25419            (a.slides = i.children("." + s.slideClass)));
25420          var n = a.slides.length;
25421          if (e <= 0) a.prependSlide(t);
25422          else if (e >= n) a.appendSlide(t);
25423          else {
25424            for (var l = r > e ? r + 1 : r, o = [], d = n - 1; d >= e; d -= 1) {
25425              var p = a.slides.eq(d);
25426              p.remove(), o.unshift(p);
25427            }
25428            if ("object" == typeof t && "length" in t) {
25429              for (var c = 0; c < t.length; c += 1) t[c] && i.append(t[c]);
25430              l = r > e ? r + t.length : r;
25431            } else i.append(t);
25432            for (var u = 0; u < o.length; u += 1) i.append(o[u]);
25433            s.loop && a.loopCreate(),
25434              (s.observer && a.support.observer) || a.update(),
25435              s.loop
25436                ? a.slideTo(l + a.loopedSlides, 0, !1)
25437                : a.slideTo(l, 0, !1);
25438          }
25439        },
25440        removeSlide: function (e) {
25441          var t = this,
25442            a = t.params,
25443            i = t.$wrapperEl,
25444            s = t.activeIndex;
25445          a.loop &&
25446            ((s -= t.loopedSlides),
25447            t.loopDestroy(),
25448            (t.slides = i.children("." + a.slideClass)));
25449          var r,
25450            n = s;
25451          if ("object" == typeof e && "length" in e) {
25452            for (var l = 0; l < e.length; l += 1)
25453              (r = e[l]),
25454                t.slides[r] && t.slides.eq(r).remove(),
25455                r < n && (n -= 1);
25456            n = Math.max(n, 0);
25457          } else
25458            (r = e),
25459              t.slides[r] && t.slides.eq(r).remove(),
25460              r < n && (n -= 1),
25461              (n = Math.max(n, 0));
25462          a.loop && t.loopCreate(),
25463            (a.observer && t.support.observer) || t.update(),
25464            a.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1);
25465        },
25466        removeAllSlides: function () {
25467          for (var e = [], t = 0; t < this.slides.length; t += 1) e.push(t);
25468          this.removeSlide(e);
25469        },
25470      },
25471      events: {
25472        attachEvents: function () {
25473          var e = this,
25474            t = r(),
25475            a = e.params,
25476            i = e.touchEvents,
25477            s = e.el,
25478            n = e.wrapperEl,
25479            l = e.device,
25480            o = e.support;
25481          (e.onTouchStart = O.bind(e)),
25482            (e.onTouchMove = A.bind(e)),
25483            (e.onTouchEnd = D.bind(e)),
25484            a.cssMode && (e.onScroll = B.bind(e)),
25485            (e.onClick = G.bind(e));
25486          var d = !!a.nested;
25487          if (!o.touch && o.pointerEvents)
25488            s.addEventListener(i.start, e.onTouchStart, !1),
25489              t.addEventListener(i.move, e.onTouchMove, d),
25490              t.addEventListener(i.end, e.onTouchEnd, !1);
25491          else {
25492            if (o.touch) {
25493              var p = !(
25494                "touchstart" !== i.start ||
25495                !o.passiveListener ||
25496                !a.passiveListeners
25497              ) && { passive: !0, capture: !1 };
25498              s.addEventListener(i.start, e.onTouchStart, p),
25499                s.addEventListener(
25500                  i.move,
25501                  e.onTouchMove,
25502                  o.passiveListener ? { passive: !1, capture: d } : d
25503                ),
25504                s.addEventListener(i.end, e.onTouchEnd, p),
25505                i.cancel && s.addEventListener(i.cancel, e.onTouchEnd, p),
25506                H || (t.addEventListener("touchstart", X), (H = !0));
25507            }
25508            ((a.simulateTouch && !l.ios && !l.android) ||
25509              (a.simulateTouch && !o.touch && l.ios)) &&
25510              (s.addEventListener("mousedown", e.onTouchStart, !1),
25511              t.addEventListener("mousemove", e.onTouchMove, d),
25512              t.addEventListener("mouseup", e.onTouchEnd, !1));
25513          }
25514          (a.preventClicks || a.preventClicksPropagation) &&
25515            s.addEventListener("click", e.onClick, !0),
25516            a.cssMode && n.addEventListener("scroll", e.onScroll),
25517            a.updateOnWindowResize
25518              ? e.on(
25519                  l.ios || l.android
25520                    ? "resize orientationchange observerUpdate"
25521                    : "resize observerUpdate",
25522                  N,
25523                  !0
25524                )
25525              : e.on("observerUpdate", N, !0);
25526        },
25527        detachEvents: function () {
25528          var e = this,
25529            t = r(),
25530            a = e.params,
25531            i = e.touchEvents,
25532            s = e.el,
25533            n = e.wrapperEl,
25534            l = e.device,
25535            o = e.support,
25536            d = !!a.nested;
25537          if (!o.touch && o.pointerEvents)
25538            s.removeEventListener(i.start, e.onTouchStart, !1),
25539              t.removeEventListener(i.move, e.onTouchMove, d),
25540              t.removeEventListener(i.end, e.onTouchEnd, !1);
25541          else {
25542            if (o.touch) {
25543              var p = !(
25544                "onTouchStart" !== i.start ||
25545                !o.passiveListener ||
25546                !a.passiveListeners
25547              ) && { passive: !0, capture: !1 };
25548              s.removeEventListener(i.start, e.onTouchStart, p),
25549                s.removeEventListener(i.move, e.onTouchMove, d),
25550                s.removeEventListener(i.end, e.onTouchEnd, p),
25551                i.cancel && s.removeEventListener(i.cancel, e.onTouchEnd, p);
25552            }
25553            ((a.simulateTouch && !l.ios && !l.android) ||
25554              (a.simulateTouch && !o.touch && l.ios)) &&
25555              (s.removeEventListener("mousedown", e.onTouchStart, !1),
25556              t.removeEventListener("mousemove", e.onTouchMove, d),
25557              t.removeEventListener("mouseup", e.onTouchEnd, !1));
25558          }
25559          (a.preventClicks || a.preventClicksPropagation) &&
25560            s.removeEventListener("click", e.onClick, !0),
25561            a.cssMode && n.removeEventListener("scroll", e.onScroll),
25562            e.off(
25563              l.ios || l.android
25564                ? "resize orientationchange observerUpdate"
25565                : "resize observerUpdate",
25566              N
25567            );
25568        },
25569      },
25570      breakpoints: {
25571        setBreakpoint: function () {
25572          var e = this,
25573            t = e.activeIndex,
25574            a = e.initialized,
25575            i = e.loopedSlides,
25576            s = void 0 === i ? 0 : i,
25577            r = e.params,
25578            n = e.$el,
25579            l = r.breakpoints;
25580          if (l && (!l || 0 !== Object.keys(l).length)) {
25581            var o = e.getBreakpoint(l, e.params.breakpointsBase, e.el);
25582            if (o && e.currentBreakpoint !== o) {
25583              var d = o in l ? l[o] : void 0;
25584              d &&
25585                [
25586                  "slidesPerView",
25587                  "spaceBetween",
25588                  "slidesPerGroup",
25589                  "slidesPerGroupSkip",
25590                  "slidesPerColumn",
25591                ].forEach(function (e) {
25592                  var t = d[e];
25593                  void 0 !== t &&
25594                    (d[e] =
25595                      "slidesPerView" !== e || ("AUTO" !== t && "auto" !== t)
25596                        ? "slidesPerView" === e
25597                          ? parseFloat(t)
25598                          : parseInt(t, 10)
25599                        : "auto");
25600                });
25601              var p = d || e.originalParams,
25602                c = r.slidesPerColumn > 1,
25603                u = p.slidesPerColumn > 1;
25604              c && !u
25605                ? (n.removeClass(
25606                    r.containerModifierClass +
25607                      "multirow " +
25608                      r.containerModifierClass +
25609                      "multirow-column"
25610                  ),
25611                  e.emitContainerClasses())
25612                : !c &&
25613                  u &&
25614                  (n.addClass(r.containerModifierClass + "multirow"),
25615                  "column" === p.slidesPerColumnFill &&
25616                    n.addClass(r.containerModifierClass + "multirow-column"),
25617                  e.emitContainerClasses());
25618              var h = p.direction && p.direction !== r.direction,
25619                v = r.loop && (p.slidesPerView !== r.slidesPerView || h);
25620              h && a && e.changeDirection(),
25621                S(e.params, p),
25622                S(e, {
25623                  allowTouchMove: e.params.allowTouchMove,
25624                  allowSlideNext: e.params.allowSlideNext,
25625                  allowSlidePrev: e.params.allowSlidePrev,
25626                }),
25627                (e.currentBreakpoint = o),
25628                e.emit("_beforeBreakpoint", p),
25629                v &&
25630                  a &&
25631                  (e.loopDestroy(),
25632                  e.loopCreate(),
25633                  e.updateSlides(),
25634                  e.slideTo(t - s + e.loopedSlides, 0, !1)),
25635                e.emit("breakpoint", p);
25636            }
25637          }
25638        },
25639        getBreakpoint: function (e, t, a) {
25640          if ((void 0 === t && (t = "window"), e && ("container" !== t || a))) {
25641            var i = !1,
25642              s = l(),
25643              r = "window" === t ? s.innerWidth : a.clientWidth,
25644              n = "window" === t ? s.innerHeight : a.clientHeight,
25645              o = Object.keys(e).map(function (e) {
25646                if ("string" == typeof e && 0 === e.indexOf("@")) {
25647                  var t = parseFloat(e.substr(1));
25648                  return { value: n * t, point: e };
25649                }
25650                return { value: e, point: e };
25651              });
25652            o.sort(function (e, t) {
25653              return parseInt(e.value, 10) - parseInt(t.value, 10);
25654            });
25655            for (var d = 0; d < o.length; d += 1) {
25656              var p = o[d],
25657                c = p.point;
25658              p.value <= r && (i = c);
25659            }
25660            return i || "max";
25661          }
25662        },
25663      },
25664      checkOverflow: {
25665        checkOverflow: function () {
25666          var e = this,
25667            t = e.params,
25668            a = e.isLocked,
25669            i =
25670              e.slides.length > 0 &&
25671              t.slidesOffsetBefore +
25672                t.spaceBetween * (e.slides.length - 1) +
25673                e.slides[0].offsetWidth * e.slides.length;
25674          t.slidesOffsetBefore && t.slidesOffsetAfter && i
25675            ? (e.isLocked = i <= e.size)
25676            : (e.isLocked = 1 === e.snapGrid.length),
25677            (e.allowSlideNext = !e.isLocked),
25678            (e.allowSlidePrev = !e.isLocked),
25679            a !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock"),
25680            a &&
25681              a !== e.isLocked &&
25682              ((e.isEnd = !1), e.navigation && e.navigation.update());
25683        },
25684      },
25685      classes: {
25686        addClasses: function () {
25687          var e,
25688            t,
25689            a,
25690            i = this,
25691            s = i.classNames,
25692            r = i.params,
25693            n = i.rtl,
25694            l = i.$el,
25695            o = i.device,
25696            d = i.support,
25697            p =
25698              ((e = [
25699                "initialized",
25700                r.direction,
25701                { "pointer-events": d.pointerEvents && !d.touch },
25702                { "free-mode": r.freeMode },
25703                { autoheight: r.autoHeight },
25704                { rtl: n },
25705                { multirow: r.slidesPerColumn > 1 },
25706                {
25707                  "multirow-column":
25708                    r.slidesPerColumn > 1 && "column" === r.slidesPerColumnFill,
25709                },
25710                { android: o.android },
25711                { ios: o.ios },
25712                { "css-mode": r.cssMode },
25713              ]),
25714              (t = r.containerModifierClass),
25715              (a = []),
25716              e.forEach(function (e) {
25717                "object" == typeof e
25718                  ? Object.entries(e).forEach(function (e) {
25719                      var i = e[0];
25720                      e[1] && a.push(t + i);
25721                    })
25722                  : "string" == typeof e && a.push(t + e);
25723              }),
25724              a);
25725          s.push.apply(s, p),
25726            l.addClass([].concat(s).join(" ")),
25727            i.emitContainerClasses();
25728        },
25729        removeClasses: function () {
25730          var e = this,
25731            t = e.$el,
25732            a = e.classNames;
25733          t.removeClass(a.join(" ")), e.emitContainerClasses();
25734        },
25735      },
25736      images: {
25737        loadImage: function (e, t, a, i, s, r) {
25738          var n,
25739            o = l();
25740          function d() {
25741            r && r();
25742          }
25743          m(e).parent("picture")[0] || (e.complete && s)
25744            ? d()
25745            : t
25746            ? (((n = new o.Image()).onload = d),
25747              (n.onerror = d),
25748              i && (n.sizes = i),
25749              a && (n.srcset = a),
25750              t && (n.src = t))
25751            : d();
25752        },
25753        preloadImages: function () {
25754          var e = this;
25755          function t() {
25756            null != e &&
25757              e &&
25758              !e.destroyed &&
25759              (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1),
25760              e.imagesLoaded === e.imagesToLoad.length &&
25761                (e.params.updateOnImagesReady && e.update(),
25762                e.emit("imagesReady")));
25763          }
25764          e.imagesToLoad = e.$el.find("img");
25765          for (var a = 0; a < e.imagesToLoad.length; a += 1) {
25766            var i = e.imagesToLoad[a];
25767            e.loadImage(
25768              i,
25769              i.currentSrc || i.getAttribute("src"),
25770              i.srcset || i.getAttribute("srcset"),
25771              i.sizes || i.getAttribute("sizes"),
25772              !0,
25773              t
25774            );
25775          }
25776        },
25777      },
25778    },
25779    V = {},
25780    W = (function () {
25781      function t() {
25782        for (
25783          var e, a, i = arguments.length, s = new Array(i), r = 0;
25784          r < i;
25785          r++
25786        )
25787          s[r] = arguments[r];
25788        if (
25789          (1 === s.length && s[0].constructor && s[0].constructor === Object
25790            ? (a = s[0])
25791            : ((e = s[0]), (a = s[1])),
25792          a || (a = {}),
25793          (a = S({}, a)),
25794          e && !a.el && (a.el = e),
25795          a.el && m(a.el).length > 1)
25796        ) {
25797          var n = [];
25798          return (
25799            m(a.el).each(function (e) {
25800              var i = S({}, a, { el: e });
25801              n.push(new t(i));
25802            }),
25803            n
25804          );
25805        }
25806        var l = this;
25807        (l.support = z()),
25808          (l.device = P({ userAgent: a.userAgent })),
25809          (l.browser = k()),
25810          (l.eventsListeners = {}),
25811          (l.eventsAnyListeners = []),
25812          void 0 === l.modules && (l.modules = {}),
25813          Object.keys(l.modules).forEach(function (e) {
25814            var t = l.modules[e];
25815            if (t.params) {
25816              var i = Object.keys(t.params)[0],
25817                s = t.params[i];
25818              if ("object" != typeof s || null === s) return;
25819              if (!(i in a) || !("enabled" in s)) return;
25820              !0 === a[i] && (a[i] = { enabled: !0 }),
25821                "object" != typeof a[i] ||
25822                  "enabled" in a[i] ||
25823                  (a[i].enabled = !0),
25824                a[i] || (a[i] = { enabled: !1 });
25825            }
25826          });
25827        var o,
25828          d,
25829          p = S({}, Y);
25830        return (
25831          l.useParams(p),
25832          (l.params = S({}, p, V, a)),
25833          (l.originalParams = S({}, l.params)),
25834          (l.passedParams = S({}, a)),
25835          l.params &&
25836            l.params.on &&
25837            Object.keys(l.params.on).forEach(function (e) {
25838              l.on(e, l.params.on[e]);
25839            }),
25840          l.params && l.params.onAny && l.onAny(l.params.onAny),
25841          (l.$ = m),
25842          S(l, {
25843            el: e,
25844            classNames: [],
25845            slides: m(),
25846            slidesGrid: [],
25847            snapGrid: [],
25848            slidesSizesGrid: [],
25849            isHorizontal: function () {
25850              return "horizontal" === l.params.direction;
25851            },
25852            isVertical: function () {
25853              return "vertical" === l.params.direction;
25854            },
25855            activeIndex: 0,
25856            realIndex: 0,
25857            isBeginning: !0,
25858            isEnd: !1,
25859            translate: 0,
25860            previousTranslate: 0,
25861            progress: 0,
25862            velocity: 0,
25863            animating: !1,
25864            allowSlideNext: l.params.allowSlideNext,
25865            allowSlidePrev: l.params.allowSlidePrev,
25866            touchEvents:
25867              ((o = ["touchstart", "touchmove", "touchend", "touchcancel"]),
25868              (d = ["mousedown", "mousemove", "mouseup"]),
25869              l.support.pointerEvents &&
25870                (d = ["pointerdown", "pointermove", "pointerup"]),
25871              (l.touchEventsTouch = {
25872                start: o[0],
25873                move: o[1],
25874                end: o[2],
25875                cancel: o[3],
25876              }),
25877              (l.touchEventsDesktop = { start: d[0], move: d[1], end: d[2] }),
25878              l.support.touch || !l.params.simulateTouch
25879                ? l.touchEventsTouch
25880                : l.touchEventsDesktop),
25881            touchEventsData: {
25882              isTouched: void 0,
25883              isMoved: void 0,
25884              allowTouchCallbacks: void 0,
25885              touchStartTime: void 0,
25886              isScrolling: void 0,
25887              currentTranslate: void 0,
25888              startTranslate: void 0,
25889              allowThresholdMove: void 0,
25890              formElements:
25891                "input, select, option, textarea, button, video, label",
25892              lastClickTime: x(),
25893              clickTimeout: void 0,
25894              velocities: [],
25895              allowMomentumBounce: void 0,
25896              isTouchEvent: void 0,
25897              startMoving: void 0,
25898            },
25899            allowClick: !0,
25900            allowTouchMove: l.params.allowTouchMove,
25901            touches: {
25902              startX: 0,
25903              startY: 0,
25904              currentX: 0,
25905              currentY: 0,
25906              diff: 0,
25907            },
25908            imagesToLoad: [],
25909            imagesLoaded: 0,
25910          }),
25911          l.useModules(),
25912          l.emit("_swiper"),
25913          l.params.init && l.init(),
25914          l
25915        );
25916      }
25917      var a,
25918        i,
25919        s,
25920        r = t.prototype;
25921      return (
25922        (r.emitContainerClasses = function () {
25923          var e = this;
25924          if (e.params._emitClasses && e.el) {
25925            var t = e.el.className.split(" ").filter(function (t) {
25926              return (
25927                0 === t.indexOf("swiper-container") ||
25928                0 === t.indexOf(e.params.containerModifierClass)
25929              );
25930            });
25931            e.emit("_containerClasses", t.join(" "));
25932          }
25933        }),
25934        (r.getSlideClasses = function (e) {
25935          var t = this;
25936          return e.className
25937            .split(" ")
25938            .filter(function (e) {
25939              return (
25940                0 === e.indexOf("swiper-slide") ||
25941                0 === e.indexOf(t.params.slideClass)
25942              );
25943            })
25944            .join(" ");
25945        }),
25946        (r.emitSlidesClasses = function () {
25947          var e = this;
25948          if (e.params._emitClasses && e.el) {
25949            var t = [];
25950            e.slides.each(function (a) {
25951              var i = e.getSlideClasses(a);
25952              t.push({ slideEl: a, classNames: i }),
25953                e.emit("_slideClass", a, i);
25954            }),
25955              e.emit("_slideClasses", t);
25956          }
25957        }),
25958        (r.slidesPerViewDynamic = function () {
25959          var e = this,
25960            t = e.params,
25961            a = e.slides,
25962            i = e.slidesGrid,
25963            s = e.size,
25964            r = e.activeIndex,
25965            n = 1;
25966          if (t.centeredSlides) {
25967            for (
25968              var l, o = a[r].swiperSlideSize, d = r + 1;
25969              d < a.length;
25970              d += 1
25971            )
25972              a[d] &&
25973                !l &&
25974                ((n += 1), (o += a[d].swiperSlideSize) > s && (l = !0));
25975            for (var p = r - 1; p >= 0; p -= 1)
25976              a[p] &&
25977                !l &&
25978                ((n += 1), (o += a[p].swiperSlideSize) > s && (l = !0));
25979          } else
25980            for (var c = r + 1; c < a.length; c += 1)
25981              i[c] - i[r] < s && (n += 1);
25982          return n;
25983        }),
25984        (r.update = function () {
25985          var e = this;
25986          if (e && !e.destroyed) {
25987            var t = e.snapGrid,
25988              a = e.params;
25989            a.breakpoints && e.setBreakpoint(),
25990              e.updateSize(),
25991              e.updateSlides(),
25992              e.updateProgress(),
25993              e.updateSlidesClasses(),
25994              e.params.freeMode
25995                ? (i(), e.params.autoHeight && e.updateAutoHeight())
25996                : (("auto" === e.params.slidesPerView ||
25997                    e.params.slidesPerView > 1) &&
25998                  e.isEnd &&
25999                  !e.params.centeredSlides
26000                    ? e.slideTo(e.slides.length - 1, 0, !1, !0)
26001                    : e.slideTo(e.activeIndex, 0, !1, !0)) || i(),
26002              a.watchOverflow && t !== e.snapGrid && e.checkOverflow(),
26003              e.emit("update");
26004          }
26005          function i() {
26006            var t = e.rtlTranslate ? -1 * e.translate : e.translate,
26007              a = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
26008            e.setTranslate(a), e.updateActiveIndex(), e.updateSlidesClasses();
26009          }
26010        }),
26011        (r.changeDirection = function (e, t) {
26012          void 0 === t && (t = !0);
26013          var a = this,
26014            i = a.params.direction;
26015          return (
26016            e || (e = "horizontal" === i ? "vertical" : "horizontal"),
26017            e === i ||
26018              ("horizontal" !== e && "vertical" !== e) ||
26019              (a.$el
26020                .removeClass("" + a.params.containerModifierClass + i
26020)
26021                .addClass("" + a.params.containerModifierClass + e),
26022              a.emitContainerClasses(),
26023              (a.params.direction = e),
26024              a.slides.each(function (t) {
26025                "vertical" === e ? (t.style.width = "") : (t.style.height = "");
26026              }),
26027              a.emit("changeDirection"),
26028              t && a.update()),
26029            a
26030          );
26031        }),
26032        (r.mount = function (e) {
26033          var t = this;
26034          if (t.mounted) return !0;
26035          var a,
26036            i = m(e || t.params.el);
26037          return (
26038            !!(e = i[0]) &&
26039            ((e.swiper = t),
26040            e && e.shadowRoot && e.shadowRoot.querySelector
26041              ? ((a = m(
26042                  e.shadowRoot.querySelector("." + t.params.wrapperClass)
26043                )).children = function (e) {
26044                  return i.children(e);
26045                })
26046              : (a = i.children("." + t.params.wrapperClass)),
26047            S(t, {
26048              $el: i,
26049              el: e,
26050              $wrapperEl: a,
26051              wrapperEl: a[0],
26052              mounted: !0,
26053              rtl:
26054                "rtl" === e.dir.toLowerCase() || "rtl" === i.css("direction"),
26055              rtlTranslate:
26056                "horizontal" === t.params.direction &&
26057                ("rtl" === e.dir.toLowerCase() || "rtl" === i.css("direction")),
26058              wrongRTL: "-webkit-box" === a.css("display"),
26059            }),
26060            !0)
26061          );
26062        }),
26063        (r.init = function (e) {
26064          var t = this;
26065          return (
26066            t.initialized ||
26067              !1 === t.mount(e) ||
26068              (t.emit("beforeInit"),
26069              t.params.breakpoints && t.setBreakpoint(),
26070              t.addClasses(),
26071              t.params.loop && t.loopCreate(),
26072              t.updateSize(),
26073              t.updateSlides(),
26074              t.params.watchOverflow && t.checkOverflow(),
26075              t.params.grabCursor && t.setGrabCursor(),
26076              t.params.preloadImages && t.preloadImages(),
26077              t.params.loop
26078                ? t.slideTo(
26079                    t.params.initialSlide + t.loopedSlides,
26080                    0,
26081                    t.params.runCallbacksOnInit
26082                  )
26083                : t.slideTo(
26084                    t.params.initialSlide,
26085                    0,
26086                    t.params.runCallbacksOnInit
26087                  ),
26088              t.attachEvents(),
26089              (t.initialized = !0),
26090              t.emit("init"),
26091              t.emit("afterInit")),
26092            t
26093          );
26094        }),
26095        (r.destroy = function (e, t) {
26096          void 0 === e && (e = !0), void 0 === t && (t = !0);
26097          var a,
26098            i = this,
26099            s = i.params,
26100            r = i.$el,
26101            n = i.$wrapperEl,
26102            l = i.slides;
26103          return (
26104            void 0 === i.params ||
26105              i.destroyed ||
26106              (i.emit("beforeDestroy"),
26107              (i.initialized = !1),
26108              i.detachEvents(),
26109              s.loop && i.loopDestroy(),
26110              t &&
26111                (i.removeClasses(),
26112                r.removeAttr("style"),
26113                n.removeAttr("style"),
26114                l &&
26115                  l.length &&
26116                  l
26117                    .removeClass(
26118                      [
26119                        s.slideVisibleClass,
26120                        s.slideActiveClass,
26121                        s.slideNextClass,
26122                        s.slidePrevClass,
26123                      ].join(" ")
26124                    )
26125                    .removeAttr("style")
26126                    .removeAttr("data-swiper-slide-index")),
26127              i.emit("destroy"),
26128              Object.keys(i.eventsListeners).forEach(function (e) {
26129                i.off(e);
26130              }),
26131              !1 !== e &&
26132                ((i.$el[0].swiper = null),
26133                (a = i),
26134                Object.keys(a).forEach(function (e) {
26135                  try {
26136                    a[e] = null;
26137                  } catch (e) {}
26138                  try {
26139                    delete a[e];
26140                  } catch (e) {}
26141                })),
26142              (i.destroyed = !0)),
26143            null
26144          );
26145        }),
26146        (t.extendDefaults = function (e) {
26147          S(V, e);
26148        }),
26149        (t.installModule = function (e) {
26150          t.prototype.modules || (t.prototype.modules = {});
26151          var a = e.name || Object.keys(t.prototype.modules).length + "_" + x();
26152          t.prototype.modules[a] = e;
26153        }),
26154        (t.use = function (e) {
26155          return Array.isArray(e)
26156            ? (e.forEach(function (e) {
26157                return t.installModule(e);
26158              }),
26159              t)
26160            : (t.installModule(e), t);
26161        }),
26162        (a = t),
26163        (s = [
26164          {
26165            key: "extendedDefaults",
26166            get: function () {
26167              return V;
26168            },
26169          },
26170          {
26171            key: "defaults",
26172            get: function () {
26173              return Y;
26174            },
26175          },
26176        ]),
26177        (i = null) && e(a.prototype, i),
26178        s && e(a, s),
26179        t
26180      );
26181    })();
26182  Object.keys(R).forEach(function (e) {
26183    Object.keys(R[e]).forEach(function (t) {
26184      W.prototype[t] = R[e][t];
26185    });
26186  }),
26187    W.use([L, I]);
26188  var F = {
26189      update: function (e) {
26190        var t = this,
26191          a = t.params,
26192          i = a.slidesPerView,
26193          s = a.slidesPerGroup,
26194          r = a.centeredSlides,
26195          n = t.params.virtual,
26196          l = n.addSlidesBefore,
26197          o = n.addSlidesAfter,
26198          d = t.virtual,
26199          p = d.from,
26200          c = d.to,
26201          u = d.slides,
26202          h = d.slidesGrid,
26203          v = d.renderSlide,
26204          f = d.offset;
26205        t.updateActiveIndex();
26206        var m,
26207          g,
26208          b,
26209          w = t.activeIndex || 0;
26210        (m = t.rtlTranslate ? "right" : t.isHorizontal() ? "left" : "top"),
26211          r
26212            ? ((g = Math.floor(i / 2) + s + o), (b = Math.floor(i / 2) + s + l))
26213            : ((g = i + (s - 1) + o), (b = s + l));
26214        var y = Math.max((w || 0) - b, 0),
26215          E = Math.min((w || 0) + g, u.length - 1),
26216          x = (t.slidesGrid[y] || 0) - (t.slidesGrid[0] || 0);
26217        function T() {
26218          t.updateSlides(),
26219            t.updateProgress(),
26220            t.updateSlidesClasses(),
26221            t.lazy && t.params.lazy.enabled && t.lazy.load();
26222        }
26223        if (
26224          (S(t.virtual, {
26225            from: y,
26226            to: E,
26227            offset: x,
26228            slidesGrid: t.slidesGrid,
26229          }),
26230          p === y && c === E && !e)
26231        )
26232          return (
26233            t.slidesGrid !== h && x !== f && t.slides.css(m, x + "px"),
26234            void t.updateProgress()
26235          );
26236        if (t.params.virtual.renderExternal)
26237          return (
26238            t.params.virtual.renderExternal.call(t, {
26239              offset: x,
26240              from: y,
26241              to: E,
26242              slides: (function () {
26243                for (var e = [], t = y; t <= E; t += 1) e.push(u[t]);
26244                return e;
26245              })(),
26246            }),
26247            void (t.params.virtual.renderExternalUpdate && T())
26248          );
26249        var C = [],
26250          M = [];
26251        if (e) t.$wrapperEl.find("." + t.params.slideClass).remove();
26252        else
26253          for (var z = p; z <= c; z += 1)
26254            (z < y || z > E) &&
26255              t.$wrapperEl
26256                .find(
26257                  "." +
26258                    t.params.slideClass +
26259                    '[data-swiper-slide-index="' +
26260                    z +
26261                    '"]'
26262                )
26263                .remove();
26264        for (var P = 0; P < u.length; P += 1)
26265          P >= y &&
26266            P <= E &&
26267            (void 0 === c || e
26268              ? M.push(P)
26269              : (P > c && M.push(P), P < p && C.push(P)));
26270        M.forEach(function (e) {
26271          t.$wrapperEl.append(v(u[e], e));
26272        }),
26273          C.sort(function (e, t) {
26274            return t - e;
26275          }
26275).forEach(function (e) {
26276            t.$wrapperEl.prepend(v(u[e], e));
26277          }),
26278          t.$wrapperEl.children(".swiper-slide").css(m, x + "px"),
26279          T();
26280      },
26281      renderSlide: function (e, t) {
26282        var a = this,
26283          i = a.params.virtual;
26284        if (i.cache && a.virtual.cache[t]) return a.virtual.cache[t];
26285        var s = i.renderSlide
26286          ? m(i.renderSlide.call(a, e, t))
26287          : m(
26288              '<div class="' +
26289                a.params.slideClass +
26290                '" data-swiper-slide-index="' +
26291                t +
26292                '">' +
26293                e +
26294                "</div>"
26295            );
26296        return (
26297          s.attr("data-swiper-slide-index") ||
26298            s.attr("data-swiper-slide-index", t),
26299          i.cache && (a.virtual.cache[t] = s),
26300          s
26301        );
26302      },
26303      appendSlide: function (e) {
26304        var t = this;
26305        if ("object" == typeof e && "length" in e)
26306          for (var a = 0; a < e.length; a += 1)
26307            e[a] && t.virtual.slides.push(e[a]);
26308        else t.virtual.slides.push(e);
26309        t.virtual.update(!0);
26310      },
26311      prependSlide: function (e) {
26312        var t = this,
26313          a = t.activeIndex,
26314          i = a + 1,
26315          s = 1;
26316        if (Array.isArray(e)) {
26317          for (var r = 0; r < e.length; r += 1)
26318            e[r] && t.virtual.slides.unshift(e[r]);
26319          (i = a + e.length), (s = e.length);
26320        } else t.virtual.slides.unshift(e);
26321        if (t.params.virtual.cache) {
26322          var n = t.virtual.cache,
26323            l = {};
26324          Object.keys(n).forEach(function (e) {
26325            var t = n[e],
26326              a = t.attr("data-swiper-slide-index");
26327            a && t.attr("data-swiper-slide-index", parseInt(a, 10) + 1),
26328              (l[parseInt(e, 10) + s] = t);
26329          }),
26330            (t.virtual.cache = l);
26331        }
26332        t.virtual.update(!0), t.slideTo(i, 0);
26333      },
26334      removeSlide: function (e) {
26335        var t = this;
26336        if (null != e) {
26337          var a = t.activeIndex;
26338          if (Array.isArray(e))
26339            for (var i = e.length - 1; i >= 0; i -= 1)
26340              t.virtual.slides.splice(e[i], 1),
26341                t.params.virtual.cache && delete t.virtual.cache[e[i]],
26342                e[i] < a && (a -= 1),
26343                (a = Math.max(a, 0));
26344          else
26345            t.virtual.slides.splice(e, 1),
26346              t.params.virtual.cache && delete t.virtual.cache[e],
26347              e < a && (a -= 1),
26348              (a = Math.max(a, 0));
26349          t.virtual.update(!0), t.slideTo(a, 0);
26350        }
26351      },
26352      removeAllSlides: function () {
26353        var e = this;
26354        (e.virtual.slides = []),
26355          e.params.virtual.cache && (e.virtual.cache = {}),
26356          e.virtual.update(!0),
26357          e.slideTo(0, 0);
26358      },
26359    },
26360    q = {
26361      name: "virtual",
26362      params: {
26363        virtual: {
26364          enabled: !1,
26365          slides: [],
26366          cache: !0,
26367          renderSlide: null,
26368          renderExternal: null,
26369          renderExternalUpdate: !0,
26370          addSlidesBefore: 0,
26371          addSlidesAfter: 0,
26372        },
26373      },
26374      create: function () {
26375        M(this, {
26376          virtual: t({}, F, { slides: this.params.virtual.slides, cache: {} }),
26377        });
26378      },
26379      on: {
26380        beforeInit: function (e) {
26381          if (e.params.virtual.enabled) {
26382            e.classNames.push(e.params.containerModifierClass + "virtual");
26383            var t = { watchSlidesProgress: !0 };
26384            S(e.params, t),
26385              S(e.originalParams, t),
26386              e.params.initialSlide || e.virtual.update();
26387          }
26388        },
26389        setTranslate: function (e) {
26390          e.params.virtual.enabled && e.virtual.update();
26391        },
26392      },
26393    },
26394    j = {
26395      handle: function (e) {
26396        var t = this,
26397          a = l(),
26398          i = r(),
26399          s = t.rtlTranslate,
26400          n = e;
26401        n.originalEvent && (n = n.originalEvent);
26402        var o = n.keyCode || n.charCode,
26403          d = t.params.keyboard.pageUpDown,
26404          p = d && 33 === o,
26405          c = d && 34 === o,
26406          u = 37 === o,
26407          h = 39 === o,
26408          v = 38 === o,
26409          f = 40 === o;
26410        if (
26411          !t.allowSlideNext &&
26412          ((t.isHorizontal() && h) || (t.isVertical() && f) || c)
26413        )
26414          return !1;
26415        if (
26416          !t.allowSlidePrev &&
26417          ((t.isHorizontal() && u) || (t.isVertical() && v) || p)
26418        )
26419          return !1;
26420        if (
26421          !(
26422            n.shiftKey ||
26423            n.altKey ||
26424            n.ctrlKey ||
26425            n.metaKey ||
26426            (i.activeElement &&
26427              i.activeElement.nodeName &&
26428              ("input" === i.activeElement.nodeName.toLowerCase() ||
26429                "textarea" === i.activeElement.nodeName.toLowerCase()))
26430          )
26431        ) {
26432          if (
26433            t.params.keyboard.onlyInViewport &&
26434            (p || c || u || h || v || f)
26435          ) {
26436            var m = !1;
26437            if (
26438              t.$el.parents("." + t.params.slideClass).length > 0 &&
26439              0 === t.$el.parents("." + t.params.slideActiveClass).length
26440            )
26441              return;
26442            var g = a.innerWidth,
26443              b = a.innerHeight,
26444              w = t.$el.offset();
26445            s && (w.left -= t.$el[0].scrollLeft);
26446            for (
26447              var y = [
26448                  [w.left, w.top],
26449                  [w.left + t.width, w.top],
26450                  [w.left, w.top + t.height],
26451                  [w.left + t.width, w.top + t.height],
26452                ],
26453                E = 0;
26454              E < y.length;
26455              E += 1
26456            ) {
26457              var x = y[E];
26458              if (x[0] >= 0 && x[0] <= g && x[1] >= 0 && x[1] <= b) {
26459                if (0 === x[0] && 0 === x[1]) continue;
26460                m = !0;
26461              }
26462            }
26463            if (!m) return;
26464          }
26465          t.isHorizontal()
26466            ? ((p || c || u || h) &&
26467                (n.preventDefault ? n.preventDefault() : (n.returnValue = !1)),
26468              (((c || h) && !s) || ((p || u) && s)) && t.slideNext(),
26469              (((p || u) && !s) || ((c || h) && s)) && t.slidePrev())
26470            : ((p || c || v || f) &&
26471                (n.preventDefault ? n.preventDefault() : (n.returnValue = !1)),
26472              (c || f) && t.slideNext(),
26473              (p || v) && t.slidePrev()),
26474            t.emit("keyPress", o);
26475        }
26476      },
26477      enable: function () {
26478        var e = this,
26479          t = r();
26480        e.keyboard.enabled ||
26481          (m(t).on("keydown", e.keyboard.handle), (e.keyboard.enabled = !0));
26482      },
26483      disable: function () {
26484        var e = this,
26485          t = r();
26486        e.keyboard.enabled &&
26487          (m(t).off("keydown", e.keyboard.handle), (e.keyboard.enabled = !1));
26488      },
26489    },
26490    _ = {
26491      name: "keyboard",
26492      params: { keyboard: { enabled: !1, onlyInViewport: !0, pageUpDown: !0 } },
26493      create: function () {
26494        M(this, { keyboard: t({ enabled: !1 }, j) });
26495      },
26496      on: {
26497        init: function (e) {
26498          e.params.keyboard.enabled && e.keyboard.enable();
26499        },
26500        destroy: function (e) {
26501          e.keyboard.enabled && e.keyboard.disable();
26502        },
26503      },
26504    };
26505  var U = {
26506      lastScrollTime: x(),
26507      lastEventBeforeSnap: void 0,
26508      recentWheelEvents: [],
26509      event: function () {
26510        return l().navigator.userAgent.indexOf("firefox") > -1
26511          ? "DOMMouseScroll"
26512          : (function () {
26513              var e = r(),
26514                t = "onwheel",
26515                a = t in e;
26516              if (!a) {
26517                var i = e.createElement("div");
26518                i.setAttribute(t, "return;"),
26519                  (a = "function" == typeof i.onwheel);
26520              }
26521              return (
26522                !a &&
26523                  e.implementation &&
26524                  e.implementation.hasFeature &&
26525                  !0 !== e.implementation.hasFeature("", "") &&
26526                  (a = e.implementation.hasFeature("Events.wheel", "3.0")),
26527                a
26528              );
26529            })()
26530          ? "wheel"
26531          : "mousewheel";
26532      },
26533      normalize: function (e) {
26534        var t = 0,
26535          a = 0,
26536          i = 0,
26537          s = 0;
26538        return (
26539          "detail" in e && (a = e.detail),
26540          "wheelDelta" in e && (a = -e.wheelDelta / 120),
26541          "wheelDeltaY" in e && (a = -e.wheelDeltaY / 120),
26542          "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120),
26543          "axis" in e && e.axis === e.HORIZONTAL_AXIS && ((t = a), (a = 0)),
26544          (i = 10 * t),
26545          (s = 10 * a),
26546          "deltaY" in e && (s = e.deltaY),
26547          "deltaX" in e && (i = e.deltaX),
26548          e.shiftKey && !i && ((i = s), (s = 0)),
26549          (i || s) &&
26550            e.deltaMode &&
26551            (1 === e.deltaMode
26552              ? ((i *= 40), (s *= 40))
26553              : ((i *= 800), (s *= 800))),
26554          i && !t && (t = i < 1 ? -1 : 1),
26555          s && !a && (a = s < 1 ? -1 : 1),
26556          { spinX: t, spinY: a, pixelX: i, pixelY: s }
26557        );
26558      },
26559      handleMouseEnter: function () {
26560        this.mouseEntered = !0;
26561      },
26562      handleMouseLeave: function () {
26563        this.mouseEntered = !1;
26564      },
26565      handle: function (e) {
26566        var t = e,
26567          a = this,
26568          i = a.params.mousewheel;
26569        a.params.cssMode && t.preventDefault();
26570        var s = a.$el;
26571        if (
26572          ("container" !== a.params.mousewheel.eventsTarget &&
26573            (s = m(a.params.mousewheel.eventsTarget)),
26574          !a.mouseEntered && !s[0].contains(t.target) && !i.releaseOnEdges)
26575        )
26576          return !0;
26577        t.originalEvent && (t = t.originalEvent);
26578        var r = 0,
26579          n = a.rtlTranslate ? -1 : 1,
26580          l = U.normalize(t);
26581        if (i.forceToAxis)
26582          if (a.isHorizontal()) {
26583            if (!(Math.abs(l.pixelX) > Math.abs(l.pixelY))) return !0;
26584            r = -l.pixelX * n;
26585          } else {
26586            if (!(Math.abs(l.pixelY) > Math.abs(l.pixelX))) return !0;
26587            r = -l.pixelY;
26588          }
26589        else
26590          r =
26591            Math.abs(l.pixelX) > Math.abs(l.pixelY) ? -l.pixelX * n : -l.pixelY;
26592        if (0 === r) return !0;
26593        i.invert && (r = -r);
26594        var o = a.getTranslate() + r * i.sensitivity;
26595        if (
26596          (o >= a.minTranslate() && (o = a.minTranslate()),
26597          o <= a.maxTranslate() && (o = a.maxTranslate()),
26598          (!!a.params.loop ||
26599            !(o === a.minTranslate() || o === a.maxTranslate())) &&
26600            a.params.nested &&
26601            t.stopPropagation(),
26602          a.params.freeMode)
26603        ) {
26604          var d = { time: x(), delta: Math.abs(r), direction: Math.sign(r) },
26605            p = a.mousewheel.lastEventBeforeSnap,
26606            c =
26607              p &&
26608              d.time < p.time + 500 &&
26609              d.delta <= p.delta &&
26610              d.direction === p.direction;
26611          if (!c) {
26612            (a.mousewheel.lastEventBeforeSnap = void 0),
26613              a.params.loop && a.loopFix();
26614            var u = a.getTranslate() + r * i.sensitivity,
26615              h = a.isBeginning,
26616              v = a.isEnd;
26617            if (
26618              (u >= a.minTranslate() && (u = a.minTranslate()),
26619              u <= a.maxTranslate() && (u = a.maxTranslate()),
26620              a.setTransition(0),
26621              a.setTranslate(u),
26622              a.updateProgress(),
26623              a.updateActiveIndex(),
26624              a.updateSlidesClasses(),
26625              ((!h && a.isBeginning) || (!v && a.isEnd)) &&
26626                a.updateSlidesClasses(),
26627              a.params.freeModeSticky)
26628            ) {
26629              clearTimeout(a.mousewheel.timeout),
26630                (a.mousewheel.timeout = void 0);
26631              var f = a.mousewheel.recentWheelEvents;
26632              f.length >= 15 && f.shift();
26633              var g = f.length ? f[f.length - 1] : void 0,
26634                b = f[0];
26635              if (
26636                (f.push(d),
26637                g && (d.delta > g.delta || d.direction !== g.direction))
26638              )
26639                f.splice(0);
26640              else if (
26641                f.length >= 15 &&
26642                d.time - b.time < 500 &&
26643                b.delta - d.delta >= 1 &&
26644                d.delta <= 6
26645              ) {
26646                var w = r > 0 ? 0.8 : 0.2;
26647                (a.mousewheel.lastEventBeforeSnap = d),
26648                  f.splice(0),
26649                  (a.mousewheel.timeout = E(function () {
26650                    a.slideToClosest(a.params.speed, !0, void 0, w);
26651                  }, 0));
26652              }
26653              a.mousewheel.timeout ||
26654                (a.mousewheel.timeout = E(function () {
26655                  (a.mousewheel.lastEventBeforeSnap = d),
26656                    f.splice(0),
26657                    a.slideToClosest(a.params.speed, !0, void 0, 0.5);
26658                }, 500));
26659            }
26660            if (
26661              (c || a.emit("scroll", t),
26662              a.params.autoplay &&
26663                a.params.autoplayDisableOnInteraction &&
26664                a.autoplay.stop(),
26665              u === a.minTranslate() || u === a.maxTranslate())
26666            )
26667              return !0;
26668          }
26669        } else {
26670          var y = {
26671              time: x(),
26672              delta: Math.abs(r),
26673              direction: Math.sign(r),
26674              raw: e,
26675            },
26676            T = a.mousewheel.recentWheelEvents;
26677          T.length >= 2 && T.shift();
26678          var C = T.length ? T[T.length - 1] : void 0;
26679          if (
26680            (T.push(y),
26681            C
26682              ? (y.direction !== C.direction ||
26683                  y.delta > C.delta ||
26684                  y.time > C.time + 150) &&
26685                a.mousewheel.animateSlider(y)
26686              : a.mousewheel.animateSlider(y),
26687            a.mousewheel.releaseScroll(y))
26688          )
26689            return !0;
26690        }
26691        return t.preventDefault ? t.preventDefault() : (t.returnValue = !1), !1;
26692      },
26693      animateSlider: function (e) {
26694        var t = this,
26695          a = l();
26696        return (
26697          !(
26698            this.params.mousewheel.thresholdDelta &&
26699            e.delta < this.params.mousewheel.thresholdDelta
26700          ) &&
26701          !(
26702            this.params.mousewheel.thresholdTime &&
26703            x() - t.mousewheel.lastScrollTime <
26704              this.params.mousewheel.thresholdTime
26705          ) &&
26706          ((e.delta >= 6 && x() - t.mousewheel.lastScrollTime < 60) ||
26707            (e.direction < 0
26708              ? (t.isEnd && !t.params.loop) ||
26709                t.animating ||
26710                (t.slideNext(), t.emit("scroll", e.raw))
26711              : (t.isBeginning && !t.params.loop) ||
26712                t.animating ||
26713                (t.slidePrev(), t.emit("scroll", e.raw)),
26714            (t.mousewheel.lastScrollTime = new a.Date().getTime()),
26715            !1))
26716        );
26717      },
26718      releaseScroll: function (e) {
26719        var t = this,
26720          a = t.params.mousewheel;
26721        if (e.direction < 0) {
26722          if (t.isEnd && !t.params.loop && a.releaseOnEdges) return !0;
26723        } else if (t.isBeginning && !t.params.loop && a.releaseOnEdges)
26724          return !0;
26725        return !1;
26726      },
26727      enable: function () {
26728        var e = this,
26729          t = U.event();
26730        if (e.params.cssMode)
26731          return e.wrapperEl.removeEventListener(t, e.mousewheel.handle), !0;
26732        if (!t) return !1;
26733        if (e.mousewheel.enabled) return !1;
26734        var a = e.$el;
26735        return (
26736          "container" !== e.params.mousewheel.eventsTarget &&
26737            (a = m(e.params.mousewheel.eventsTarget)),
26738          a.on("mouseenter", e.mousewheel.handleMouseEnter),
26739          a.on("mouseleave", e.mousewheel.handleMouseLeave),
26740          a.on(t, e.mousewheel.handle),
26741          (e.mousewheel.enabled = !0),
26742          !0
26743        );
26744      },
26745      disable: function () {
26746        var e = this,
26747          t = U.event();
26748        if (e.params.cssMode)
26749          return e.wrapperEl.addEventListener(t, e.mousewheel.handle), !0;
26750        if (!t) return !1;
26751        if (!e.mousewheel.enabled) return !1;
26752        var a = e.$el;
26753        return (
26754          "container" !== e.params.mousewheel.eventsTarget &&
26755            (a = m(e.params.mousewheel.eventsTarget)),
26756          a.off(t, e.mousewheel.handle),
26757          (e.mousewheel.enabled = !1),
26758          !0
26759        );
26760      },
26761    },
26762    K = {
26763      update: function () {
26764        var e = this,
26765          t = e.params.navigation;
26766        if (!e.params.loop) {
26767          var a = e.navigation,
26768            i = a.$nextEl,
26769            s = a.$prevEl;
26770          s &&
26771            s.length > 0 &&
26772            (e.isBeginning
26773              ? s.addClass(t.disabledClass)
26774              : s.removeClass(t.disabledClass),
26775            s[
26776              e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"
26777            ](t.lockClass)),
26778            i &&
26779              i.length > 0 &&
26780              (e.isEnd
26781                ? i.addClass(t.disabledClass)
26782                : i.removeClass(t.disabledClass),
26783              i[
26784                e.params.watchOverflow && e.isLocked
26785                  ? "addClass"
26786                  : "removeClass"
26787              ](t.lockClass));
26788        }
26789      },
26790      onPrevClick: function (e) {
26791        var t = this;
26792        e.preventDefault(), (t.isBeginning && !t.params.loop) || t.slidePrev();
26793      },
26794      onNextClick: function (e) {
26795        var t = this;
26796        e.preventDefault(), (t.isEnd && !t.params.loop) || t.slideNext();
26797      },
26798      init: function () {
26799        var e,
26800          t,
26801          a = this,
26802          i = a.params.navigation;
26803        (i.nextEl || i.prevEl) &&
26804          (i.nextEl &&
26805            ((e = m(i.nextEl)),
26806            a.params.uniqueNavElements &&
26807              "string" == typeof i.nextEl &&
26808              e.length > 1 &&
26809              1 === a.$el.find(i.nextEl).length &&
26810              (e = a.$el.find(i.nextEl))),
26811          i.prevEl &&
26812            ((t = m(i.prevEl)),
26813            a.params.uniqueNavElements &&
26814              "string" == typeof i.prevEl &&
26815              t.length > 1 &&
26816              1 === a.$el.find(i.prevEl).length &&
26817              (t = a.$el.find(i.prevEl))),
26818          e && e.length > 0 && e.on("click", a.navigation.onNextClick),
26819          t && t.length > 0 && t.on("click", a.navigation.onPrevClick),
26820          S(a.navigation, {
26821            $nextEl: e,
26822            nextEl: e && e[0],
26823            $prevEl: t,
26824            prevEl: t && t[0],
26825          }));
26826      },
26827      destroy: function () {
26828        var e = this,
26829          t = e.navigation,
26830          a = t.$nextEl,
26831          i = t.$prevEl;
26832        a &&
26833          a.length &&
26834          (a.off("click", e.navigation.onNextClick),
26835          a.removeClass(e.params.navigation.disabledClass)),
26836          i &&
26837            i.length &&
26838            (i.off("click", e.navigation.onPrevClick),
26839            i.removeClass(e.params.navigation.disabledClass));
26840      },
26841    },
26842    Z = {
26843      update: function () {
26844        var e = this,
26845          t = e.rtl,
26846          a = e.params.pagination;
26847        if (
26848          a.el &&
26849          e.pagination.el &&
26850          e.pagination.$el &&
26851          0 !== e.pagination.$el.length
26852        ) {
26853          var i,
26854            s =
26855              e.virtual && e.params.virtual.enabled
26856                ? e.virtual.slides.length
26857                : e.slides.length,
26858            r = e.pagination.$el,
26859            n = e.params.loop
26860              ? Math.ceil((s - 2 * e.loopedSlides) / e.params.slidesPerGroup)
26861              : e.snapGrid.length;
26862          if (
26863            (e.params.loop
26864              ? ((i = Math.ceil(
26865                  (e.activeIndex - e.loopedSlides) / e.params.slidesPerGroup
26866                )) >
26867                  s - 1 - 2 * e.loopedSlides && (i -= s - 2 * e.loopedSlides),
26868                i > n - 1 && (i -= n),
26869                i < 0 && "bullets" !== e.params.paginationType && (i = n + i))
26870              : (i = void 0 !== e.snapIndex ? e.snapIndex : e.activeIndex || 0),
26871            "bullets" === a.type &&
26872              e.pagination.bullets &&
26873              e.pagination.bullets.length > 0)
26874          ) {
26875            var l,
26876              o,
26877              d,
26878              p = e.pagination.bullets;
26879            if (
26880              (a.dynamicBullets &&
26881                ((e.pagination.bulletSize = p
26882                  .eq(0)
26883                  [e.isHorizontal() ? "outerWidth" : "outerHeight"](!0)),
26884                r.css(
26885                  e.isHorizontal() ? "width" : "height",
26886                  e.pagination.bulletSize * (a.dynamicMainBullets + 4) + "px"
26887                ),
26888                a.dynamicMainBullets > 1 &&
26889                  void 0 !== e.previousIndex &&
26890                  ((e.pagination.dynamicBulletIndex += i - e.previousIndex),
26891                  e.pagination.dynamicBulletIndex > a.dynamicMainBullets - 1
26892                    ? (e.pagination.dynamicBulletIndex =
26893                        a.dynamicMainBullets - 1)
26894                    : e.pagination.dynamicBulletIndex < 0 &&
26895                      (e.pagination.dynamicBulletIndex = 0)),
26896                (l = i - e.pagination.dynamicBulletIndex),
26897                (d =
26898                  ((o = l + (Math.min(p.length, a.dynamicMainBullets) - 1)) +
26899                    l) /
26900                  2)),
26901              p.removeClass(
26902                a.bulletActiveClass +
26903                  " " +
26904                  a.bulletActiveClass +
26905                  "-next " +
26906                  a.bulletActiveClass +
26907                  "-next-next " +
26908                  a.bulletActiveClass +
26909                  "-prev " +
26910                  a.bulletActiveClass +
26911                  "-prev-prev " +
26912                  a.bulletActiveClass +
26913                  "-main"
26914              ),
26915              r.length > 1)
26916            )
26917              p.each(function (e) {
26918                var t = m(e),
26919                  s = t.index();
26920                s === i && t.addClass(a.bulletActiveClass),
26921                  a.dynamicBullets &&
26922                    (s >= l &&
26923                      s <= o &&
26924                      t.addClass(a.bulletActiveClass + "-main"),
26925                    s === l &&
26926                      t
26927                        .prev()
26928                        .addClass(a.bulletActiveClass + "-prev")
26929                        .prev()
26930                        .addClass(a.bulletActiveClass + "-prev-prev"),
26931                    s === o &&
26932                      t
26933                        .next()
26934                        .addClass(a.bulletActiveClass + "-next")
26935                        .next()
26936                        .addClass(a.bulletActiveClass + "-next-next"));
26937              });
26938            else {
26939              var c = p.eq(i),
26940                u = c.index();
26941              if ((c.addClass(a.bulletActiveClass), a.dynamicBullets)) {
26942                for (var h = p.eq(l), v = p.eq(o), f = l; f <= o; f += 1)
26943                  p.eq(f).addClass(a.bulletActiveClass + "-main");
26944                if (e.params.loop)
26945                  if (u >= p.length - a.dynamicMainBullets) {
26946                    for (var g = a.dynamicMainBullets; g >= 0; g -= 1)
26947                      p.eq(p.length - g).addClass(
26948                        a.bulletActiveClass + "-main"
26949                      );
26950                    p.eq(p.length - a.dynamicMainBullets - 1).addClass(
26951                      a.bulletActiveClass + "-prev"
26952                    );
26953                  } else
26954                    h
26955                      .prev()
26956                      .addClass(a.bulletActiveClass + "-prev")
26957                      .prev()
26958                      .addClass(a.bulletActiveClass + "-prev-prev"),
26959                      v
26960                        .next()
26961                        .addClass(a.bulletActiveClass + "-next")
26962                        .next()
26963                        .addClass(a.bulletActiveClass + "-next-next");
26964                else
26965                  h
26966                    .prev()
26967                    .addClass(a.bulletActiveClass + "-prev")
26968                    .prev()
26969                    .addClass(a.bulletActiveClass + "-prev-prev"),
26970                    v
26971                      .next()
26972                      .addClass(a.bulletActiveClass + "-next")
26973                      .next()
26974                      .addClass(a.bulletActiveClass + "-next-next");
26975              }
26976            }
26977            if (a.dynamicBullets) {
26978              var b = Math.min(p.length, a.dynamicMainBullets + 4),
26979                w =
26980                  (e.pagination.bulletSize * b - e.pagination.bulletSize) / 2 -
26981                  d * e.pagination.bulletSize,
26982                y = t ? "right" : "left";
26983              p.css(e.isHorizontal() ? y : "top", w + "px");
26984            }
26985          }
26986          if (
26987            ("fraction" === a.type &&
26988              (r
26989                .find("." + a.currentClass)
26990                .text(a.formatFractionCurrent(i + 1)),
26991              r.find("." + a.totalClass).text(a.formatFractionTotal(n))),
26992            "progressbar" === a.type)
26993          ) {
26994            var E;
26995            E = a.progressbarOpposite
26996              ? e.isHorizontal()
26997                ? "vertical"
26998                : "horizontal"
26999              : e.isHorizontal()
27000              ? "horizontal"
27001              : "vertical";
27002            var x = (i + 1) / n,
27003              T = 1,
27004              C = 1;
27005            "horizontal" === E ? (T = x) : (C = x),
27006              r
27007                .find("." + a.progressbarFillClass)
27008                .transform(
27009                  "translate3d(0,0,0) scaleX(" + T + ") scaleY(" + C + ")"
27010                )
27011                .transition(e.params.speed);
27012          }
27013          "custom" === a.type && a.renderCustom
27014            ? (r.html(a.renderCustom(e, i + 1, n)),
27015              e.emit("paginationRender", r[0]))
27016            : e.emit("paginationUpdate", r[0]),
27017            r[
27018              e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"
27019            ](a.lockClass);
27020        }
27021      },
27022      render: function () {
27023        var e = this,
27024          t = e.params.pagination;
27025        if (
27026          t.el &&
27027          e.pagination.el &&
27028          e.pagination.$el &&
27029          0 !== e.pagination.$el.length
27030        ) {
27031          var a =
27032              e.virtual && e.params.virtual.enabled
27033                ? e.virtual.slides.length
27034                : e.slides.length,
27035            i = e.pagination.$el,
27036            s = "";
27037          if ("bullets" === t.type) {
27038            var r = e.params.loop
27039              ? Math.ceil((a - 2 * e.loopedSlides) / e.params.slidesPerGroup)
27040              : e.snapGrid.length;
27041            e.params.freeMode && !e.params.loop && r > a && (r = a);
27042            for (var n = 0; n < r; n += 1)
27043              t.renderBullet
27044                ? (s += t.renderBullet.call(e, n, t.bulletClass))
27045                : (s +=
27046                    "<" +
27047                    t.bulletElement +
27048                    ' class="' +
27049                    t.bulletClass +
27050                    '"></' +
27051                    t.bulletElement +
27052                    ">");
27053            i.html(s),
27054              (e.pagination.bullets = i.find(
27055                "." + t.bulletClass.replace(/ /g, ".")
27056              ));
27057          }
27058          "fraction" === t.type &&
27059            ((s = t.renderFraction
27060              ? t.renderFraction.call(e, t.currentClass, t.totalClass)
27061              : '<span class="' +
27062                t.currentClass +
27063                '"></span> / <span class="' +
27064                t.totalClass +
27065                '"></span>'),
27066            i.html(s)),
27067            "progressbar" === t.type &&
27068              ((s = t.renderProgressbar
27069                ? t.renderProgressbar.call(e, t.progressbarFillClass)
27070                : '<span class="' + t.progressbarFillClass + '"></span>'),
27071              i.html(s)),
27072            "custom" !== t.type &&
27073              e.emit("paginationRender", e.pagination.$el[0]);
27074        }
27075      },
27076      init: function () {
27077        var e = this,
27078          t = e.params.pagination;
27079        if (t.el) {
27080          var a = m(t.el);
27081          0 !== a.length &&
27082            (e.params.uniqueNavElements &&
27083              "string" == typeof t.el &&
27084              a.length > 1 &&
27085              (a = e.$el.find(t.el)),
27086            "bullets" === t.type && t.clickable && a.addClass(t.clickableClass),
27087            a.addClass(t.modifierClass + t.type),
27088            "bullets" === t.type &&
27089              t.dynamicBullets &&
27090              (a.addClass("" + t.modifierClass + t.type + "-dynamic"),
27091              (e.pagination.dynamicBulletIndex = 0),
27092              t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)),
27093            "progressbar" === t.type &&
27094              t.progressbarOpposite &&
27095              a.addClass(t.progressbarOppositeClass),
27096            t.clickable &&
27097              a.on(
27098                "click",
27099                "." + t.bulletClass.replace(/ /g, "."),
27100                function (t) {
27101                  t.preventDefault();
27102                  var a = m(this).index() * e.params.slidesPerGroup;
27103                  e.params.loop && (a += e.loopedSlides), e.slideTo(a);
27104                }
27105              ),
27106            S(e.pagination, { $el: a, el: a[0] }));
27107        }
27108      },
27109      destroy: function () {
27110        var e = this,
27111          t = e.params.pagination;
27112        if (
27113          t.el &&
27114          e.pagination.el &&
27115          e.pagination.$el &&
27116          0 !== e.pagination.$el.length
27117        ) {
27118          var a = e.pagination.$el;
27119          a.removeClass(t.hiddenClass),
27120            a.removeClass(t.modifierClass + t.type),
27121            e.pagination.bullets &&
27122              e.pagination.bullets.removeClass(t.bulletActiveClass),
27123            t.clickable &&
27124              a.off("click", "." + t.bulletClass.replace(/ /g, "."));
27125        }
27126      },
27127    },
27128    J = {
27129      setTranslate: function () {
27130        var e = this;
27131        if (e.params.scrollbar.el && e.scrollbar.el) {
27132          var t = e.scrollbar,
27133            a = e.rtlTranslate,
27134            i = e.progress,
27135            s = t.dragSize,
27136            r = t.trackSize,
27137            n = t.$dragEl,
27138            l = t.$el,
27139            o = e.params.scrollbar,
27140            d = s,
27141            p = (r - s) * i;
27142          a
27143            ? (p = -p) > 0
27144              ? ((d = s - p), (p = 0))
27145              : -p + s > r && (d = r + p)
27146            : p < 0
27147            ? ((d = s + p), (p = 0))
27148            : p + s > r && (d = r - p),
27149            e.isHorizontal()
27150              ? (n.transform("translate3d(" + p + "px, 0, 0)"),
27151                (n[0].style.width = d + "px"))
27152              : (n.transform("translate3d(0px, " + p + "px, 0)"),
27153                (n[0].style.height = d + "px")),
27154            o.hide &&
27155              (clearTimeout(e.scrollbar.timeout),
27156              (l[0].style.opacity = 1),
27157              (e.scrollbar.timeout = setTimeout(function () {
27158                (l[0].style.opacity = 0), l.transition(400);
27159              }, 1e3)));
27160        }
27161      },
27162      setTransition: function (e) {
27163        var t = this;
27164        t.params.scrollbar.el &&
27165          t.scrollbar.el &&
27166          t.scrollbar.$dragEl.transition(e);
27167      },
27168      updateSize: function () {
27169        var e = this;
27170        if (e.params.scrollbar.el && e.scrollbar.el) {
27171          var t = e.scrollbar,
27172            a = t.$dragEl,
27173            i = t.$el;
27174          (a[0].style.width = ""), (a[0].style.height = "");
27175          var s,
27176            r = e.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight,
27177            n = e.size / e.virtualSize,
27178            l = n * (r / e.size);
27179          (s =
27180            "auto" === e.params.scrollbar.dragSize
27181              ? r * n
27182              : parseInt(e.params.scrollbar.dragSize, 10)),
27183            e.isHorizontal()
27184              ? (a[0].style.width = s + "px")
27185              : (a[0].style.height = s + "px"),
27186            (i[0].style.display = n >= 1 ? "none" : ""),
27187            e.params.scrollbar.hide && (i[0].style.opacity = 0),
27188            S(t, { trackSize: r, divider: n, moveDivider: l, dragSize: s }),
27189            t.$el[
27190              e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"
27191            ](e.params.scrollbar.lockClass);
27192        }
27193      },
27194      getPointerPosition: function (e) {
27195        return this.isHorizontal()
27196          ? "touchstart" === e.type || "touchmove" === e.type
27197            ? e.targetTouches[0].clientX
27198            : e.clientX
27199          : "touchstart" === e.type || "touchmove" === e.type
27200          ? e.targetTouches[0].clientY
27201          : e.clientY;
27202      },
27203      setDragPosition: function (e) {
27204        var t,
27205          a = this,
27206          i = a.scrollbar,
27207          s = a.rtlTranslate,
27208          r = i.$el,
27209          n = i.dragSize,
27210          l = i.trackSize,
27211          o = i.dragStartPos;
27212        (t =
27213          (i.getPointerPosition(e) -
27214            r.offset()[a.isHorizontal() ? "left" : "top"] -
27215            (null !== o ? o : n / 2)) /
27216          (l - n)),
27217          (t = Math.max(Math.min(t, 1), 0)),
27218          s && (t = 1 - t);
27219        var d = a.minTranslate() + (a.maxTranslate() - a.minTranslate()) * t;
27220        a.updateProgress(d),
27221          a.setTranslate(d),
27222          a.updateActiveIndex(),
27223          a.updateSlidesClasses();
27224      },
27225      onDragStart: function (e) {
27226        var t = this,
27227          a = t.params.scrollbar,
27228          i = t.scrollbar,
27229          s = t.$wrapperEl,
27230          r = i.$el,
27231          n = i.$dragEl;
27232        (t.scrollbar.isTouched = !0),
27233          (t.scrollbar.dragStartPos =
27234            e.target === n[0] || e.target === n
27235              ? i.getPointerPosition(e) -
27236                e.target.getBoundingClientRect()[
27237                  t.isHorizontal() ? "left" : "top"
27238                ]
27239              : null),
27240          e.preventDefault(),
27241          e.stopPropagation(),
27242          s.transition(100),
27243          n.transition(100),
27244          i.setDragPosition(e),
27245          clearTimeout(t.scrollbar.dragTimeout),
27246          r.transition(0),
27247          a.hide && r.css("opacity", 1),
27248          t.params.cssMode && t.$wrapperEl.css("scroll-snap-type", "none"),
27249          t.emit("scrollbarDragStart", e);
27250      },
27251      onDragMove: function (e) {
27252        var t = this,
27253          a = t.scrollbar,
27254          i = t.$wrapperEl,
27255          s = a.$el,
27256          r = a.$dragEl;
27257        t.scrollbar.isTouched &&
27258          (e.preventDefault ? e.preventDefault() : (e.returnValue = !1),
27259          a.setDragPosition(e),
27260          i.transition(0),
27261          s.transition(0),
27262          r.transition(0),
27263          t.emit("scrollbarDragMove", e));
27264      },
27265      onDragEnd: function (e) {
27266        var t = this,
27267          a = t.params.scrollbar,
27268          i = t.scrollbar,
27269          s = t.$wrapperEl,
27270          r = i.$el;
27271        t.scrollbar.isTouched &&
27272          ((t.scrollbar.isTouched = !1),
27273          t.params.cssMode &&
27274            (t.$wrapperEl.css("scroll-snap-type", ""), s.transition("")),
27275          a.hide &&
27276            (clearTimeout(t.scrollbar.dragTimeout),
27277            (t.scrollbar.dragTimeout = E(function () {
27278              r.css("opacity", 0), r.transition(400);
27279            }, 1e3))),
27280          t.emit("scrollbarDragEnd", e),
27281          a.snapOnRelease && t.slideToClosest());
27282      },
27283      enableDraggable: function () {
27284        var e = this;
27285        if (e.params.scrollbar.el) {
27286          var t = r(),
27287            a = e.scrollbar,
27288            i = e.touchEventsTouch,
27289            s = e.touchEventsDesktop,
27290            n = e.params,
27291            l = e.support,
27292            o = a.$el[0],
27293            d = !(!l.passiveListener || !n.passiveListeners) && {
27294              passive: !1,
27295              capture: !1,
27296            },
27297            p = !(!l.passiveListener || !n.passiveListeners) && {
27298              passive: !0,
27299              capture: !1,
27300            };
27301          o &&
27302            (l.touch
27303              ? (o.addEventListener(i.start, e.scrollbar.onDragStart, d),
27304                o.addEventListener(i.move, e.scrollbar.onDragMove, d),
27305                o.addEventListener(i.end, e.scrollbar.onDragEnd, p))
27306              : (o.addEventListener(s.start, e.scrollbar.onDragStart, d),
27307                t.addEventListener(s.move, e.scrollbar.onDragMove, d),
27308                t.addEventListener(s.end, e.scrollbar.onDragEnd, p)));
27309        }
27310      },
27311      disableDraggable: function () {
27312        var e = this;
27313        if (e.params.scrollbar.el) {
27314          var t = r(),
27315            a = e.scrollbar,
27316            i = e.touchEventsTouch,
27317            s = e.touchEventsDesktop,
27318            n = e.params,
27319            l = e.support,
27320            o = a.$el[0],
27321            d = !(!l.passiveListener || !n.passiveListeners) && {
27322              passive: !1,
27323              capture: !1,
27324            },
27325            p = !(!l.passiveListener || !n.passiveListeners) && {
27326              passive: !0,
27327              capture: !1,
27328            };
27329          o &&
27330            (l.touch
27331              ? (o.removeEventListener(i.start, e.scrollbar.onDragStart, d),
27332                o.removeEventListener(i.move, e.scrollbar.onDragMove, d),
27333                o.removeEventListener(i.end, e.scrollbar.onDragEnd, p))
27334              : (o.removeEventListener(s.start, e.scrollbar.onDragStart, d),
27335                t.removeEventListener(s.move, e.scrollbar.onDragMove, d),
27336                t.removeEventListener(s.end, e.scrollbar.onDragEnd, p)));
27337        }
27338      },
27339      init: function () {
27340        var e = this;
27341        if (e.params.scrollbar.el) {
27342          var t = e.scrollbar,
27343            a = e.$el,
27344            i = e.params.scrollbar,
27345            s = m(i.el);
27346          e.params.uniqueNavElements &&
27347            "string" == typeof i.el &&
27348            s.length > 1 &&
27349            1 === a.find(i.el).length &&
27350            (s = a.find(i.el));
27351          var r = s.find("." + e.params.scrollbar.dragClass);
27352          0 === r.length &&
27353            ((r = m(
27354              '<div class="' + e.params.scrollbar.dragClass + '"></div>'
27355            )),
27356            s.append(r)),
27357            S(t, { $el: s, el: s[0], $dragEl: r, dragEl: r[0] }),
27358            i.draggable && t.enableDraggable();
27359        }
27360      },
27361      destroy: function () {
27362        this.scrollbar.disableDraggable();
27363      },
27364    },
27365    Q = {
27366      setTransform: function (e, t) {
27367        var a = this.rtl,
27368          i = m(e),
27369          s = a ? -1 : 1,
27370          r = i.attr("data-swiper-parallax") || "0",
27371          n = i.attr("data-swiper-parallax-x"),
27372          l = i.attr("data-swiper-parallax-y"),
27373          o = i.attr("data-swiper-parallax-scale"),
27374          d = i.attr("data-swiper-parallax-opacity");
27375        if (
27376          (n || l
27377            ? ((n = n || "0"), (l = l || "0"))
27378            : this.isHorizontal()
27379            ? ((n = r), (l = "0"))
27380            : ((l = r), (n = "0")),
27381          (n =
27382            n.indexOf("%") >= 0
27383              ? parseInt(n, 10) * t * s + "%"
27384              : n * t * s + "px"),
27385          (l = l.indexOf("%") >= 0 ? parseInt(l, 10) * t + "%" : l * t + "px"),
27386          null != d)
27387        ) {
27388          var p = d - (d - 1) * (1 - Math.abs(t));
27389          i[0].style.opacity = p;
27390        }
27391        if (null == o) i.transform("translate3d(" + n + ", " + l + ", 0px)");
27392        else {
27393          var c = o - (o - 1) * (1 - Math.abs(t));
27394          i.transform(
27395            "translate3d(" + n + ", " + l + ", 0px) scale(" + c + ")"
27396          );
27397        }
27398      },
27399      setTranslate: function () {
27400        var e = this,
27401          t = e.$el,
27402          a = e.slides,
27403          i = e.progress,
27404          s = e.snapGrid;
27405        t
27406          .children(
27407            "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
27408          )
27409          .each(function (t) {
27410            e.parallax.setTransform(t, i);
27411          }),
27412          a.each(function (t, a) {
27413            var r = t.progress;
27414            e.params.slidesPerGroup > 1 &&
27415              "auto" !== e.params.slidesPerView &&
27416              (r += Math.ceil(a / 2) - i * (s.length - 1)),
27417              (r = Math.min(Math.max(r, -1), 1)),
27418              m(t)
27419                .find(
27420                  "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
27421                )
27422                .each(function (t) {
27423                  e.parallax.setTransform(t, r);
27424                });
27425          });
27426      },
27427      setTransition: function (e) {
27428        void 0 === e && (e = this.params.speed);
27429        this.$el
27430          .find(
27431            "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
27432          )
27433          .each(function (t) {
27434            var a = m(t),
27435              i = parseInt(a.attr("data-swiper-parallax-duration"), 10) || e;
27436            0 === e && (i = 0), a.transition(i);
27437          });
27438      },
27439    },
27440    ee = {
27441      getDistanceBetweenTouches: function (e) {
27442        if (e.targetTouches.length < 2) return 1;
27443        var t = e.targetTouches[0].pageX,
27444          a = e.targetTouches[0].pageY,
27445          i = e.targetTouches[1].pageX,
27446          s = e.targetTouches[1].pageY;
27447        return Math.sqrt(Math.pow(i - t, 2) + Math.pow(s - a, 2));
27448      },
27449      onGestureStart: function (e) {
27450        var t = this,
27451          a = t.support,
27452          i = t.params.zoom,
27453          s = t.zoom,
27454          r = s.gesture;
27455        if (
27456          ((s.fakeGestureTouched = !1), (s.fakeGestureMoved = !1), !a.gestures)
27457        ) {
27458          if (
27459            "touchstart" !== e.type ||
27460            ("touchstart" === e.type && e.targetTouches.length < 2)
27461          )
27462            return;
27463          (s.fakeGestureTouched = !0),
27464            (r.scaleStart = ee.getDistanceBetweenTouches(e));
27465        }
27466        (r.$slideEl && r.$slideEl.length) ||
27467        ((r.$slideEl = m(e.target).closest("." + t.params.slideClass)),
27468        0 === r.$slideEl.length && (r.$slideEl = t.slides.eq(t.activeIndex)),
27469        (r.$imageEl = r.$slideEl.find(
27470          "img, svg, canvas, picture, .swiper-zoom-target"
27471        )),
27472        (r.$imageWrapEl = r.$imageEl.parent("." + i.containerClass)),
27473        (r.maxRatio = r.$imageWrapEl.attr("data-swiper-zoom") || i.maxRatio),
27474        0 !== r.$imageWrapEl.length)
27475          ? (r.$imageEl && r.$imageEl.transition(0), (t.zoom.isScaling = !0))
27476          : (r.$imageEl = void 0);
27477      },
27478      onGestureChange: function (e) {
27479        var t = this,
27480          a = t.support,
27481          i = t.params.zoom,
27482          s = t.zoom,
27483          r = s.gesture;
27484        if (!a.gestures) {
27485          if (
27486            "touchmove" !== e.type ||
27487            ("touchmove" === e.type && e.targetTouches.length < 2)
27488          )
27489            return;
27490          (s.fakeGestureMoved = !0),
27491            (r.scaleMove = ee.getDistanceBetweenTouches(e));
27492        }
27493        r.$imageEl && 0 !== r.$imageEl.length
27494          ? (a.gestures
27495              ? (s.scale = e.scale * s.currentScale)
27496              : (s.scale = (r.scaleMove / r.scaleStart) * s.currentScale),
27497            s.scale > r.maxRatio &&
27498              (s.scale =
27499                r.maxRatio - 1 + Math.pow(s.scale - r.maxRatio + 1, 0.5)),
27500            s.scale < i.minRatio &&
27501              (s.scale =
27502                i.minRatio + 1 - Math.pow(i.minRatio - s.scale + 1, 0.5)),
27503            r.$imageEl.transform("translate3d(0,0,0) scale(" + s.scale + ")"))
27504          : "gesturechange" === e.type && s.onGestureStart(e);
27505      },
27506      onGestureEnd: function (e) {
27507        var t = this,
27508          a = t.device,
27509          i = t.support,
27510          s = t.params.zoom,
27511          r = t.zoom,
27512          n = r.gesture;
27513        if (!i.gestures) {
27514          if (!r.fakeGestureTouched || !r.fakeGestureMoved) return;
27515          if (
27516            "touchend" !== e.type ||
27517            ("touchend" === e.type && e.changedTouches.length < 2 && !a.android)
27518          )
27519            return;
27520          (r.fakeGestureTouched = !1), (r.fakeGestureMoved = !1);
27521        }
27522        n.$imageEl &&
27523          0 !== n.$imageEl.length &&
27524          ((r.scale = Math.max(Math.min(r.scale, n.maxRatio), s.minRatio)),
27525          n.$imageEl
27526            .transition(t.params.speed)
27527            .transform("translate3d(0,0,0) scale(" + r.scale + ")"),
27528          (r.currentScale = r.scale),
27529          (r.isScaling = !1),
27530          1 === r.scale && (n.$slideEl = void 0));
27531      },
27532      onTouchStart: function (e) {
27533        var t = this.device,
27534          a = this.zoom,
27535          i = a.gesture,
27536          s = a.image;
27537        i.$imageEl &&
27538          0 !== i.$imageEl.length &&
27539          (s.isTouched ||
27540            (t.android && e.cancelable && e.preventDefault(),
27541            (s.isTouched = !0),
27542            (s.touchesStart.x =
27543              "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX),
27544            (s.touchesStart.y =
27545              "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY)));
27546      },
27547      onTouchMove: function (e) {
27548        var t = this,
27549          a = t.zoom,
27550          i = a.gesture,
27551          s = a.image,
27552          r = a.velocity;
27553        if (
27554          i.$imageEl &&
27555          0 !== i.$imageEl.length &&
27556          ((t.allowClick = !1), s.isTouched && i.$slideEl)
27557        ) {
27558          s.isMoved ||
27559            ((s.width = i.$imageEl[0].offsetWidth),
27560            (s.height = i.$imageEl[0].offsetHeight),
27561            (s.startX = T(i.$imageWrapEl[0], "x") || 0),
27562            (s.startY = T(i.$imageWrapEl[0], "y") || 0),
27563            (i.slideWidth = i.$slideEl[0].offsetWidth),
27564            (i.slideHeight = i.$slideEl[0].offsetHeight),
27565            i.$imageWrapEl.transition(0),
27566            t.rtl && ((s.startX = -s.startX), (s.startY = -s.startY)));
27567          var n = s.width * a.scale,
27568            l = s.height * a.scale;
27569          if (!(n < i.slideWidth && l < i.slideHeight)) {
27570            if (
27571              ((s.minX = Math.min(i.slideWidth / 2 - n / 2, 0)),
27572              (s.maxX = -s.minX),
27573              (s.minY = Math.min(i.slideHeight / 2 - l / 2, 0)),
27574              (s.maxY = -s.minY),
27575              (s.touchesCurrent.x =
27576                "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX),
27577              (s.touchesCurrent.y =
27578                "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY),
27579              !s.isMoved && !a.isScaling)
27580            ) {
27581              if (
27582                t.isHorizontal() &&
27583                ((Math.floor(s.minX) === Math.floor(s.startX) &&
27584                  s.touchesCurrent.x < s.touchesStart.x) ||
27585                  (Math.floor(s.maxX) === Math.floor(s.startX) &&
27586                    s.touchesCurrent.x > s.touchesStart.x))
27587              )
27588                return void (s.isTouched = !1);
27589              if (
27590                !t.isHorizontal() &&
27591                ((Math.floor(s.minY) === Math.floor(s.startY) &&
27592                  s.touchesCurrent.y < s.touchesStart.y) ||
27593                  (Math.floor(s.maxY) === Math.floor(s.startY) &&
27594                    s.touchesCurrent.y > s.touchesStart.y))
27595              )
27596                return void (s.isTouched = !1);
27597            }
27598            e.cancelable && e.preventDefault(),
27599              e.stopPropagation(),
27600              (s.isMoved = !0),
27601              (s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX),
27602              (s.currentY = s.touchesCurrent.y - s.touchesStart.y + s.startY),
27603              s.currentX < s.minX &&
27604                (s.currentX =
27605                  s.minX + 1 - Math.pow(s.minX - s.currentX + 1, 0.8)),
27606              s.currentX > s.maxX &&
27607                (s.currentX =
27608                  s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1, 0.8)),
27609              s.currentY < s.minY &&
27610                (s.currentY =
27611                  s.minY + 1 - Math.pow(s.minY - s.currentY + 1, 0.8)),
27612              s.currentY > s.maxY &&
27613                (s.currentY =
27614                  s.maxY - 1 + Math.pow(s.currentY - s.maxY + 1, 0.8)),
27615              r.prevPositionX || (r.prevPositionX = s.touchesCurrent.x),
27616              r.prevPositionY || (r.prevPositionY = s.touchesCurrent.y),
27617              r.prevTime || (r.prevTime = Date.now()),
27618              (r.x =
27619                (s.touchesCurrent.x - r.prevPositionX) /
27620                (Date.now() - r.prevTime) /
27621                2),
27622              (r.y =
27623                (s.touchesCurrent.y - r.prevPositionY) /
27624                (Date.now() - r.prevTime) /
27625                2),
27626              Math.abs(s.touchesCurrent.x - r.prevPositionX) < 2 && (r.x = 0),
27627              Math.abs(s.touchesCurrent.y - r.prevPositionY) < 2 && (r.y = 0),
27628              (r.prevPositionX = s.touchesCurrent.x),
27629              (r.prevPositionY = s.touchesCurrent.y),
27630              (r.prevTime = Date.now()),
27631              i.$imageWrapEl.transform(
27632                "translate3d(" + s.currentX + "px, " + s.currentY + "px,0
27632)"
27633              );
27634          }
27635        }
27636      },
27637      onTouchEnd: function () {
27638        var e = this.zoom,
27639          t = e.gesture,
27640          a = e.image,
27641          i = e.velocity;
27642        if (t.$imageEl && 0 !== t.$imageEl.length) {
27643          if (!a.isTouched || !a.isMoved)
27644            return (a.isTouched = !1), void (a.isMoved = !1);
27645          (a.isTouched = !1), (a.isMoved = !1);
27646          var s = 300,
27647            r = 300,
27648            n = i.x * s,
27649            l = a.currentX + n,
27650            o = i.y * r,
27651            d = a.currentY + o;
27652          0 !== i.x && (s = Math.abs((l - a.currentX) / i.x)),
27653            0 !== i.y && (r = Math.abs((d - a.currentY) / i.y));
27654          var p = Math.max(s, r);
27655          (a.currentX = l), (a.currentY = d);
27656          var c = a.width * e.scale,
27657            u = a.height * e.scale;
27658          (a.minX = Math.min(t.slideWidth / 2 - c / 2, 0)),
27659            (a.maxX = -a.minX),
27660            (a.minY = Math.min(t.slideHeight / 2 - u / 2, 0)),
27661            (a.maxY = -a.minY),
27662            (a.currentX = Math.max(Math.min(a.currentX, a.maxX), a.minX)),
27663            (a.currentY = Math.max(Math.min(a.currentY, a.maxY), a.minY)),
27664            t.$imageWrapEl
27665              .transition(p)
27666              .transform(
27667                "translate3d(" + a.currentX + "px, " + a.currentY + "px,0)"
27668              );
27669        }
27670      },
27671      onTransitionEnd: function () {
27672        var e = this,
27673          t = e.zoom,
27674          a = t.gesture;
27675        a.$slideEl &&
27676          e.previousIndex !== e.activeIndex &&
27677          (a.$imageEl && a.$imageEl.transform("translate3d(0,0,0) scale(1)"),
27678          a.$imageWrapEl && a.$imageWrapEl.transform("translate3d(0,0,0)"),
27679          (t.scale = 1),
27680          (t.currentScale = 1),
27681          (a.$slideEl = void 0),
27682          (a.$imageEl = void 0),
27683          (a.$imageWrapEl = void 0));
27684      },
27685      toggle: function (e) {
27686        var t = this.zoom;
27687        t.scale && 1 !== t.scale ? t.out() : t.in(e);
27688      },
27689      in: function (e) {
27690        var t,
27691          a,
27692          i,
27693          s,
27694          r,
27695          n,
27696          o,
27697          d,
27698          p,
27699          c,
27700          u,
27701          h,
27702          v,
27703          f,
27704          m,
27705          g,
27706          b = this,
27707          w = l(),
27708          y = b.zoom,
27709          E = b.params.zoom,
27710          x = y.gesture,
27711          T = y.image;
27712        (x.$slideEl ||
27713          (b.params.virtual && b.params.virtual.enabled && b.virtual
27714            ? (x.$slideEl = b.$wrapperEl.children(
27715                "." + b.params.slideActiveClass
27716              ))
27717            : (x.$slideEl = b.slides.eq(b.activeIndex)),
27718          (x.$imageEl = x.$slideEl.find(
27719            "img, svg, canvas, picture, .swiper-zoom-target"
27720          )),
27721          (x.$imageWrapEl = x.$imageEl.parent("." + E.containerClass))),
27722        x.$imageEl && 0 !== x.$imageEl.length) &&
27723          (x.$slideEl.addClass("" + E.zoomedSlideClass),
27724          void 0 === T.touchesStart.x && e
27725            ? ((t =
27726                "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX),
27727              (a = "touchend" === e.type ? e.changedTouches[0].pageY : e.pageY))
27728            : ((t = T.touchesStart.x), (a = T.touchesStart.y)),
27729          (y.scale = x.$imageWrapEl.attr("data-swiper-zoom") || E.maxRatio),
27730          (y.currentScale =
27731            x.$imageWrapEl.attr("data-swiper-zoom") || E.maxRatio),
27732          e
27733            ? ((m = x.$slideEl[0].offsetWidth),
27734              (g = x.$slideEl[0].offsetHeight),
27735              (i = x.$slideEl.offset().left + w.scrollX + m / 2 - t),
27736              (s = x.$slideEl.offset().top + w.scrollY + g / 2 - a),
27737              (o = x.$imageEl[0].offsetWidth),
27738              (d = x.$imageEl[0].offsetHeight),
27739              (p = o * y.scale),
27740              (c = d * y.scale),
27741              (v = -(u = Math.min(m / 2 - p / 2, 0))),
27742              (f = -(h = Math.min(g / 2 - c / 2, 0))),
27743              (r = i * y.scale) < u && (r = u),
27744              r > v && (r = v),
27745              (n = s * y.scale) < h && (n = h),
27746              n > f && (n = f))
27747            : ((r = 0), (n = 0)),
27748          x.$imageWrapEl
27749            .transition(300)
27750            .transform("translate3d(" + r + "px, " + n + "px,0)"),
27751          x.$imageEl
27752            .transition(300)
27753            .transform("translate3d(0,0,0) scale(" + y.scale + ")"));
27754      },
27755      out: function () {
27756        var e = this,
27757          t = e.zoom,
27758          a = e.params.zoom,
27759          i = t.gesture;
27760        i.$slideEl ||
27761          (e.params.virtual && e.params.virtual.enabled && e.virtual
27762            ? (i.$slideEl = e.$wrapperEl.children(
27763                "." + e.params.slideActiveClass
27764              ))
27765            : (i.$slideEl = e.slides.eq(e.activeIndex)),
27766          (i.$imageEl = i.$slideEl.find(
27767            "img, svg, canvas, picture, .swiper-zoom-target"
27768          )),
27769          (i.$imageWrapEl = i.$imageEl.parent("." + a.containerClass))),
27770          i.$imageEl &&
27771            0 !== i.$imageEl.length &&
27772            ((t.scale = 1),
27773            (t.currentScale = 1),
27774            i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),
27775            i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),
27776            i.$slideEl.removeClass("" + a.zoomedSlideClass),
27777            (i.$slideEl = void 0));
27778      },
27779      toggleGestures: function (e) {
27780        var t = this,
27781          a = t.zoom,
27782          i = a.slideSelector,
27783          s = a.passiveListener;
27784        t.$wrapperEl[e]("gesturestart", i, a.onGestureStart, s),
27785          t.$wrapperEl[e]("gesturechange", i, a.onGestureChange, s),
27786          t.$wrapperEl[e]("gestureend", i, a.onGestureEnd, s);
27787      },
27788      enableGestures: function () {
27789        this.zoom.gesturesEnabled ||
27790          ((this.zoom.gesturesEnabled = !0), this.zoom.toggleGestures("on"));
27791      },
27792      disableGestures: function () {
27793        this.zoom.gesturesEnabled &&
27794          ((this.zoom.gesturesEnabled = !1), this.zoom.toggleGestures("off"));
27795      },
27796      enable: function () {
27797        var e = this,
27798          t = e.support,
27799          a = e.zoom;
27800        if (!a.enabled) {
27801          a.enabled = !0;
27802          var i = !(
27803              "touchstart" !== e.touchEvents.start ||
27804              !t.passiveListener ||
27805              !e.params.passiveListeners
27806            ) && { passive: !0, capture: !1 },
27807            s = !t.passiveListener || { passive: !1, capture: !0 },
27808            r = "." + e.params.slideClass;
27809          (e.zoom.passiveListener = i),
27810            (e.zoom.slideSelector = r),
27811            t.gestures
27812              ? (e.$wrapperEl.on(e.touchEvents.start, e.zoom.enableGestures, i),
27813                e.$wrapperEl.on(e.touchEvents.end, e.zoom.disableGestures, i))
27814              : "touchstart" === e.touchEvents.start &&
27815                (e.$wrapperEl.on(e.touchEvents.start, r, a.onGestureStart, i),
27816                e.$wrapperEl.on(e.touchEvents.move, r, a.onGestureChange, s),
27817                e.$wrapperEl.on(e.touchEvents.end, r, a.onGestureEnd, i),
27818                e.touchEvents.cancel &&
27819                  e.$wrapperEl.on(e.touchEvents.cancel, r, a.onGestureEnd, i)),
27820            e.$wrapperEl.on(
27821              e.touchEvents.move,
27822              "." + e.params.zoom.containerClass,
27823              a.onTouchMove,
27824              s
27825            );
27826        }
27827      },
27828      disable: function () {
27829        var e = this,
27830          t = e.zoom;
27831        if (t.enabled) {
27832          var a = e.support;
27833          e.zoom.enabled = !1;
27834          var i = !(
27835              "touchstart" !== e.touchEvents.start ||
27836              !a.passiveListener ||
27837              !e.params.passiveListeners
27838            ) && { passive: !0, capture: !1 },
27839            s = !a.passiveListener || { passive: !1, capture: !0 },
27840            r = "." + e.params.slideClass;
27841          a.gestures
27842            ? (e.$wrapperEl.off(e.touchEvents.start, e.zoom.enableGestures, i),
27843              e.$wrapperEl.off(e.touchEvents.end, e.zoom.disableGestures, i))
27844            : "touchstart" === e.touchEvents.start &&
27845              (e.$wrapperEl.off(e.touchEvents.start, r, t.onGestureStart, i),
27846              e.$wrapperEl.off(e.touchEvents.move, r, t.onGestureChange, s),
27847              e.$wrapperEl.off(e.touchEvents.end, r, t.onGestureEnd, i),
27848              e.touchEvents.cancel &&
27849                e.$wrapperEl.off(e.touchEvents.cancel, r, t.onGestureEnd, i)),
27850            e.$wrapperEl.off(
27851              e.touchEvents.move,
27852              "." + e.params.zoom.containerClass,
27853              t.onTouchMove,
27854              s
27855            );
27856        }
27857      },
27858    },
27859    te = {
27860      loadInSlide: function (e, t) {
27861        void 0 === t && (t = !0);
27862        var a = this,
27863          i = a.params.lazy;
27864        if (void 0 !== e && 0 !== a.slides.length) {
27865          var s =
27866              a.virtual && a.params.virtual.enabled
27867                ? a.$wrapperEl.children(
27868                    "." +
27869                      a.params.slideClass +
27870                      '[data-swiper-slide-index="' +
27871                      e +
27872                      '"]'
27873                  )
27874                : a.slides.eq(e),
27875            r = s.find(
27876              "." +
27877                i.elementClass +
27878                ":not(." +
27879                i.loadedClass +
27880                "):not(." +
27881                i.loadingClass +
27882                ")"
27883            );
27884          !s.hasClass(i.elementClass) ||
27885            s.hasClass(i.loadedClass) ||
27886            s.hasClass(i.loadingClass) ||
27887            r.push(s[0]),
27888            0 !== r.length &&
27889              r.each(function (e) {
27890                var r = m(e);
27891                r.addClass(i.loadingClass);
27892                var n = r.attr("data-background"),
27893                  l = r.attr("data-src"),
27894                  o = r.attr("data-srcset"),
27895                  d = r.attr("data-sizes"),
27896                  p = r.parent("picture");
27897                a.loadImage(r[0], l || n, o, d, !1, function () {
27898                  if (null != a && a && (!a || a.params) && !a.destroyed) {
27899                    if (
27900                      (n
27901                        ? (r.css("background-image", 'url("' + n + '")'),
27902                          r.removeAttr("data-background"))
27903                        : (o &&
27904                            (r.attr("srcset", o), r.removeAttr("data-srcset")),
27905                          d && (r.attr("sizes", d), r.removeAttr("data-sizes")),
27906                          p.length &&
27907                            p.children("source").each(function (e) {
27908                              var t = m(e);
27909                              t.attr("data-srcset") &&
27910                                (t.attr("srcset", t.attr("data-srcset")),
27911                                t.removeAttr("data-srcset"));
27912                            }),
27913                          l && (r.attr("src", l), r.removeAttr("data-src"))),
27914                      r.addClass(i.loadedClass).removeClass(i.loadingClass),
27915                      s.find("." + i.preloaderClass).remove(),
27916                      a.params.loop && t)
27917                    ) {
27918                      var e = s.attr("data-swiper-slide-index");
27919                      if (s.hasClass(a.params.slideDuplicateClass)) {
27920                        var c = a.$wrapperEl.children(
27921                          '[data-swiper-slide-index="' +
27922                            e +
27923                            '"]:not(.' +
27924                            a.params.slideDuplicateClass +
27925                            ")"
27926                        );
27927                        a.lazy.loadInSlide(c.index(), !1);
27928                      } else {
27929                        var u = a.$wrapperEl.children(
27930                          "." +
27931                            a.params.slideDuplicateClass +
27932                            '[data-swiper-slide-index="' +
27933                            e +
27934                            '"]'
27935                        );
27936                        a.lazy.loadInSlide(u.index(), !1);
27937                      }
27938                    }
27939                    a.emit("lazyImageReady", s[0], r[0]),
27940                      a.params.autoHeight && a.updateAutoHeight();
27941                  }
27942                }),
27943                  a.emit("lazyImageLoad", s[0], r[0]);
27944              });
27945        }
27946      },
27947      load: function () {
27948        var e = this,
27949          t = e.$wrapperEl,
27950          a = e.params,
27951          i = e.slides,
27952          s = e.activeIndex,
27953          r = e.virtual && a.virtual.enabled,
27954          n = a.lazy,
27955          l = a.slidesPerView;
27956        function o(e) {
27957          if (r) {
27958            if (
27959              t.children(
27960                "." + a.slideClass + '[data-swiper-slide-index="' + e + '"]'
27961              ).length
27962            )
27963              return !0;
27964          } else if (i[e]) return !0;
27965          return !1;
27966        }
27967        function d(e) {
27968          return r ? m(e).attr("data-swiper-slide-index") : m(e).index();
27969        }
27970        if (
27971          ("auto" === l && (l = 0),
27972          e.lazy.initialImageLoaded || (e.lazy.initialImageLoaded = !0),
27973          e.params.watchSlidesVisibility)
27974        )
27975          t.children("." + a.slideVisibleClass).each(function (t) {
27976            var a = r ? m(t).attr("data-swiper-slide-index") : m(t).index();
27977            e.lazy.loadInSlide(a);
27978          });
27979        else if (l > 1)
27980          for (var p = s; p < s + l; p += 1) o(p) && e.lazy.loadInSlide(p);
27981        else e.lazy.loadInSlide(s);
27982        if (n.loadPrevNext)
27983          if (l > 1 || (n.loadPrevNextAmount && n.loadPrevNextAmount > 1)) {
27984            for (
27985              var c = n.loadPrevNextAmount,
27986                u = l,
27987                h = Math.min(s + u + Math.max(c, u), i.length),
27988                v = Math.max(s - Math.max(u, c), 0),
27989                f = s + l;
27990              f < h;
27991              f += 1
27992            )
27993              o(f) && e.lazy.loadInSlide(f);
27994            for (var g = v; g < s; g += 1) o(g) && e.lazy.loadInSlide(g);
27995          } else {
27996            var b = t.children("." + a.slideNextClass);
27997            b.length > 0 && e.lazy.loadInSlide(d(b));
27998            var w = t.children("." + a.slidePrevClass);
27999            w.length > 0 && e.lazy.loadInSlide(d(w));
28000          }
28001      },
28002      checkInViewOnLoad: function () {
28003        var e = l(),
28004          t = this;
28005        if (t && !t.destroyed) {
28006          var a = t.params.lazy.scrollingElement
28007              ? m(t.params.lazy.scrollingElement)
28008              : m(e),
28009            i = a[0] === e,
28010            s = i ? e.innerWidth : a[0].offsetWidth,
28011            r = i ? e.innerHeight : a[0].offsetHeight,
28012            n = t.$el.offset(),
28013            o = !1;
28014          t.rtlTranslate && (n.left -= t.$el[0].scrollLeft);
28015          for (
28016            var d = [
28017                [n.left, n.top],
28018                [n.left + t.width, n.top],
28019                [n.left, n.top + t.height],
28020                [n.left + t.width, n.top + t.height],
28021              ],
28022              p = 0;
28023            p < d.length;
28024            p += 1
28025          ) {
28026            var c = d[p];
28027            if (c[0] >= 0 && c[0] <= s && c[1] >= 0 && c[1] <= r) {
28028              if (0 === c[0] && 0 === c[1]) continue;
28029              o = !0;
28030            }
28031          }
28032          o
28033            ? (t.lazy.load(), a.off("scroll", t.lazy.checkInViewOnLoad))
28034            : t.lazy.scrollHandlerAttached ||
28035              ((t.lazy.scrollHandlerAttached = !0),
28036              a.on("scroll", t.lazy.checkInViewOnLoad));
28037        }
28038      },
28039    },
28040    ae = {
28041      LinearSpline: function (e, t) {
28042        var a,
28043          i,
28044          s,
28045          r,
28046          n,
28047          l = function (e, t) {
28048            for (i = -1, a = e.length; a - i > 1; )
28049              e[(s = (a + i) >> 1)] <= t ? (i = s) : (a = s);
28050            return a;
28051          };
28052        return (
28053          (this.x = e),
28054          (this.y = t),
28055          (this.lastIndex = e.length - 1),
28056          (this.interpolate = function (e) {
28057            return e
28058              ? ((n = l(this.x, e)),
28059                (r = n - 1),
28060                ((e - this.x[r]) * (this.y[n] - this.y[r])) /
28061                  (this.x[n] - this.x[r]) +
28062                  this.y[r])
28063              : 0;
28064          }),
28065          this
28066        );
28067      },
28068      getInterpolateFunction: function (e) {
28069        var t = this;
28070        t.controller.spline ||
28071          (t.controller.spline = t.params.loop
28072            ? new ae.LinearSpline(t.slidesGrid, e.slidesGrid)
28073            : new ae.LinearSpline(t.snapGrid, e.snapGrid));
28074      },
28075      setTranslate: function (e, t) {
28076        var a,
28077          i,
28078          s = this,
28079          r = s.controller.control,
28080          n = s.constructor;
28081        function l(e) {
28082          var t = s.rtlTranslate ? -s.translate : s.translate;
28083          "slide" === s.params.controller.by &&
28084            (s.controller.getInterpolateFunction(e),
28085            (i = -s.controller.spline.interpolate(-t))),
28086            (i && "container" !== s.params.controller.by) ||
28087              ((a =
28088                (e.maxTranslate() - e.minTranslate()) /
28089                (s.maxTranslate() - s.minTranslate())),
28090              (i = (t - s.minTranslate()) * a + e.minTranslate())),
28091            s.params.controller.inverse && (i = e.maxTranslate() - i),
28092            e.updateProgress(i),
28093            e.setTranslate(i, s),
28094            e.updateActiveIndex(),
28095            e.updateSlidesClasses();
28096        }
28097        if (Array.isArray(r))
28098          for (var o = 0; o < r.length; o += 1)
28099            r[o] !== t && r[o] instanceof n && l(r[o]);
28100        else r instanceof n && t !== r && l(r);
28101      },
28102      setTransition: function (e, t) {
28103        var a,
28104          i = this,
28105          s = i.constructor,
28106          r = i.controller.control;
28107        function n(t) {
28108          t.setTransition(e, i),
28109            0 !== e &&
28110              (t.transitionStart(),
28111              t.params.autoHeight &&
28112                E(function () {
28113                  t.updateAutoHeight();
28114                }),
28115              t.$wrapperEl.transitionEnd(function () {
28116                r &&
28117                  (t.params.loop &&
28118                    "slide" === i.params.controller.by &&
28119                    t.loopFix(),
28120                  t.transitionEnd());
28121              }));
28122        }
28123        if (Array.isArray(r))
28124          for (a = 0; a < r.length; a += 1)
28125            r[a] !== t && r[a] instanceof s && n(r[a]);
28126        else r instanceof s && t !== r && n(r);
28127      },
28128    },
28129    ie = {
28130      getRandomNumber: function (e) {
28131        void 0 === e && (e = 16);
28132        return "x".repeat(e).replace(/x/g, function () {
28133          return Math.round(16 * Math.random()).toString(16);
28134        });
28135      },
28136      makeElFocusable: function (e) {
28137        return e.attr("tabIndex", "0"), e;
28138      },
28139      makeElNotFocusable: function (e) {
28140        return e.attr("tabIndex", "-1"), e;
28141      },
28142      addElRole: function (e, t) {
28143        return e.attr("role", t), e;
28144      },
28145      addElRoleDescription: function (e, t) {
28146        return e.attr("aria-role-description", t), e;
28147      },
28148      addElControls: function (e, t) {
28149        return e.attr("aria-controls", t), e;
28150      },
28151      addElLabel: function (e, t) {
28152        return e.attr("aria-label", t), e;
28153      },
28154      addElId: function (e, t) {
28155        return e.attr("id", t), e;
28156      },
28157      addElLive: function (e, t) {
28158        return e.attr("aria-live", t), e;
28159      },
28160      disableEl: function (e) {
28161        return e.attr("aria-disabled", !0), e;
28162      },
28163      enableEl: function (e) {
28164        return e.attr("aria-disabled", !1), e;
28165      },
28166      onEnterOrSpaceKey: function (e) {
28167        if (13 === e.keyCode || 32 === e.keyCode) {
28168          var t = this,
28169            a = t.params.a11y,
28170            i = m(e.target);
28171          t.navigation &&
28172            t.navigation.$nextEl &&
28173            i.is(t.navigation.$nextEl) &&
28174            ((t.isEnd && !t.params.loop) || t.slideNext(),
28175            t.isEnd
28176              ? t.a11y.notify(a.lastSlideMessage)
28177              : t.a11y.notify(a.nextSlideMessage)),
28178            t.navigation &&
28179              t.navigation.$prevEl &&
28180              i.is(t.navigation.$prevEl) &&
28181              ((t.isBeginning && !t.params.loop) || t.slidePrev(),
28182              t.isBeginning
28183                ? t.a11y.notify(a.firstSlideMessage)
28184                : t.a11y.notify(a.prevSlideMessage)),
28185            t.pagination &&
28186              i.is("." + t.params.pagination.bulletClass.replace(/ /g, ".")) &&
28187              i[0].click();
28188        }
28189      },
28190      notify: function (e) {
28191        var t = this.a11y.liveRegion;
28192        0 !== t.length && (t.html(""), t.html(e));
28193      },
28194      updateNavigation: function () {
28195        var e = this;
28196        if (!e.params.loop && e.navigation) {
28197          var t = e.navigation,
28198            a = t.$nextEl,
28199            i = t.$prevEl;
28200          i &&
28201            i.length > 0 &&
28202            (e.isBeginning
28203              ? (e.a11y.disableEl(i), e.a11y.makeElNotFocusable(i))
28204              : (e.a11y.enableEl(i), e.a11y.makeElFocusable(i))),
28205            a &&
28206              a.length > 0 &&
28207              (e.isEnd
28208                ? (e.a11y.disableEl(a), e.a11y.makeElNotFocusable(a))
28209                : (e.a11y.enableEl(a), e.a11y.makeElFocusable(a)));
28210        }
28211      },
28212      updatePagination: function () {
28213        var e = this,
28214          t = e.params.a11y;
28215        e.pagination &&
28216          e.params.pagination.clickable &&
28217          e.pagination.bullets &&
28218          e.pagination.bullets.length &&
28219          e.pagination.bullets.each(function (a) {
28220            var i = m(a);
28221            e.a11y.makeElFocusable(i),
28222              e.params.pagination.renderBullet ||
28223                (e.a11y.addElRole(i, "button"),
28224                e.a11y.addElLabel(
28225                  i,
28226                  t.paginationBulletMessage.replace(
28227                    /\{\{index\}\}/,
28228                    i.index() + 1
28229                  )
28230                ));
28231          });
28232      },
28233      init: function () {
28234        var e = this,
28235          t = e.params.a11y;
28236        e.$el.append(e.a11y.liveRegion);
28237        var a = e.$el;
28238        t.containerRoleDescriptionMessage &&
28239          e.a11y.addElRoleDescription(a, t.containerRoleDescriptionMessage),
28240          t.containerMessage && e.a11y.addElLabel(a, t.containerMessage);
28241        var i,
28242          s,
28243          r,
28244          n = e.$wrapperEl,
28245          l = n.attr("id") || "swiper-wrapper-" + e.a11y.getRandomNumber(16);
28246        e.a11y.addElId(n, l),
28247          (i =
28248            e.params.autoplay && e.params.autoplay.enabled ? "off" : "polite"),
28249          e.a11y.addElLive(n, i),
28250          t.itemRoleDescriptionMessage &&
28251            e.a11y.addElRoleDescription(
28252              m(e.slides),
28253              t.itemRoleDescriptionMessage
28254            ),
28255          e.a11y.addElRole(m(e.slides), "group"),
28256          e.slides.each(function (t) {
28257            var a = m(t);
28258            e.a11y.addElLabel(a, a.index() + 1 + " / " + e.slides.length);
28259          }),
28260          e.navigation && e.navigation.$nextEl && (s = e.navigation.$nextEl),
28261          e.navigation && e.navigation.$prevEl && (r = e.navigation.$prevEl),
28262          s &&
28263            s.length &&
28264            (e.a11y.makeElFocusable(s),
28265            "BUTTON" !== s[0].tagName &&
28266              (e.a11y.addElRole(s, "button"),
28267              s.on("keydown", e.a11y.onEnterOrSpaceKey)),
28268            e.a11y.addElLabel(s, t.nextSlideMessage),
28269            e.a11y.addElControls(s, l)),
28270          r &&
28271            r.length &&
28272            (e.a11y.makeElFocusable(r),
28273            "BUTTON" !== r[0].tagName &&
28274              (e.a11y.addElRole(r, "button"),
28275              r.on("keydown", e.a11y.onEnterOrSpaceKey)),
28276            e.a11y.addElLabel(r, t.prevSlideMessage),
28277            e.a11y.addElControls(r, l)),
28278          e.pagination &&
28279            e.params.pagination.clickable &&
28280            e.pagination.bullets &&
28281            e.pagination.bullets.length &&
28282            e.pagination.$el.on(
28283              "keydown",
28284              "." + e.params.pagination.bulletClass.replace(/ /g, "."),
28285              e.a11y.onEnterOrSpaceKey
28286            );
28287      },
28288      destroy: function () {
28289        var e,
28290          t,
28291          a = this;
28292        a.a11y.liveRegion &&
28293          a.a11y.liveRegion.length > 0 &&
28294          a.a11y.liveRegion.remove(),
28295          a.navigation && a.navigation.$nextEl && (e = a.navigation.$nextEl),
28296          a.navigation && a.navigation.$prevEl && (t = a.navigation.$prevEl),
28297          e && e.off("keydown", a.a11y.onEnterOrSpaceKey),
28298          t && t.off("keydown", a.a11y.onEnterOrSpaceKey),
28299          a.pagination &&
28300            a.params.pagination.clickable &&
28301            a.pagination.bullets &&
28302            a.pagination.bullets.length &&
28303            a.pagination.$el.off(
28304              "keydown",
28305              "." + a.params.pagination.bulletClass.replace(/ /g, "."),
28306              a.a11y.onEnterOrSpaceKey
28307            );
28308      },
28309    },
28310    se = {
28311      init: function () {
28312        var e = this,
28313          t = l();
28314        if (e.params.history) {
28315          if (!t.history || !t.history.pushState)
28316            return (
28317              (e.params.history.enabled = !1),
28318              void (e.params.hashNavigation.enabled = !0)
28319            );
28320          var a = e.history;
28321          (a.initialized = !0),
28322            (a.paths = se.getPathValues(e.params.url)),
28323            (a.paths.key || a.paths.value) &&
28324              (a.scrollToSlide(0, a.paths.value, e.params.runCallbacksOnInit),
28325              e.params.history.replaceState ||
28326                t.addEventListener("popstate", e.history.setHistoryPopState));
28327        }
28328      },
28329      destroy: function () {
28330        var e = l();
28331        this.params.history.replaceState ||
28332          e.removeEventListener("popstate", this.history.setHistoryPopState);
28333      },
28334      setHistoryPopState: function () {
28335        var e = this;
28336        (e.history.paths = se.getPathValues(e.params.url)),
28337          e.history.scrollToSlide(e.params.speed, e.history.paths.value, !1);
28338      },
28339      getPathValues: function (e) {
28340        var t = l(),
28341          a = (e ? new URL(e) : t.location).pathname
28342            .slice(1)
28343            .split("/")
28344            .filter(function (e) {
28345              return "" !== e;
28346            }),
28347          i = a.length;
28348        return { key: a[i - 2], value: a[i - 1] };
28349      },
28350      setHistory: function (e, t) {
28351        var a = this,
28352          i = l();
28353        if (a.history.initialized && a.params.history.enabled) {
28354          var s;
28355          s = a.params.url ? new URL(a.params.url) : i.location;
28356          var r = a.slides.eq(t),
28357            n = se.slugify(r.attr("data-history"));
28358          s.pathname.includes(e) || (n = e + "/" + n);
28359          var o = i.history.state;
28360          (o && o.value === n) ||
28361            (a.params.history.replaceState
28362              ? i.history.replaceState({ value: n }, null, n)
28363              : i.history.pushState({ value: n }, null, n));
28364        }
28365      },
28366      slugify: function (e) {
28367        return e
28368          .toString()
28369          .replace(/\s+/g, "-")
28370          .replace(/[^\w-]+/g, "")
28371          .replace(/--+/g, "-")
28372          .replace(/^-+/, "")
28373          .replace(/-+$/, "");
28374      },
28375      scrollToSlide: function (e, t, a) {
28376        var i = this;
28377        if (t)
28378          for (var s = 0, r = i.slides.length; s < r; s += 1) {
28379            var n = i.slides.eq(s);
28380            if (
28381              se.slugify(n.attr("data-history")) === t &&
28382              !n.hasClass(i.params.slideDuplicateClass)
28383            ) {
28384              var l = n.index();
28385              i.slideTo(l, e, a);
28386            }
28387          }
28388        else i.slideTo(0, e, a);
28389      },
28390    },
28391    re = {
28392      onHashCange: function () {
28393        var e = this,
28394          t = r();
28395        e.emit("hashChange");
28396        var a = t.location.hash.replace("#", "");
28397        if (a !== e.slides.eq(e.activeIndex).attr("data-hash")) {
28398          var i = e.$wrapperEl
28399            .children("." + e.params.slideClass + '[data-hash="' + a + '"]')
28400            .index();
28401          if (void 0 === i) return;
28402          e.slideTo(i);
28403        }
28404      },
28405      setHash: function () {
28406        var e = this,
28407          t = l(),
28408          a = r();
28409        if (e.hashNavigation.initialized && e.params.hashNavigation.enabled)
28410          if (
28411            e.params.hashNavigation.replaceState &&
28412            t.history &&
28413            t.history.replaceState
28414          )
28415            t.history.replaceState(
28416              null,
28417              null,
28418              "#" + e.slides.eq(e.activeIndex).attr("data-hash") || ""
28419            ),
28420              e.emit("hashSet");
28421          else {
28422            var i = e.slides.eq(e.activeIndex),
28423              s = i.attr("data-hash") || i.attr("data-history");
28424            (a.location.hash = s || ""), e.emit("hashSet");
28425          }
28426      },
28427      init: function () {
28428        var e = this,
28429          t = r(),
28430          a = l();
28431        if (
28432          !(
28433            !e.params.hashNavigation.enabled ||
28434            (e.params.history && e.params.history.enabled)
28435          )
28436        ) {
28437          e.hashNavigation.initialized = !0;
28438          var i = t.location.hash.replace("#", "");
28439          if (i)
28440            for (var s = 0, n = e.slides.length; s < n; s += 1) {
28441              var o = e.slides.eq(s);
28442              if (
28443                (o.attr("data-hash") || o.attr("data-history")) === i &&
28444                !o.hasClass(e.params.slideDuplicateClass)
28445              ) {
28446                var d = o.index();
28447                e.slideTo(d, 0, e.params.runCallbacksOnInit, !0);
28448              }
28449            }
28450          e.params.hashNavigation.watchState &&
28451            m(a).on("hashchange", e.hashNavigation.onHashCange);
28452        }
28453      },
28454      destroy: function () {
28455        var e = l();
28456        this.params.hashNavigation.watchState &&
28457          m(e).off("hashchange", this.hashNavigation.onHashCange);
28458      },
28459    },
28460    ne = {
28461      run: function () {
28462        var e = this,
28463          t = e.slides.eq(e.activeIndex),
28464          a = e.params.autoplay.delay;
28465        t.attr("data-swiper-autoplay") &&
28466          (a = t.attr("data-swiper-autoplay") || e.params.autoplay.delay),
28467          clearTimeout(e.autoplay.timeout),
28468          (e.autoplay.timeout = E(function () {
28469            var t;
28470            e.params.autoplay.reverseDirection
28471              ? e.params.loop
28472                ? (e.loopFix(),
28473                  (t = e.slidePrev(e.params.speed, !0, !0)),
28474                  e.emit("autoplay"))
28475                : e.isBeginning
28476                ? e.params.autoplay.stopOnLastSlide
28477                  ? e.autoplay.stop()
28478                  : ((t = e.slideTo(
28479                      e.slides.length - 1,
28480                      e.params.speed,
28481                      !0,
28482                      !0
28483                    )),
28484                    e.emit("autoplay"))
28485                : ((t = e.slidePrev(e.params.speed, !0, !0)),
28486                  e.emit("autoplay"))
28487              : e.params.loop
28488              ? (e.loopFix(),
28489                (t = e.slideNext(e.params.speed, !0, !0)),
28490                e.emit("autoplay"))
28491              : e.isEnd
28492              ? e.params.autoplay.stopOnLastSlide
28493                ? e.autoplay.stop()
28494                : ((t = e.slideTo(0, e.params.speed, !0, !0)),
28495                  e.emit("autoplay"))
28496              : ((t = e.slideNext(e.params.speed, !0, !0)), e.emit("autoplay")),
28497              ((e.params.cssMode && e.autoplay.running) || !1 === t) &&
28498                e.autoplay.run();
28499          }, a));
28500      },
28501      start: function () {
28502        var e = this;
28503        return (
28504          void 0 === e.autoplay.timeout &&
28505          !e.autoplay.running &&
28506          ((e.autoplay.running = !0),
28507          e.emit("autoplayStart"),
28508          e.autoplay.run(),
28509          !0)
28510        );
28511      },
28512      stop: function () {
28513        var e = this;
28514        return (
28515          !!e.autoplay.running &&
28516          void 0 !== e.autoplay.timeout &&
28517          (e.autoplay.timeout &&
28518            (clearTimeout(e.autoplay.timeout), (e.autoplay.timeout = void 0)),
28519          (e.autoplay.running = !1),
28520          e.emit("autoplayStop"),
28521          !0)
28522        );
28523      },
28524      pause: function (e) {
28525        var t = this;
28526        t.autoplay.running &&
28527          (t.autoplay.paused ||
28528            (t.autoplay.timeout && clearTimeout(t.autoplay.timeout),
28529            (t.autoplay.paused = !0),
28530            0 !== e && t.params.autoplay.waitForTransition
28531              ? (t.$wrapperEl[0].addEventListener(
28532                  "transitionend",
28533                  t.autoplay.onTransitionEnd
28534                ),
28535                t.$wrapperEl[0].addEventListener(
28536                  "webkitTransitionEnd",
28537                  t.autoplay.onTransitionEnd
28538                ))
28539              : ((t.autoplay.paused = !1), t.autoplay.run())));
28540      },
28541      onVisibilityChange: function () {
28542        var e = this,
28543          t = r();
28544        "hidden" === t.visibilityState &&
28545          e.autoplay.running &&
28546          e.autoplay.pause(),
28547          "visible" === t.visibilityState &&
28548            e.autoplay.paused &&
28549            (e.autoplay.run(), (e.autoplay.paused = !1));
28550      },
28551      onTransitionEnd: function (e) {
28552        var t = this;
28553        t &&
28554          !t.destroyed &&
28555          t.$wrapperEl &&
28556          e.target === t.$wrapperEl[0] &&
28557          (t.$wrapperEl[0].removeEventListener(
28558            "transitionend",
28559            t.autoplay.onTransitionEnd
28560          ),
28561          t.$wrapperEl[0].removeEventListener(
28562            "webkitTransitionEnd",
28563            t.autoplay.onTransitionEnd
28564          ),
28565          (t.autoplay.paused = !1),
28566          t.autoplay.running ? t.autoplay.run() : t.autoplay.stop());
28567      },
28568    },
28569    le = {
28570      setTranslate: function () {
28571        for (var e = this, t = e.slides, a = 0; a < t.length; a += 1) {
28572          var i = e.slides.eq(a),
28573            s = -i[0].swiperSlideOffset;
28574          e.params.virtualTranslate || (s -= e.translate);
28575          var r = 0;
28576          e.isHorizontal() || ((r = s), (s = 0));
28577          var n = e.params.fadeEffect.crossFade
28578            ? Math.max(1 - Math.abs(i[0].progress), 0)
28579            : 1 + Math.min(Math.max(i[0].progress, -1), 0);
28580          i.css({ opacity: n }).transform(
28581            "translate3d(" + s + "px, " + r + "px, 0px)"
28582          );
28583        }
28584      },
28585      setTransition: function (e) {
28586        var t = this,
28587          a = t.slides,
28588          i = t.$wrapperEl;
28589        if ((a.transition(e), t.params.virtualTranslate && 0 !== e)) {
28590          var s = !1;
28591          a.transitionEnd(function () {
28592            if (!s && t && !t.destroyed) {
28593              (s = !0), (t.animating = !1);
28594              for (
28595                var e = ["webkitTransitionEnd", "transitionend"], a = 0;
28596                a < e.length;
28597                a += 1
28598              )
28599                i.trigger(e[a]);
28600            }
28601          });
28602        }
28603      },
28604    },
28605    oe = {
28606      setTranslate: function () {
28607        var e,
28608          t = this,
28609          a = t.$el,
28610          i = t.$wrapperEl,
28611          s = t.slides,
28612          r = t.width,
28613          n = t.height,
28614          l = t.rtlTranslate,
28615          o = t.size,
28616          d = t.browser,
28617          p = t.params.cubeEffect,
28618          c = t.isHorizontal(),
28619          u = t.virtual && t.params.virtual.enabled,
28620          h = 0;
28621        p.shadow &&
28622          (c
28623            ? (0 === (e = i.find(".swiper-cube-shadow")).length &&
28624                ((e = m('<div class="swiper-cube-shadow"></div>')),
28625                i.append(e)),
28626              e.css({ height: r + "px" }))
28627            : 0 === (e = a.find(".swiper-cube-shadow")).length &&
28628              ((e = m('<div class="swiper-cube-shadow"></div>')), a.append(e)));
28629        for (var v = 0; v < s.length; v += 1) {
28630          var f = s.eq(v),
28631            g = v;
28632          u && (g = parseInt(f.attr("data-swiper-slide-index"), 10));
28633          var b = 90 * g,
28634            w = Math.floor(b / 360);
28635          l && ((b = -b), (w = Math.floor(-b / 360)));
28636          var y = Math.max(Math.min(f[0].progress, 1), -1),
28637            E = 0,
28638            x = 0,
28639            T = 0;
28640          g % 4 == 0
28641            ? ((E = 4 * -w * o), (T = 0))
28642            : (g - 1) % 4 == 0
28643            ? ((E = 0), (T = 4 * -w * o))
28644            : (g - 2) % 4 == 0
28645            ? ((E = o + 4 * w * o), (T = o))
28646            : (g - 3) % 4 == 0 && ((E = -o), (T = 3 * o + 4 * o * w)),
28647            l && (E = -E),
28648            c || ((x = E), (E = 0));
28649          var C =
28650            "rotateX(" +
28651            (c ? 0 : -b) +
28652            "deg) rotateY(" +
28653            (c ? b : 0) +
28654            "deg) translate3d(" +
28655            E +
28656            "px, " +
28657            x +
28658            "px, " +
28659            T +
28660            "px)";
28661          if (
28662            (y <= 1 &&
28663              y > -1 &&
28664              ((h = 90 * g + 90 * y), l && (h = 90 * -g - 90 * y)),
28665            f.transform(C),
28666            p.slideShadows)
28667          ) {
28668            var S = c
28669                ? f.find(".swiper-slide-shadow-left")
28670                : f.find(".swiper-slide-shadow-top"),
28671              M = c
28672                ? f.find(".swiper-slide-shadow-right")
28673                : f.find(".swiper-slide-shadow-bottom");
28674            0 === S.length &&
28675              ((S = m(
28676                '<div class="swiper-slide-shadow-' +
28677                  (c ? "left" : "top") +
28678                  '"></div>'
28679              )),
28680              f.append(S)),
28681              0 === M.length &&
28682                ((M = m(
28683                  '<div class="swiper-slide-shadow-' +
28684                    (c ? "right" : "bottom") +
28685                    '"></div>'
28686                )),
28687                f.append(M)),
28688              S.length && (S[0].style.opacity = Math.max(-y, 0)),
28689              M.length && (M[0].style.opacity = Math.max(y, 0));
28690          }
28691        }
28692        if (
28693          (i.css({
28694            "-webkit-transform-origin": "50% 50% -" + o / 2 + "px",
28695            "-moz-transform-origin": "50% 50% -" + o / 2 + "px",
28696            "-ms-transform-origin": "50% 50% -" + o / 2 + "px",
28697            "transform-origin": "50% 50% -" + o / 2 + "px",
28698          }),
28699          p.shadow)
28700        )
28701          if (c)
28702            e.transform(
28703              "translate3d(0px, " +
28704                (r / 2 + p.shadowOffset) +
28705                "px, " +
28706                -r / 2 +
28707                "px) rotateX(90deg) rotateZ(0deg) scale(" +
28708                p.shadowScale +
28709                ")"
28710            );
28711          else {
28712            var z = Math.abs(h) - 90 * Math.floor(Math.abs(h) / 90),
28713              P =
28714                1.5 -
28715                (Math.sin((2 * z * Math.PI) / 360) / 2 +
28716                  Math.cos((2 * z * Math.PI) / 360) / 2),
28717              k = p.shadowScale,
28718              L = p.shadowScale / P,
28719              $ = p.shadowOffset;
28720            e.transform(
28721              "scale3d(" +
28722                k +
28723                ", 1, " +
28724                L +
28725                ") translate3d(0px, " +
28726                (n / 2 + $) +
28727                "px, " +
28728                -n / 2 / L +
28729                "px) rotateX(-90deg)"
28730            );
28731          }
28732        var I = d.isSafari || d.isWebView ? -o / 2 : 0;
28733        i.transform(
28734          "translate3d(0px,0," +
28735            I +
28736            "px) rotateX(" +
28737            (t.isHorizontal() ? 0 : h) +
28738            "deg) rotateY(" +
28739            (t.isHorizontal() ? -h : 0) +
28740            "deg)"
28741        );
28742      },
28743      setTransition: function (e) {
28744        var t = this,
28745          a = t.$el;
28746        t.slides
28747          .transition(e)
28748          .find(
28749            ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
28750          )
28751          .transition(e),
28752          t.params.cubeEffect.shadow &&
28753            !t.isHorizontal() &&
28754            a.find(".swiper-cube-shadow").transition(e);
28755      },
28756    },
28757    de = {
28758      setTranslate: function () {
28759        for (
28760          var e = this, t = e.slides, a = e.rtlTranslate, i = 0;
28761          i < t.length;
28762          i += 1
28763        ) {
28764          var s = t.eq(i),
28765            r = s[0].progress;
28766          e.params.flipEffect.limitRotation &&
28767            (r = Math.max(Math.min(s[0].progress, 1), -1));
28768          var n = -180 * r,
28769            l = 0,
28770            o = -s[0].swiperSlideOffset,
28771            d = 0;
28772          if (
28773            (e.isHorizontal()
28774              ? a && (n = -n)
28775              : ((d = o), (o = 0), (l = -n), (n = 0)),
28776            (s[0].style.zIndex = -Math.abs(Math.round(r)) + t.length),
28777            e.params.flipEffect.slideShadows)
28778          ) {
28779            var p = e.isHorizontal()
28780                ? s.find(".swiper-slide-shadow-left")
28781                : s.find(".swiper-slide-shadow-top"),
28782              c = e.isHorizontal()
28783                ? s.find(".swiper-slide-shadow-right")
28784                : s.find(".swiper-slide-shadow-bottom");
28785            0 === p.length &&
28786              ((p = m(
28787                '<div class="swiper-slide-shadow-' +
28788                  (e.isHorizontal() ? "left" : "top") +
28789                  '"></div>'
28790              )),
28791              s.append(p)),
28792              0 === c.length &&
28793                ((c = m(
28794                  '<div class="swiper-slide-shadow-' +
28795                    (e.isHorizontal() ? "right" : "bottom") +
28796                    '"></div>'
28797                )),
28798                s.append(c)),
28799              p.length && (p[0].style.opacity = Math.max(-r, 0)),
28800              c.length && (c[0].style.opacity = Math.max(r, 0));
28801          }
28802          s.transform(
28803            "translate3d(" +
28804              o +
28805              "px, " +
28806              d +
28807              "px, 0px) rotateX(" +
28808              l +
28809              "deg) rotateY(" +
28810              n +
28811              "deg)"
28812          );
28813        }
28814      },
28815      setTransition: function (e) {
28816        var t = this,
28817          a = t.slides,
28818          i = t.activeIndex,
28819          s = t.$wrapperEl;
28820        if (
28821          (a
28822            .transition(e)
28823            .find(
28824              ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
28825            )
28826            .transition(e),
28827          t.params.virtualTranslate && 0 !== e)
28828        ) {
28829          var r = !1;
28830          a.eq(i).transitionEnd(function () {
28831            if (!r && t && !t.destroyed) {
28832              (r = !0), (t.animating = !1);
28833              for (
28834                var e = ["webkitTransitionEnd", "transitionend"], a = 0;
28835                a < e.length;
28836                a += 1
28837              )
28838                s.trigger(e[a]);
28839            }
28840          });
28841        }
28842      },
28843    },
28844    pe = {
28845      setTranslate: function () {
28846        for (
28847          var e = this,
28848            t = e.width,
28849            a = e.height,
28850            i = e.slides,
28851            s = e.slidesSizesGrid,
28852            r = e.params.coverflowEffect,
28853            n = e.isHorizontal(),
28854            l = e.translate,
28855            o = n ? t / 2 - l : a / 2 - l,
28856            d = n ? r.rotate : -r.rotate,
28857            p = r.depth,
28858            c = 0,
28859            u = i.length;
28860          c < u;
28861          c += 1
28862        ) {
28863          var h = i.eq(c),
28864            v = s[c],
28865            f = ((o - h[0].swiperSlideOffset - v / 2) / v) * r.modifier,
28866            g = n ? d * f : 0,
28867            b = n ? 0 : d * f,
28868            w = -p * Math.abs(f),
28869            y = r.stretch;
28870          "string" == typeof y &&
28871            -1 !== y.indexOf("%") &&
28872            (y = (parseFloat(r.stretch) / 100) * v);
28873          var E = n ? 0 : y * f,
28874            x = n ? y * f : 0,
28875            T = 1 - (1 - r.scale) * Math.abs(f);
28876          Math.abs(x) < 0.001 && (x = 0),
28877            Math.abs(E) < 0.001 && (E = 0),
28878            Math.abs(w) < 0.001 && (w = 0),
28879            Math.abs(g) < 0.001 && (g = 0),
28880            Math.abs(b) < 0.001 && (b = 0),
28881            Math.abs(T) < 0.001 && (T = 0);
28882          var C =
28883            "translate3d(" +
28884            x +
28885            "px," +
28886            E +
28887            "px," +
28888            w +
28889            "px)  rotateX(" +
28890            b +
28891            "deg) rotateY(" +
28892            g +
28893            "deg) scale(" +
28894            T +
28895            ")";
28896          if (
28897            (h.transform(C),
28898            (h[0].style.zIndex = 1 - Math.abs(Math.round(f))),
28899            r.slideShadows)
28900          ) {
28901            var S = n
28902                ? h.find(".swiper-slide-shadow-left")
28903                : h.find(".swiper-slide-shadow-top"),
28904              M = n
28905                ? h.find(".swiper-slide-shadow-right")
28906                : h.find(".swiper-slide-shadow-bottom");
28907            0 === S.length &&
28908              ((S = m(
28909                '<div class="swiper-slide-shadow-' +
28910                  (n ? "left" : "top") +
28911                  '"></div>'
28912              )),
28913              h.append(S)),
28914              0 === M.length &&
28915                ((M = m(
28916                  '<div class="swiper-slide-shadow-' +
28917                    (n ? "right" : "bottom") +
28918                    '"></div>'
28919                )),
28920                h.append(M)),
28921              S.length && (S[0].style.opacity = f > 0 ? f : 0),
28922              M.length && (M[0].style.opacity = -f > 0 ? -f : 0);
28923          }
28924        }
28925      },
28926      setTransition: function (e) {
28927        this.slides
28928          .transition(e)
28929          .find(
28930            ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
28931          )
28932          .transition(e);
28933      },
28934    },
28935    ce = {
28936      init: function () {
28937        var e = this,
28938          t = e.params.thumbs;
28939        if (e.thumbs.initialized) return !1;
28940        e.thumbs.initialized = !0;
28941        var a = e.constructor;
28942        return (
28943          t.swiper instanceof a
28944            ? ((e.thumbs.swiper = t.swiper),
28945              S(e.thumbs.swiper.originalParams, {
28946                watchSlidesProgress: !0,
28947                slideToClickedSlide: !1,
28948              }),
28949              S(e.thumbs.swiper.params, {
28950                watchSlidesProgress: !0,
28951                slideToClickedSlide: !1,
28952              }))
28953            : C(t.swiper) &&
28954              ((e.thumbs.swiper = new a(
28955                S({}, t.swiper, {
28956                  watchSlidesVisibility: !0,
28957                  watchSlidesProgress: !0,
28958                  slideToClickedSlide: !1,
28959                })
28960              )),
28961              (e.thumbs.swiperCreated = !0)),
28962          e.thumbs.swiper.$el.addClass(e.params.thumbs.thumbsContainerClass),
28963          e.thumbs.swiper.on("tap", e.thumbs.onThumbClick),
28964          !0
28965        );
28966      },
28967      onThumbClick: function () {
28968        var e = this,
28969          t = e.thumbs.swiper;
28970        if (t) {
28971          var a = t.clickedIndex,
28972            i = t.clickedSlide;
28973          if (
28974            !(
28975              (i && m(i).hasClass(e.params.thumbs.slideThumbActiveClass)) ||
28976              null == a
28977            )
28978          ) {
28979            var s;
28980            if (
28981              ((s = t.params.loop
28982                ? parseInt(
28983                    m(t.clickedSlide).attr("data-swiper-slide-index"),
28984                    10
28985                  )
28986                : a),
28987              e.params.loop)
28988            ) {
28989              var r = e.activeIndex;
28990              e.slides.eq(r).hasClass(e.params.slideDuplicateClass) &&
28991                (e.loopFix(),
28992                (e._clientLeft = e.$wrapperEl[0].clientLeft),
28993                (r = e.activeIndex));
28994              var n = e.slides
28995                  .eq(r)
28996                  .prevAll('[data-swiper-slide-index="' + s + '"]')
28997                  .eq(0)
28998                  .index(),
28999                l = e.slides
29000                  .eq(r)
29001                  .nextAll('[data-swiper-slide-index="' + s + '"]')
29002                  .eq(0)
29003                  .index();
29004              s = void 0 === n ? l : void 0 === l ? n : l - r < r - n ? l : n;
29005            }
29006            e.slideTo(s);
29007          }
29008        }
29009      },
29010      update: function (e) {
29011        var t = this,
29012          a = t.thumbs.swiper;
29013        if (a) {
29014          var i =
29015              "auto" === a.params.slidesPerView
29016                ? a.slidesPerViewDynamic()
29017                : a.params.slidesPerView,
29018            s = t.params.thumbs.autoScrollOffset,
29019            r = s && !a.params.loop;
29020          if (t.realIndex !== a.realIndex || r) {
29021            var n,
29022              l,
29023              o = a.activeIndex;
29024            if (a.params.loop) {
29025              a.slides.eq(o).hasClass(a.params.slideDuplicateClass) &&
29026                (a.loopFix(),
29027                (a._clientLeft = a.$wrapperEl[0].clientLeft),
29028                (o = a.activeIndex));
29029              var d = a.slides
29030                  .eq(o)
29031                  .prevAll('[data-swiper-slide-index="' + t.realIndex + '"]')
29032                  .eq(0)
29033                  .index(),
29034                p = a.slides
29035                  .eq(o)
29036                  .nextAll('[data-swiper-slide-index="' + t.realIndex + '"]')
29037                  .eq(0)
29038                  .index();
29039              (n =
29040                void 0 === d
29041                  ? p
29042                  : void 0 === p
29043                  ? d
29044                  : p - o == o - d
29045                  ? o
29046                  : p - o < o - d
29047                  ? p
29048                  : d),
29049                (l = t.activeIndex > t.previousIndex ? "next" : "prev");
29050            } else l = (n = t.realIndex) > t.previousIndex ? "next" : "prev";
29051            r && (n += "next" === l ? s : -1 * s),
29052              a.visibleSlidesIndexes &&
29053                a.visibleSlidesIndexes.indexOf(n) < 0 &&
29054                (a.params.centeredSlides
29055                  ? (n =
29056                      n > o
29057                        ? n - Math.floor(i / 2) + 1
29058                        : n + Math.floor(i / 2) - 1)
29059                  : n > o && (n = n - i + 1),
29060                a.slideTo(n, e ? 0 : void 0));
29061          }
29062          var c = 1,
29063            u = t.params.thumbs.slideThumbActiveClass;
29064          if (
29065            (t.params.slidesPerView > 1 &&
29066              !t.params.centeredSlides &&
29067              (c = t.params.slidesPerView),
29068            t.params.thumbs.multipleActiveThumbs || (c = 1),
29069            (c = Math.floor(c)),
29070            a.slides.removeClass(u),
29071            a.params.loop || (a.params.virtual && a.params.virtual.enabled))
29072          )
29073            for (var h = 0; h < c; h += 1)
29074              a.$wrapperEl
29075                .children(
29076                  '[data-swiper-slide-index="' + (t.realIndex + h) + '"]'
29077                )
29078                .addClass(u);
29079          else
29080            for (var v = 0; v < c; v += 1)
29081              a.slides.eq(t.realIndex + v).addClass(u);
29082        }
29083      },
29084    },
29085    ue = [
29086      q,
29087      _,
29088      {
29089        name: "mousewheel",
29090        params: {
29091          mousewheel: {
29092            enabled: !1,
29093            releaseOnEdges: !1,
29094            invert: !1,
29095            forceToAxis: !1,
29096            sensitivity: 1,
29097            eventsTarget: "container",
29098            thresholdDelta: null,
29099            thresholdTime: null,
29100          },
29101        },
29102        create: function () {
29103          M(this, {
29104            mousewheel: {
29105              enabled: !1,
29106              lastScrollTime: x(),
29107              lastEventBeforeSnap: void 0,
29108              recentWheelEvents: [],
29109              enable: U.enable,
29110              disable: U.disable,
29111              handle: U.handle,
29112              handleMouseEnter: U.handleMouseEnter,
29113              handleMouseLeave: U.handleMouseLeave,
29114              animateSlider: U.animateSlider,
29115              releaseScroll: U.releaseScroll,
29116            },
29117          });
29118        },
29119        on: {
29120          init: function (e) {
29121            !e.params.mousewheel.enabled &&
29122              e.params.cssMode &&
29123              e.mousewheel.disable(),
29124              e.params.mousewheel.enabled && e.mousewheel.enable();
29125          },
29126          destroy: function (e) {
29127            e.params.cssMode && e.mousewheel.enable(),
29128              e.mousewheel.enabled && e.mousewheel.disable();
29129          },
29130        },
29131      },
29132      {
29133        name: "navigation",
29134        params: {
29135          navigation: {
29136            nextEl: null,
29137            prevEl: null,
29138            hideOnClick: !1,
29139            disabledClass: "swiper-button-disabled",
29140            hiddenClass: "swiper-button-hidden",
29141            lockClass: "swiper-button-lock",
29142          },
29143        },
29144        create: function () {
29145          M(this, { navigation: t({}, K) });
29146        },
29147        on: {
29148          init: function (e) {
29149            e.navigation.init(), e.navigation.update();
29150          },
29151          toEdge: function (e) {
29152            e.navigation.update();
29153          },
29154          fromEdge: function (e) {
29155            e.navigation.update();
29156          },
29157          destroy: function (e) {
29158            e.navigation.destroy();
29159          },
29160          click: function (e, t) {
29161            var a = e.navigation,
29162              i = a.$nextEl,
29163              s = a.$prevEl,
29164              r = t.target;
29165            if (e.params.navigation.hideOnClick && !m(r).is(s) && !m(r).is(i)) {
29166              if (
29167                e.pagination &&
29168                e.params.pagination &&
29169                e.params.pagination.clickable &&
29170                (e.pagination.el === r || e.pagination.el.contains(r))
29171              )
29172                return;
29173              var n;
29174              i
29175                ? (n = i.hasClass(e.params.navigation.hiddenClass))
29176                : s && (n = s.hasClass(e.params.navigation.hiddenClass)),
29177                !0 === n ? e.emit("navigationShow") : e.emit("navigationHide"),
29178                i && i.toggleClass(e.params.navigation.hiddenClass),
29179                s && s.toggleClass(e.params.navigation.hiddenClass);
29180            }
29181          },
29182        },
29183      },
29184      {
29185        name: "pagination",
29186        params: {
29187          pagination: {
29188            el: null,
29189            bulletElement: "span",
29190            clickable: !1,
29191            hideOnClick: !1,
29192            renderBullet: null,
29193            renderProgressbar: null,
29194            renderFraction: null,
29195            renderCustom: null,
29196            progressbarOpposite: !1,
29197            type: "bullets",
29198            dynamicBullets: !1,
29199            dynamicMainBullets: 1,
29200            formatFractionCurrent: function (e) {
29201              return e;
29202            },
29203            formatFractionTotal: function (e) {
29204              return e;
29205            },
29206            bulletClass: "swiper-pagination-bullet",
29207            bulletActiveClass: "swiper-pagination-bullet-active",
29208            modifierClass: "swiper-pagination-",
29209            currentClass: "swiper-pagination-current",
29210            totalClass: "swiper-pagination-total",
29211            hiddenClass: "swiper-pagination-hidden",
29212            progressbarFillClass: "swiper-pagination-progressbar-fill",
29213            progressbarOppositeClass: "swiper-pagination-progressbar-opposite",
29214            clickableClass: "swiper-pagination-clickable",
29215            lockClass: "swiper-pagination-lock",
29216          },
29217        },
29218        create: function () {
29219          M(this, { pagination: t({ dynamicBulletIndex: 0 }, Z) });
29220        },
29221        on: {
29222          init: function (e) {
29223            e.pagination.init(), e.pagination.render(), e.pagination.update();
29224          },
29225          activeIndexChange: function (e) {
29226            (e.params.loop || void 0 === e.snapIndex) && e.pagination.update();
29227          },
29228          snapIndexChange: function (e) {
29229            e.params.loop || e.pagination.update();
29230          },
29231          slidesLengthChange: function (e) {
29232            e.params.loop && (e.pagination.render(), e.pagination.update());
29233          },
29234          snapGridLengthChange: function (e) {
29235            e.params.loop || (e.pagination.render(), e.pagination.update());
29236          },
29237          destroy: function (e) {
29238            e.pagination.destroy();
29239          },
29240          click: function (e, t) {
29241            var a = t.target;
29242            if (
29243              e.params.pagination.el &&
29244              e.params.pagination.hideOnClick &&
29245              e.pagination.$el.length > 0 &&
29246              !m(a).hasClass(e.params.pagination.bulletClass)
29247            ) {
29248              if (
29249                e.navigation &&
29250                ((e.navigation.nextEl && a === e.navigation.nextEl) ||
29251                  (e.navigation.prevEl && a === e.navigation.prevEl))
29252              )
29253                return;
29254              !0 === e.pagination.$el.hasClass(e.params.pagination.hiddenClass)
29255                ? e.emit("paginationShow")
29256                : e.emit("paginationHide"),
29257                e.pagination.$el.toggleClass(e.params.pagination.hiddenClass);
29258            }
29259          },
29260        },
29261      },
29262      {
29263        name: "scrollbar",
29264        params: {
29265          scrollbar: {
29266            el: null,
29267            dragSize: "auto",
29268            hide: !1,
29269            draggable: !1,
29270            snapOnRelease: !0,
29271            lockClass: "swiper-scrollbar-lock",
29272            dragClass: "swiper-scrollbar-drag",
29273          },
29274        },
29275        create: function () {
29276          M(this, {
29277            scrollbar: t(
29278              { isTouched: !1, timeout: null, dragTimeout: null },
29279              J
29280            ),
29281          });
29282        },
29283        on: {
29284          init: function (e) {
29285            e.scrollbar.init(),
29286              e.scrollbar.updateSize(),
29287              e.scrollbar.setTranslate();
29288          },
29289          update: function (e) {
29290            e.scrollbar.updateSize();
29291          },
29292          resize: function (e) {
29293            e.scrollbar.updateSize();
29294          },
29295          observerUpdate: function (e) {
29296            e.scrollbar.updateSize();
29297          },
29298          setTranslate: function (e) {
29299            e.scrollbar.setTranslate();
29300          },
29301          setTransition: function (e, t) {
29302            e.scrollbar.setTransition(t);
29303          },
29304          destroy: function (e) {
29305            e.scrollbar.destroy();
29306          },
29307        },
29308      },
29309      {
29310        name: "parallax",
29311        params: { parallax: { enabled: !1 } },
29312        create: function () {
29313          M(this, { parallax: t({}, Q) });
29314        },
29315        on: {
29316          beforeInit: function (e) {
29317            e.params.parallax.enabled &&
29318              ((e.params.watchSlidesProgress = !0),
29319              (e.originalParams.watchSlidesProgress = !0));
29320          },
29321          init: function (e) {
29322            e.params.parallax.enabled && e.parallax.setTranslate();
29323          },
29324          setTranslate: function (e) {
29325            e.params.parallax.enabled && e.parallax.setTranslate();
29326          },
29327          setTransition: function (e, t) {
29328            e.params.parallax.enabled && e.parallax.setTransition(t);
29329          },
29330        },
29331      },
29332      {
29333        name: "zoom",
29334        params: {
29335          zoom: {
29336            enabled: !1,
29337            maxRatio: 3,
29338            minRatio: 1,
29339            toggle: !0,
29340            containerClass: "swiper-zoom-container",
29341            zoomedSlideClass: "swiper-slide-zoomed",
29342          },
29343        },
29344        create: function () {
29345          var e = this;
29346          M(e, {
29347            zoom: t(
29348              {
29349                enabled: !1,
29350                scale: 1,
29351                currentScale: 1,
29352                isScaling: !1,
29353                gesture: {
29354                  $slideEl: void 0,
29355                  slideWidth: void 0,
29356                  slideHeight: void 0,
29357                  $imageEl: void 0,
29358                  $imageWrapEl: void 0,
29359                  maxRatio: 3,
29360                },
29361                image: {
29362                  isTouched: void 0,
29363                  isMoved: void 0,
29364                  currentX: void 0,
29365                  currentY: void 0,
29366                  minX: void 0,
29367                  minY: void 0,
29368                  maxX: void 0,
29369                  maxY: void 0,
29370                  width: void 0,
29371                  height: void 0,
29372                  startX: void 0,
29373                  startY: void 0,
29374                  touchesStart: {},
29375                  touchesCurrent: {},
29376                },
29377                velocity: {
29378                  x: void 0,
29379                  y: void 0,
29380                  prevPositionX: void 0,
29381                  prevPositionY: void 0,
29382                  prevTime: void 0,
29383                },
29384              },
29385              ee
29386            ),
29387          });
29388          var a = 1;
29389          Object.defineProperty(e.zoom, "scale", {
29390            get: function () {
29391              return a;
29392            },
29393            set: function (t) {
29394              if (a !== t) {
29395                var i = e.zoom.gesture.$imageEl
29396                    ? e.zoom.gesture.$imageEl[0]
29397                    : void 0,
29398                  s = e.zoom.gesture.$slideEl
29399                    ? e.zoom.gesture.$slideEl[0]
29400                    : void 0;
29401                e.emit("zoomChange", t, i, s);
29402              }
29403              a = t;
29404            },
29405          });
29406        },
29407        on: {
29408          init: function (e) {
29409            e.params.zoom.enabled && e.zoom.enable();
29410          },
29411          destroy: function (e) {
29412            e.zoom.disable();
29413          },
29414          touchStart: function (e, t) {
29415            e.zoom.enabled && e.zoom.onTouchStart(t);
29416          },
29417          touchEnd: function (e, t) {
29418            e.zoom.enabled && e.zoom.onTouchEnd(t);
29419          },
29420          doubleTap: function (e, t) {
29421            !e.animating &&
29422              e.params.zoom.enabled &&
29423              e.zoom.enabled &&
29424              e.params.zoom.toggle &&
29425              e.zoom.toggle(t);
29426          },
29427          transitionEnd: function (e) {
29428            e.zoom.enabled && e.params.zoom.enabled && e.zoom.onTransitionEnd();
29429          },
29430          slideChange: function (e) {
29431            e.zoom.enabled &&
29432              e.params.zoom.enabled &&
29433              e.params.cssMode &&
29434              e.zoom.onTransitionEnd();
29435          },
29436        },
29437      },
29438      {
29439        name: "lazy",
29440        params: {
29441          lazy: {
29442            checkInView: !1,
29443            enabled: !1,
29444            loadPrevNext: !1,
29445            loadPrevNextAmount: 1,
29446            loadOnTransitionStart: !1,
29447            scrollingElement: "",
29448            elementClass: "swiper-lazy",
29449            loadingClass: "swiper-lazy-loading",
29450            loadedClass: "swiper-lazy-loaded",
29451            preloaderClass: "swiper-lazy-preloader",
29452          },
29453        },
29454        create: function () {
29455          M(this, { lazy: t({ initialImageLoaded: !1 }, te) });
29456        },
29457        on: {
29458          beforeInit: function (e) {
29459            e.params.lazy.enabled &&
29460              e.params.preloadImages &&
29461              (e.params.preloadImages = !1);
29462          },
29463          init: function (e) {
29464            e.params.lazy.enabled &&
29465              !e.params.loop &&
29466              0 === e.params.initialSlide &&
29467              (e.params.lazy.checkInView
29468                ? e.lazy.checkInViewOnLoad()
29469                : e.lazy.load());
29470          },
29471          scroll: function (e) {
29472            e.params.freeMode && !e.params.freeModeSticky && e.lazy.load();
29473          },
29474          "scrollbarDragMove resize _freeModeNoMomentumRelease": function (e) {
29475            e.params.lazy.enabled && e.lazy.load();
29476          },
29477          transitionStart: function (e) {
29478            e.params.lazy.enabled &&
29479              (e.params.lazy.loadOnTransitionStart ||
29480                (!e.params.lazy.loadOnTransitionStart &&
29481                  !e.lazy.initialImageLoaded)) &&
29482              e.lazy.load();
29483          },
29484          transitionEnd: function (e) {
29485            e.params.lazy.enabled &&
29486              !e.params.lazy.loadOnTransitionStart &&
29487              e.lazy.load();
29488          },
29489          slideChange: function (e) {
29490            e.params.lazy.enabled && e.params.cssMode && e.lazy.load();
29491          },
29492        },
29493      },
29494      {
29495        name: "controller",
29496        params: { controller: { control: void 0, inverse: !1, by: "slide" } },
29497        create: function () {
29498          M(this, {
29499            controller: t({ control: this.params.controller.control }, ae),
29500          });
29501        },
29502        on: {
29503          update: function (e) {
29504            e.controller.control &&
29505              e.controller.spline &&
29506              ((e.controller.spline = void 0), delete e.controller.spline);
29507          },
29508          resize: function (e) {
29509            e.controller.control &&
29510              e.controller.spline &&
29511              ((e.controller.spline = void 0), delete e.controller.spline);
29512          },
29513          observerUpdate: function (e) {
29514            e.controller.control &&
29515              e.controller.spline &&
29516              ((e.controller.spline = void 0), delete e.controller.spline);
29517          },
29518          setTranslate: function (e, t, a) {
29519            e.controller.control && e.controller.setTranslate(t, a);
29520          },
29521          setTransition: function (e, t, a) {
29522            e.controller.control && e.controller.setTransition(t, a);
29523          },
29524        },
29525      },
29526      {
29527        name: "a11y",
29528        params: {
29529          a11y: {
29530            enabled: !0,
29531            notificationClass: "swiper-notification",
29532            prevSlideMessage: "Previous slide",
29533            nextSlideMessage: "Next slide",
29534            firstSlideMessage: "This is the first slide",
29535            lastSlideMessage: "This is the last slide",
29536            paginationBulletMessage: "Go to slide {{index}}",
29537            containerMessage: null,
29538            containerRoleDescriptionMessage: null,
29539            itemRoleDescriptionMessage: null,
29540          },
29541        },
29542        create: function () {
29543          M(this, {
29544            a11y: t({}, ie, {
29545              liveRegion: m(
29546                '<span class="' +
29547                  this.params.a11y.notificationClass +
29548                  '" aria-live="assertive" aria-atomic="true"></span>'
29549              ),
29550            }),
29551          });
29552        },
29553        on: {
29554          afterInit: function (e) {
29555            e.params.a11y.enabled && (e.a11y.init(), e.a11y.updateNavigation());
29556          },
29557          toEdge: function (e) {
29558            e.params.a11y.enabled && e.a11y.updateNavigation();
29559          },
29560          fromEdge: function (e) {
29561            e.params.a11y.enabled && e.a11y.updateNavigation();
29562          },
29563          paginationUpdate: function (e) {
29564            e.params.a11y.enabled && e.a11y.updatePagination();
29565          },
29566          destroy: function (e) {
29567            e.params.a11y.enabled && e.a11y.destroy();
29568          },
29569        },
29570      },
29571      {
29572        name: "history",
29573        params: { history: { enabled: !1, replaceState: !1, key: "slides" } },
29574        create: function () {
29575          M(this, { history: t({}, se) });
29576        },
29577        on: {
29578          init: function (e) {
29579            e.params.history.enabled && e.history.init();
29580          },
29581          destroy: function (e) {
29582            e.params.history.enabled && e.history.destroy();
29583          },
29584          transitionEnd: function (e) {
29585            e.history.initialized &&
29586              e.history.setHistory(e.params.history.key, e.activeIndex);
29587          },
29588          slideChange: function (e) {
29589            e.history.initialized &&
29590              e.params.cssMode &&
29591              e.history.setHistory(e.params.history.key, e.activeIndex);
29592          },
29593        },
29594      },
29595      {
29596        name: "hash-navigation",
29597        params: {
29598          hashNavigation: { enabled: !1, replaceState: !1, watchState: !1 },
29599        },
29600        create: function () {
29601          M(this, { hashNavigation: t({ initialized: !1 }, re) });
29602        },
29603        on: {
29604          init: function (e) {
29605            e.params.hashNavigation.enabled && e.hashNavigation.init();
29606          },
29607          destroy: function (e) {
29608            e.params.hashNavigation.enabled && e.hashNavigation.destroy();
29609          },
29610          transitionEnd: function (e) {
29611            e.hashNavigation.initialized && e.hashNavigation.setHash();
29612          },
29613          slideChange: function (e) {
29614            e.hashNavigation.initialized &&
29615              e.params.cssMode &&
29616              e.hashNavigation.setHash();
29617          },
29618        },
29619      },
29620      {
29621        name: "autoplay",
29622        params: {
29623          autoplay: {
29624            enabled: !1,
29625            delay: 3e3,
29626            waitForTransition: !0,
29627            disableOnInteraction: !0,
29628            stopOnLastSlide: !1,
29629            reverseDirection: !1,
29630          },
29631        },
29632        create: function () {
29633          M(this, { autoplay: t({}, ne, { running: !1, paused: !1 }) });
29634        },
29635        on: {
29636          init: function (e) {
29637            e.params.autoplay.enabled &&
29638              (e.autoplay.start(),
29639              r().addEventListener(
29640                "visibilitychange",
29641                e.autoplay.onVisibilityChange
29642              ));
29643          },
29644          beforeTransitionStart: function (e, t, a) {
29645            e.autoplay.running &&
29646              (a || !e.params.autoplay.disableOnInteraction
29647                ? e.autoplay.pause(t)
29648                : e.autoplay.stop());
29649          },
29650          sliderFirstMove: function (e) {
29651            e.autoplay.running &&
29652              (e.params.autoplay.disableOnInteraction
29653                ? e.autoplay.stop()
29654                : e.autoplay.pause());
29655          },
29656          touchEnd: function (e) {
29657            e.params.cssMode &&
29658              e.autoplay.paused &&
29659              !e.params.autoplay.disableOnInteraction &&
29660              e.autoplay.run();
29661          },
29662          destroy: function (e) {
29663            e.autoplay.running && e.autoplay.stop(),
29664              r().removeEventListener(
29665                "visibilitychange",
29666                e.autoplay.onVisibilityChange
29667              );
29668          },
29669        },
29670      },
29671      {
29672        name: "effect-fade",
29673        params: { fadeEffect: { crossFade: !1 } },
29674        create: function () {
29675          M(this, { fadeEffect: t({}, le) });
29676        },
29677        on: {
29678          beforeInit: function (e) {
29679            if ("fade" === e.params.effect) {
29680              e.classNames.push(e.params.containerModifierClass + "fade");
29681              var t = {
29682                slidesPerView: 1,
29683                slidesPerColumn: 1,
29684                slidesPerGroup: 1,
29685                watchSlidesProgress: !0,
29686                spaceBetween: 0,
29687                virtualTranslate: !0,
29688              };
29689              S(e.params, t), S(e.originalParams, t);
29690            }
29691          },
29692          setTranslate: function (e) {
29693            "fade" === e.params.effect && e.fadeEffect.setTranslate();
29694          },
29695          setTransition: function (e, t) {
29696            "fade" === e.params.effect && e.fadeEffect.setTransition(t);
29697          },
29698        },
29699      },
29700      {
29701        name: "effect-cube",
29702        params: {
29703          cubeEffect: {
29704            slideShadows: !0,
29705            shadow: !0,
29706            shadowOffset: 20,
29707            shadowScale: 0.94,
29708          },
29709        },
29710        create: function () {
29711          M(this, { cubeEffect: t({}, oe) });
29712        },
29713        on: {
29714          beforeInit: function (e) {
29715            if ("cube" === e.params.effect) {
29716              e.classNames.push(e.params.containerModifierClass + "cube"),
29717                e.classNames.push(e.params.containerModifierClass + "3d");
29718              var t = {
29719                slidesPerView: 1,
29720                slidesPerColumn: 1,
29721                slidesPerGroup: 1,
29722                watchSlidesProgress: !0,
29723                resistanceRatio: 0,
29724                spaceBetween: 0,
29725                centeredSlides: !1,
29726                virtualTranslate: !0,
29727              };
29728              S(e.params, t), S(e.originalParams, t);
29729            }
29730          },
29731          setTranslate: function (e) {
29732            "cube" === e.params.effect && e.cubeEffect.setTranslate();
29733          },
29734          setTransition: function (e, t) {
29735            "cube" === e.params.effect && e.cubeEffect.setTransition(t);
29736          },
29737        },
29738      },
29739      {
29740        name: "effect-flip",
29741        params: { flipEffect: { slideShadows: !0, limitRotation: !0 } },
29742        create: function () {
29743          M(this, { flipEffect: t({}, de) });
29744        },
29745        on: {
29746          beforeInit: function (e) {
29747            if ("flip" === e.params.effect) {
29748              e.classNames.push(e.params.containerModifierClass + "flip"),
29749                e.classNames.push(e.params.containerModifierClass + "3d");
29750              var t = {
29751                slidesPerView: 1,
29752                slidesPerColumn: 1,
29753                slidesPerGroup: 1,
29754                watchSlidesProgress: !0,
29755                spaceBetween: 0,
29756                virtualTranslate: !0,
29757              };
29758              S(e.params, t), S(e.originalParams, t);
29759            }
29760          },
29761          setTranslate: function (e) {
29762            "flip" === e.params.effect && e.flipEffect.setTranslate();
29763          },
29764          setTransition: function (e, t) {
29765            "flip" === e.params.effect && e.flipEffect.setTransition(t);
29766          },
29767        },
29768      },
29769      {
29770        name: "effect-coverflow",
29771        params: {
29772          coverflowEffect: {
29773            rotate: 50,
29774            stretch: 0,
29775            depth: 100,
29776            scale: 1,
29777            modifier: 1,
29778            slideShadows: !0,
29779          },
29780        },
29781        create: function () {
29782          M(this, { coverflowEffect: t({}, pe) });
29783        },
29784        on: {
29785          beforeInit: function (e) {
29786            "coverflow" === e.params.effect &&
29787              (e.classNames.push(e.params.containerModifierClass + "coverflow"),
29788              e.classNames.push(e.params.containerModifierClass + "3d"),
29789              (e.params.watchSlidesProgress = !0),
29790              (e.originalParams.watchSlidesProgress = !0));
29791          },
29792          setTranslate: function (e) {
29793            "coverflow" === e.params.effect && e.coverflowEffect.setTranslate();
29794          },
29795          setTransition: function (e, t) {
29796            "coverflow" === e.params.effect &&
29797              e.coverflowEffect.setTransition(t);
29798          },
29799        },
29800      },
29801      {
29802        name: "thumbs",
29803        params: {
29804          thumbs: {
29805            swiper: null,
29806            multipleActiveThumbs: !0,
29807            autoScrollOffset: 0,
29808            slideThumbActiveClass: "swiper-slide-thumb-active",
29809            thumbsContainerClass: "swiper-container-thumbs",
29810          },
29811        },
29812        create: function () {
29813          M(this, { thumbs: t({ swiper: null, initialized: !1 }, ce) });
29814        },
29815        on: {
29816          beforeInit: function (e) {
29817            var t = e.params.thumbs;
29818            t && t.swiper && (e.thumbs.init(), e.thumbs.update(!0));
29819          },
29820          slideChange: function (e) {
29821            e.thumbs.swiper && e.thumbs.update();
29822          },
29823          update: function (e) {
29824            e.thumbs.swiper && e.thumbs.update();
29825          },
29826          resize: function (e) {
29827            e.thumbs.swiper && e.thumbs.update();
29828          },
29829          observerUpdate: function (e) {
29830            e.thumbs.swiper && e.thumbs.update();
29831          },
29832          setTransition: function (e, t) {
29833            var a = e.thumbs.swiper;
29834            a && a.setTransition(t);
29835          },
29836          beforeDestroy: function (e) {
29837            var t = e.thumbs.swiper;
29838            t && e.thumbs.swiperCreated && t && t.destroy();
29839          },
29840        },
29841      },
29842    ];
29843  return W.use(ue), W;
29844});
29845//# sourceMappingURL=swiper-bundle.min.js.map
29846(function () {
29847  /*
29848
29849 Copyright The Closure Library Authors.
29850 SPDX-License-Identifier: Apache-2.0
29851*/
29852  var aa = this || self;
29853  function k(a, b) {
29854    a = a.split(".");
29855    var c = aa;
29856    a[0] in c ||
29857      "undefined" == typeof c.execScript ||
29858      c.execScript("var " + a[0]);
29859    for (var d; a.length && (d = a.shift()); )
29860      a.length || void 0 === b
29861        ? c[d] && c[d] !== Object.prototype[d]
29862          ? (c = c[d])
29863          : (c = c[d] = {})
29864        : (c[d] = b);
29865  }
29866  function m(a, b) {
29867    function c() {}
29868    c.prototype = b.prototype;
29869    a.$ = b.prototype;
29870    a.prototype = new c();
29871    a.prototype.constructor = a;
29872    a.fa = function (d, f, e) {
29873      for (
29874        var g = Array(arguments.length - 2), h = 2;
29875        h < arguments.length;
29876        h++
29877      )
29878        g[h - 2] = arguments[h];
29879      return b.prototype[f].apply(d, g);
29880    };
29881  }
29882  function ba(a) {
29883    const b = [];
29884    let c = 0;
29885    for (const d in a) b[c++] = a[d];
29886    return b;
29887  }
29888  function ca(a, b) {
29889    this.g = a;
29890    this.m = !!b.o;
29891    this.i = b.h;
29892    this.v = b.type;
29893    this.u = !1;
29894    switch (this.i) {
29895      case da:
29896      case ea:
29897      case fa:
29898      case ha:
29899      case ia:
29900      case ja:
29901      case ka:
29902        this.u = !0;
29903    }
29904    this.l = b.defaultValue;
29905  }
29906  var ka = 1,
29907    ja = 2,
29908    da = 3,
29909    ea = 4,
29910    fa = 6,
29911    ha = 16,
29912    ia = 18;
29913  function la(a, b) {
29914    this.i = a;
29915    this.g = {};
29916    for (a = 0; a < b.length; a++) {
29917      var c = b[a];
29918      this.g[c.g] = c;
29919    }
29920  }
29921  function ma(a) {
29922    a = ba(a.g);
29923    a.sort(function (b, c) {
29924      return b.g - c.g;
29925    });
29926    return a;
29927  }
29928  function n() {
29929    this.g = {};
29930    this.l = this.j().g;
29931    this.i = this.m = null;
29932  }
29933  n.prototype.has = function (a) {
29934    return null != this.g[a.g];
29935  };
29936  n.prototype.get = function (a, b) {
29937    return p(this, a.g, b);
29938  };
29939  n.prototype.set = function (a, b) {
29940    q(this, a.g, b);
29941  };
29942  n.prototype.add = function (a, b) {
29943    r(this, a.g, b);
29944  };
29945  function t(a, b) {
29946    for (var c = ma(a.j()), d = 0; d < c.length; d++) {
29947      var f = c[d],
29948        e = f.g;
29949      if (null != b.g[e]) {
29950        a.i && delete a.i[f.g];
29951        var g = 11 == f.i || 10 == f.i;
29952        if (f.m) {
29953          f = u(b, e);
29954          for (var h = 0; h < f.length; h++) r(a, e, g ? f[h].clone() : f[h]);
29955        } else
29956          (f = v(b, e)),
29957            g ? ((g = v(a, e)) ? t(g, f) : q(a, e, f.clone())) : q(a, e, f);
29958      }
29959    }
29960  }
29961  n.prototype.clone = function () {
29962    var a = new this.constructor();
29963    a != this && ((a.g = {}), a.i && (a.i = {}), t(a, this));
29964    return a;
29965  };
29966  function v(a, b) {
29967    var c = a.g[b];
29968    if (null == c) return null;
29969    if (a.m) {
29970      if (!(b in a.i)) {
29971        var d = a.m,
29972          f = a.l[b];
29973        if (null != c)
29974          if (f.m) {
29975            for (var e = [], g = 0; g < c.length; g++) e[g] = d.i(f, c[g]);
29976            c = e;
29977          } else c = d.i(f, c);
29978        return (a.i[b] = c);
29979      }
29980      return a.i[b];
29981    }
29982    return c;
29983  }
29984  function p(a, b, c) {
29985    var d = v(a, b);
29986    return a.l[b].m ? d[c || 0] : d;
29987  }
29988  function w(a, b) {
29989    if (null != a.g[b]) a = p(a, b);
29990    else
29991      a: {
29992        a = a.l[b];
29993        if (void 0 === a.l)
29994          if (((b = a.v), b === Boolean)) a.l = !1;
29995          else if (b === Number) a.l = 0;
29996          else if (b === String) a.l = a.u ? "0" : "";
29997          else {
29998            a = new b();
29999            break a;
30000          }
30001        a = a.l;
30002      }
30003    return a;
30004  }
30005  function u(a, b) {
30006    return v(a, b) || [];
30007  }
30008  function x(a, b) {
30009    return a.l[b].m
30010      ? null != a.g[b]
30011        ? a.g[b].length
30012        : 0
30013      : null != a.g[b]
30014      ? 1
30015      : 0;
30016  }
30017  function q(a, b, c) {
30018    a.g[b] = c;
30019    a.i && (a.i[b] = c);
30020  }
30021  function r(a, b, c) {
30022    a.g[b] || (a.g[b] = []);
30023    a.g[b].push(c);
30024    a.i && delete a.i[b];
30025  }
30026  function y(a, b) {
30027    var c = [],
30028      d;
30029    for (d in b) 0 != d && c.push(new ca(d, b[d]));
30030    return new la(a, c);
30031  }
30032  function z() {}
30033  z.prototype.g = function (a) {
30034    new a.i();
30035    throw Error("Unimplemented");
30036  };
30037  z.prototype.i = function (a, b) {
30038    if (11 == a.i || 10 == a.i)
30039      return b instanceof n ? b : this.g(a.v.prototype.j(), b);
30040    if (14 == a.i)
30041      return "string" === typeof b && na.test(b) && ((a = Number(b)), 0 < a)
30042        ? a
30043        : b;
30044    if (!a.u) return b;
30045    a = a.v;
30046    if (a === String) {
30047      if ("number" === typeof b) return String(b);
30048    } else if (
30049      a === Number &&
30050      "string" === typeof b &&
30051      ("Infinity" === b || "-Infinity" === b || "NaN" === b || na.test(b))
30052    )
30053      return Number(b);
30054    return b;
30055  };
30056  var na = /^-?[0-9]+$/;
30057  function B() {}
30058  m(B, z);
30059  B.prototype.g = function (a, b) {
30060    a = new a.i();
30061    a.m = this;
30062    a.g = b;
30063    a.i = {};
30064    return a;
30065  };
30066  function C() {}
30067  m(C, B);
30068  C.prototype.i = function (a, b) {
30069    return 8 == a.i ? !!b : z.prototype.i.apply(this, arguments);
30070  };
30071  C.prototype.g = function (a, b) {
30072    return C.$.g.call(this, a, b);
30073  };
30074  function D(a, b) {
30075    null != a && this.g.apply(this, arguments);
30076  }
30077  D.prototype.i = "";
30078  D.prototype.set = function (a) {
30079    this.i = "" + a;
30080  };
30081  D.prototype.g = function (a, b, c) {
30082    this.i += String(a);
30083    if (null != b)
30084      for (let d = 1; d < arguments.length; d++) this.i += arguments[d];
30085    return this;
30086  };
30087  D.prototype.toString = function () {
30088    return this.i;
30089  }; /*
30090
30091 Protocol Buffer 2 Copyright 2008 Google Inc.
30092 All other code copyright its respective owners.
30093 Copyright (C) 2010 The Libphonenumber Authors
30094
30095 Licensed under the Apache License, Version 2.0 (the "License");
30096 you may not use this file except in compliance with the License.
30097 You may obtain a copy of the License at
30098
30099 http://www.apache.org/licenses/LICENSE-2.0
30100
30101 Unless required by applicable law or agreed to in writing, software
30102 distributed under the License is distributed on an "AS IS" BASIS,
30103 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30104 See the License for the specific language governing permissions and
30105 limitations under the License.
30106*/
30107  function E() {
30108    n.call(this);
30109  }
30110  m(E, n);
30111  var oa = null;
30112  function G() {
30113    n.call(this);
30114  }
30115  m(G, n);
30116  var pa = null;
30117  function H() {
30118    n.call(this);
30119  }
30120  m(H, n);
30121  var qa = null;
30122  E.prototype.j = function () {
30123    var a = oa;
30124    a ||
30125      (oa = a =
30126        y(E, {
30127          0: { name: "NumberFormat", s: "i18n.phonenumbers.NumberFormat" },
30128          1: { name: "pattern", required: !0, h: 9, type: String },
30129          2: { name: "format", required: !0, h: 9, type: String },
30130          3: { name: "leading_digits_pattern", o: !0, h: 9, type: String },
30131          4: { name: "national_prefix_formatting_rule", h: 9, type: String },
30132          6: {
30133            name: "national_prefix_optional_when_formatting",
30134            h: 8,
30135            defaultValue: !1,
30136            type: Boolean,
30137          },
30138          5: {
30139            name: "domestic_carrier_code_formatting_rule",
30140            h: 9,
30141            type: String,
30142          },
30143        }));
30144    return a;
30145  };
30146  E.j = E.prototype.j;
30147  G.prototype.j = function () {
30148    var a = pa;
30149    a ||
30150      (pa = a =
30151        y(G, {
30152          0: {
30153            name: "PhoneNumberDesc",
30154            s: "i18n.phonenumbers.PhoneNumberDesc",
30155          },
30156          2: { name: "national_number_pattern", h: 9, type: String },
30157          9: { name: "possible_length", o: !0, h: 5, type: Number },
30158          10: { name: "possible_length_local_only", o: !0, h: 5, type: Number },
30159          6: { name: "example_number", h: 9, type: String },
30160        }));
30161    return a;
30162  };
30163  G.j = G.prototype.j;
30164  H.prototype.j = function () {
30165    var a = qa;
30166    a ||
30167      (qa = a =
30168        y(H, {
30169          0: { name: "PhoneMetadata", s: "i18n.phonenumbers.PhoneMetadata" },
30170          1: { name: "general_desc", h: 11, type: G },
30171          2: { name: "fixed_line", h: 11, type: G },
30172          3: { name: "mobile", h: 11, type: G },
30173          4: { name: "toll_free", h: 11, type: G },
30174          5: { name: "premium_rate", h: 11, type: G },
30175          6: { name: "shared_cost", h: 11, type: G },
30176          7: { name: "personal_number", h: 11, type: G },
30177          8: { name: "voip", h: 11, type: G },
30178          21: { name: "pager", h: 11, type: G },
30179          25: { name: "uan", h: 11, type: G },
30180          27: { name: "emergency", h: 11, type: G },
30181          28: { name: "voicemail", h: 11, type: G },
30182          29: { name: "short_code", h: 11, type: G },
30183          30: { name: "standard_rate", h: 11, type: G },
30184          31: { name: "carrier_specific", h: 11, type: G },
30185          33: { name: "sms_services", h: 11, type: G },
30186          24: { name: "no_international_dialling", h: 11, type: G },
30187          9: { name: "id", required: !0, h: 9, type: String },
30188          10: { name: "country_code", h: 5, type: Number },
30189          11: { name: "international_prefix", h: 9, type: String },
30190          17: { name: "preferred_international_prefix", h: 9, type: String },
30191          12: { name: "national_prefix", h: 9, type: String },
30192          13: { name: "preferred_extn_prefix", h: 9, type: String },
30193          15: { name: "national_prefix_for_parsing", h: 9, type: String },
30194          16: { name: "national_prefix_transform_rule", h: 9, type: String },
30195          18: {
30196            name: "same_mobile_and_fixed_line_pattern",
30197            h: 8,
30198            defaultValue: !1,
30199            type: Boolean,
30200          },
30201          19: { name: "number_format", o: !0, h: 11, type: E },
30202          20: { name: "intl_number_format", o: !0, h: 11, type: E },
30203          22: {
30204            name: "main_country_for_code",
30205            h: 8,
30206            defaultValue: !1,
30207            type: Boolean,
30208          },
30209          23: { name: "leading_digits", h: 9, type: String },
30210        }));
30211    return a;
30212  };
30213  H.j = H.prototype.j;
30214  function I() {
30215    n.call(this);
30216  }
30217  m(I, n);
30218  var ra = null,
30219    sa = { ea: 0, da: 1, ca: 5, ba: 10, aa: 20 };
30220  I.prototype.j = function () {
30221    var a = ra;
30222    a ||
30223      (ra = a =
30224        y(I, {
30225          0: { name: "PhoneNumber", s: "i18n.phonenumbers.PhoneNumber" },
30226          1: { name: "country_code", required: !0, h: 5, type: Number },
30227          2: { name: "national_number", required: !0, h: 4, type: Number },
30228          3: { name: "extension", h: 9, type: String },
30229          4: { name: "italian_leading_zero", h: 8, type: Boolean },
30230          8: {
30231            name: "number_of_leading_zeros",
30232            h: 5,
30233            defaultValue: 1,
30234            type: Number,
30235          },
30236          5: { name: "raw_input", h: 9, type: String },
30237          6: { name: "country_code_source", h: 14, defaultValue: 0, type: sa },
30238          7: { name: "preferred_domestic_carrier_code", h: 9, type: String },
30239        }));
30240    return a;
30241  };
30242  I.ctor = I;
30243  I.ctor.j = I.prototype.j; /*
30244
30245 Copyright (C) 2010 The Libphonenumber Authors
30246
30247 Licensed under the Apache License, Version 2.0 (the "License");
30248 you may not use this file except in compliance with the License.
30249 You may obtain a copy of the License at
30250
30251 http://www.apache.org/licenses/LICENSE-2.0
30252
30253 Unless required by applicable law or agreed to in writing, software
30254 distributed under the License is distributed on an "AS IS" BASIS,
30255 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
30256 See the License for the specific language governing permissions and
30257 limitations under the License.
30258*/
30259  var J = {
30260      1: "US AG AI AS BB BM BS CA DM DO GD GU JM KN KY LC MP MS PR SX TC TT VC VG VI".split(
30261        " "
30262      ),
30263      7: ["RU", "KZ"],
30264      20: ["EG"],
30265      27: ["ZA"],
30266      30: ["GR"],
30267      31: ["NL"],
30268      32: ["BE"],
30269      33: ["FR"],
30270      34: ["ES"],
30271      36: ["HU"],
30272      39: ["IT", "VA"],
30273      40: ["RO"],
30274      41: ["CH"],
30275      43: ["AT"],
30276      44: ["GB", "GG", "IM", "JE"],
30277      45: ["DK"],
30278      46: ["SE"],
30279      47: ["NO", "SJ"],
30280      48: ["PL"],
30281      49: ["DE"],
30282      51: ["PE"],
30283      52: ["MX"],
30284      53: ["CU"],
30285      54: ["AR"],
30286      55: ["BR"],
30287      56: ["CL"],
30288      57: ["CO"],
30289      58: ["VE"],
30290      60: ["MY"],
30291      61: ["AU", "CC", "CX"],
30292      62: ["ID"],
30293      63: ["PH"],
30294      64: ["NZ"],
30295      65: ["SG"],
30296      66: ["TH"],
30297      81: ["JP"],
30298      82: ["KR"],
30299      84: ["VN"],
30300      86: ["CN"],
30301      90: ["TR"],
30302      91: ["IN"],
30303      92: ["PK"],
30304      93: ["AF"],
30305      94: ["LK"],
30306      95: ["MM"],
30307      98: ["IR"],
30308      211: ["SS"],
30309      212: ["MA", "EH"],
30310      213: ["DZ"],
30311      216: ["TN"],
30312      218: ["LY"],
30313      220: ["GM"],
30314      221: ["SN"],
30315      222: ["MR"],
30316      223: ["ML"],
30317      224: ["GN"],
30318      225: ["CI"],
30319      226: ["BF"],
30320      227: ["NE"],
30321      228: ["TG"],
30322      229: ["BJ"],
30323      230: ["MU"],
30324      231: ["LR"],
30325      232: ["SL"],
30326      233: ["GH"],
30327      234: ["NG"],
30328      235: ["TD"],
30329      236: ["CF"],
30330      237: ["CM"],
30331      238: ["CV"],
30332      239: ["ST"],
30333      240: ["GQ"],
30334      241: ["GA"],
30335      242: ["CG"],
30336      243: ["CD"],
30337      244: ["AO"],
30338      245: ["GW"],
30339      246: ["IO"],
30340      247: ["AC"],
30341      248: ["SC"],
30342      249: ["SD"],
30343      250: ["RW"],
30344      251: ["ET"],
30345      252: ["SO"],
30346      253: ["DJ"],
30347      254: ["KE"],
30348      255: ["TZ"],
30349      256: ["UG"],
30350      257: ["BI"],
30351      258: ["MZ"],
30352      260: ["ZM"],
30353      261: ["MG"],
30354      262: ["RE", "YT"],
30355      263: ["ZW"],
30356      264: ["NA"],
30357      265: ["MW"],
30358      266: ["LS"],
30359      267: ["BW"],
30360      268: ["SZ"],
30361      269: ["KM"],
30362      290: ["SH", "TA"],
30363      291: ["ER"],
30364      297: ["AW"],
30365      298: ["FO"],
30366      299: ["GL"],
30367      350: ["GI"],
30368      351: ["PT"],
30369      352: ["LU"],
30370      353: ["IE"],
30371      354: ["IS"],
30372      355: ["AL"],
30373      356: ["MT"],
30374      357: ["CY"],
30375      358: ["FI", "AX"],
30376      359: ["BG"],
30377      370: ["LT"],
30378      371: ["LV"],
30379      372: ["EE"],
30380      373: ["MD"],
30381      374: ["AM"],
30382      375: ["BY"],
30383      376: ["AD"],
30384      377: ["MC"],
30385      378: ["SM"],
30386      380: ["UA"],
30387      381: ["RS"],
30388      382: ["ME"],
30389      383: ["XK"],
30390      385: ["HR"],
30391      386: ["SI"],
30392      387: ["BA"],
30393      389: ["MK"],
30394      420: ["CZ"],
30395      421: ["SK"],
30396      423: ["LI"],
30397      500: ["FK"],
30398      501: ["BZ"],
30399      502: ["GT"],
30400      503: ["SV"],
30401      504: ["HN"],
30402      505: ["NI"],
30403      506: ["CR"],
30404      507: ["PA"],
30405      508: ["PM"],
30406      509: ["HT"],
30407      590: ["GP", "BL", "MF"],
30408      591: ["BO"],
30409      592: ["GY"],
30410      593: ["EC"],
30411      594: ["GF"],
30412      595: ["PY"],
30413      596: ["MQ"],
30414      597: ["SR"],
30415      598: ["UY"],
30416      599: ["CW", "BQ"],
30417      670: ["TL"],
30418      672: ["NF"],
30419      673: ["BN"],
30420      674: ["NR"],
30421      675: ["PG"],
30422      676: ["TO"],
30423      677: ["SB"],
30424      678: ["VU"],
30425      679: ["FJ"],
30426      680: ["PW"],
30427      681: ["WF"],
30428      682: ["CK"],
30429      683: ["NU"],
30430      685: ["WS"],
30431      686: ["KI"],
30432      687: ["NC"],
30433      688: ["TV"],
30434      689: ["PF"],
30435      690: ["TK"],
30436      691: ["FM"],
30437      692: ["MH"],
30438      800: ["001"],
30439      808: ["001"],
30440      850: ["KP"],
30441      852: ["HK"],
30442      853: ["MO"],
30443      855: ["KH"],
30444      856: ["LA"],
30445      870: ["001"],
30446      878: ["001"],
30447      880: ["BD"],
30448      881: ["001"],
30449      882: ["001"],
30450      883: ["001"],
30451      886: ["TW"],
30452      888: ["001"],
30453      960: ["MV"],
30454      961: ["LB"],
30455      962: ["JO"],
30456      963: ["SY"],
30457      964: ["IQ"],
30458      965: ["KW"],
30459      966: ["SA"],
30460      967: ["YE"],
30461      968: ["OM"],
30462      970: ["PS"],
30463      971: ["AE"],
30464      972: ["IL"],
30465      973: ["BH"],
30466      974: ["QA"],
30467      975: ["BT"],
30468      976: ["MN"],
30469      977: ["NP"],
30470      979: ["001"],
30471      992: ["TJ"],
30472      993: ["TM"],
30473      994: ["AZ"],
30474      995: ["GE"],
30475      996: ["KG"],
30476      998: ["UZ"],
30477    },
30478    ta = {
30479      AC: [
30480        ,
30481        [, , "(?:[01589]\\d|[46])\\d{4}", , , , , , , [5, 6]],
30482        [, , "6[2-467]\\d{3}", , , , "62889", , , [5]],
30483        [, , "4\\d{4}", , , , "40123", , , [5]],
30484        [, , , , , , , , , [-1]],
30485        [, , , , , , , , , [-1]],
30486        [, , , , , , , , , [-1]],
30487        [, , , , , , , , , [-1]],
30488        [, , , , , , , , , [-1]],
30489        "AC",
30490        247,
30491        "00",
30492        ,
30493        ,
30494        ,
30495        ,
30496        ,
30497        ,
30498        ,
30499        ,
30500        ,
30501        [, , , , , , , , , [-1]],
30502        ,
30503        ,
30504        [, , , , , , , , , [-1]],
30505        [, , "(?:0[1-9]|[1589]\\d)\\d{4}", , , , "542011", , , [6]],
30506        ,
30507        ,
30508        [, , , , , , , , , [-1]],
30509      ],
30510      AD: [
30511        ,
30512        [, , "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", , , , , , , [6, 8, 9]],
30513        [, , "[78]\\d{5}", , , , "712345", , , [6]],
30514        [, , "690\\d{6}|[356]\\d{5}", , , , "312345", , , [6, 9]],
30515        [, , "180[02]\\d{4}", , , , "18001234", , , [8]],
30516        [, , "[19]\\d{5}", , , , "912345", , , [6]],
30517        [, , , , , , , , , [-1]],
30518        [, , , , , , , , , [-1]],
30519        [, , , , , , , , , [-1]],
30520        "AD",
30521        376,
30522        "00",
30523        ,
30524        ,
30525        ,
30526        ,
30527        ,
30528        ,
30529        ,
30530        [
30531          [, "(\\d{3})(\\d{3})", "$1 $2", ["[135-9]"]],
30532          [, "(\\d{4})(\\d{4})", "$1 $2", ["1"]],
30533          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]],
30534        ],
30535        ,
30536        [, , , , , , , , , [-1]],
30537        ,
30538        ,
30539        [, , "1800\\d{4}", , , , , , , [8]],
30540        [, , , , , , , , , [-1]],
30541        ,
30542        ,
30543        [, , , , , , , , , [-1]],
30544      ],
30545      AE: [
30546        ,
30547        [
30548          ,
30549          ,
30550          "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",
30551          ,
30552          ,
30553          ,
30554          ,
30555          ,
30556          ,
30557          [5, 6, 7, 8, 9, 10, 11, 12],
30558        ],
30559        [, , "[2-4679][2-8]\\d{6}", , , , "22345678", , , [8], [7]],
30560        [, , "5[024-68]\\d{7}", , , , "501234567", , , [9]],
30561        [, , "400\\d{6}|800\\d{2,9}", , , , "800123456"],
30562        [, , "900[02]\\d{5}", , , , "900234567", , , [9]],
30563        [, , "700[05]\\d{5}", , , , "700012345", , , [9]],
30564        [, , , , , , , , , [-1]],
30565        [, , , , , , , , , [-1]],
30566        "AE",
30567        971,
30568        "00",
30569        "0",
30570        ,
30571        ,
30572        "0",
30573        ,
30574        ,
30575        ,
30576        [
30577          [, "(\\d{3})(\\d{2,9})", "$1 $2", ["60|8"]],
30578          [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[236]|[479][2-8]"], "0$1"],
30579          [, "(\\d{3})(\\d)(\\d{5})", "$1 $2 $3", ["[479]"]],
30580          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"],
30581        ],
30582        ,
30583        [, , , , , , , , , [-1]],
30584        ,
30585        ,
30586        [, , , , , , , , , [-1]],
30587        [, , "600[25]\\d{5}", , , , "600212345", , , [9]],
30588        ,
30589        ,
30590        [, , , , , , , , , [-1]],
30591      ],
30592      AF: [
30593        ,
30594        [, , "[2-7]\\d{8}", , , , , , , [9], [7]],
30595        [
30596          ,
30597          ,
30598          "(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}",
30599          ,
30600          ,
30601          ,
30602          "234567890",
30603          ,
30604          ,
30605          ,
30606          [7],
30607        ],
30608        [, , "7\\d{8}", , , , "701234567", , , , [7]],
30609        [, , , , , , , , , [-1]],
30610        [, , , , , , , , , [-1]],
30611        [, , , , , , , , , [-1]],
30612        [, , , , , , , , , [-1]],
30613        [, , , , , , , , , [-1]],
30614        "AF",
30615        93,
30616        "00",
30617        "0",
30618        ,
30619        ,
30620        "0",
30621        ,
30622        ,
30623        ,
30624        [
30625          [, "(\\d{3})(\\d{4})", "$1 $2", ["[1-9]"]],
30626          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"],
30627        ],
30628        [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]],
30629        [, , , , , , , , , [-1]],
30630        ,
30631        ,
30632        [, , , , , , , , , [-1]],
30633        [, , , , , , , , , [-1]],
30634        ,
30635        ,
30636        [, , , , , , , , , [-1]],
30637      ],
30638      AG: [
30639        ,
30640        [, , "(?:268|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
30641        [
30642          ,
30643          ,
30644          "268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}",
30645          ,
30646          ,
30647          ,
30648          "2684601234",
30649          ,
30650          ,
30651          ,
30652          [7],
30653        ],
30654        [
30655          ,
30656          ,
30657          "268(?:464|7(?:1[3-9]|[28]\\d|3[0246]|64|7[0-689]))\\d{4}",
30658          ,
30659          ,
30660          ,
30661          "2684641234",
30662          ,
30663          ,
30664          ,
30665          [7],
30666        ],
30667        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
30668        [, , "900[2-9]\\d{6}", , , , "9002123456"],
30669        [, , , , , , , , , [-1]],
30670        [
30671          ,
30672          ,
30673          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
30674          ,
30675          ,
30676          ,
30677          "5002345678",
30678        ],
30679        [, , "26848[01]\\d{4}", , , , "2684801234", , , , [7]],
30680        "AG",
30681        1,
30682        "011",
30683        "1",
30684        ,
30685        ,
30686        "([457]\\d{6})$|1",
30687        "268$1",
30688        ,
30689        ,
30690        ,
30691        ,
30692        [, , "26840[69]\\d{4}", , , , "2684061234", , , , [7]],
30693        ,
30694        "268",
30695        [, , , , , , , , , [-1]],
30696        [, , , , , , , , , [-1]],
30697        ,
30698        ,
30699        [, , , , , , , , , [-1]],
30700      ],
30701      AI: [
30702        ,
30703        [, , "(?:264|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
30704        [
30705          ,
30706          ,
30707          "264(?:292|4(?:6[12]|9[78]))\\d{4}",
30708          ,
30709          ,
30710          ,
30711          "2644612345",
30712          ,
30713          ,
30714          ,
30715          [7],
30716        ],
30717        [
30718          ,
30719          ,
30720          "264(?:235|4(?:69|76)|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}",
30721          ,
30722          ,
30723          ,
30724          "2642351234",
30725          ,
30726          ,
30727          ,
30728          [7],
30729        ],
30730        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
30731        [, , "900[2-9]\\d{6}", , , , "9002123456"],
30732        [, , , , , , , , , [-1]],
30733        [
30734          ,
30735          ,
30736          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
30737          ,
30738          ,
30739          ,
30740          "5002345678",
30741        ],
30742        [, , , , , , , , , [-1]],
30743        "AI",
30744        1,
30745        "011",
30746        "1",
30747        ,
30748        ,
30749        "([2457]\\d{6})$|1",
30750        "264$1",
30751        ,
30752        ,
30753        ,
30754        ,
30755        [, , "264724\\d{4}", , , , "2647241234", , , , [7]],
30756        ,
30757        "264",
30758        [, , , , , , , , , [-1]],
30759        [, , , , , , , , , [-1]],
30760        ,
30761        ,
30762        [, , , , , , , , , [-1]],
30763      ],
30764      AL: [
30765        ,
30766        [
30767          ,
30768          ,
30769          "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",
30770          ,
30771          ,
30772          ,
30773          ,
30774          ,
30775          ,
30776          [6, 7, 8, 9],
30777          [5],
30778        ],
30779        [
30780          ,
30781          ,
30782          "4505[0-2]\\d{3}|(?:[2358][16-9]\\d[2-9]|4410)\\d{4}|(?:[2358][2-5][2-9]|4(?:[2-57-9][2-9]|6\\d))\\d{5}",
30783          ,
30784          ,
30785          ,
30786          "22345678",
30787          ,
30788          ,
30789          [8],
30790          [5, 6, 7],
30791        ],
30792        [, , "6(?:[78][2-9]|9\\d)\\d{6}", , , , "672123456", , , [9]],
30793        [, , "800\\d{4}", , , , "8001234", , , [7]],
30794        [, , "900[1-9]\\d\\d", , , , "900123", , , [6]],
30795        [, , "808[1-9]\\d\\d", , , , "808123", , , [6]],
30796        [, , "700[2-9]\\d{4}", , , , "70021234", , , [8]],
30797        [, , , , , , , , , [-1]],
30798        "AL",
30799        355,
30800        "00",
30801        "0",
30802        ,
30803        ,
30804        "0",
30805        ,
30806        ,
30807        ,
30808        [
30809          [, "(\\d{3})(\\d{3,4})", "$1 $2", ["80|9"], "0$1"],
30810          [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["4[2-6]"], "0$1"],
30811          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2358][2-5]|4"], "0$1"],
30812          [, "(\\d{3})(\\d{5})", "$1 $2", ["[23578]"], "0$1"],
30813          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["6"], "0$1"],
30814        ],
30815        ,
30816        [, , , , , , , , , [-1]],
30817        ,
30818        ,
30819        [, , , , , , , , , [-1]],
30820        [, , , , , , , , , [-1]],
30821        ,
30822        ,
30823        [, , , , , , , , , [-1]],
30824      ],
30825      AM: [
30826        ,
30827        [, , "(?:[1-489]\\d|55|60|77)\\d{6}", , , , , , , [8], [5, 6]],
30828        [
30829          ,
30830          ,
30831          "(?:(?:1[0-25]|47)\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}",
30832          ,
30833          ,
30834          ,
30835          "10123456",
30836          ,
30837          ,
30838          ,
30839          [5, 6],
30840        ],
30841        [, , "(?:33|4[1349]|55|77|88|9[13-9])\\d{6}", , , , "77123456"],
30842        [, , "800\\d{5}", , , , "80012345"],
30843        [, , "90[016]\\d{5}", , , , "90012345"],
30844        [, , "80[1-4]\\d{5}", , , , "80112345"],
30845        [, , , , , , , , , [-1]],
30846        [
30847          ,
30848          ,
30849          "60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\\d|9[01])\\d{4}",
30850          ,
30851          ,
30852          ,
30853          "60271234",
30854        ],
30855        "AM",
30856        374,
30857        "00",
30858        "0",
30859        ,
30860        ,
30861        "0",
30862        ,
30863        ,
30864        ,
30865        [
30866          [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"],
30867          [, "(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"], "(0$1)"],
30868          [, "(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"],
30869          [, "(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"],
30870        ],
30871        ,
30872        [, , , , , , , , , [-1]],
30873        ,
30874        ,
30875        [, , , , , , , , , [-1]],
30876        [, , , , , , , , , [-1]],
30877        ,
30878        ,
30879        [, , , , , , , , , [-1]],
30880      ],
30881      AO: [
30882        ,
30883        [, , "[29]\\d{8}", , , , , , , [9]],
30884        [, , "2\\d(?:[0134][25-9]|[25-9]\\d)\\d{5}", , , , "222123456"],
30885        [, , "9[1-59]\\d{7}", , , , "923123456"],
30886        [, , , , , , , , , [-1]],
30887        [, , , , , , , , , [-1]],
30888        [, , , , , , , , , [-1]],
30889        [, , , , , , , , , [-1]],
30890        [, , , , , , , , , [-1]],
30891        "AO",
30892        244,
30893        "00",
30894        ,
30895        ,
30896        ,
30897        ,
30898        ,
30899        ,
30900        ,
30901        [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]],
30902        ,
30903        [, , , , , , , , , [-1]],
30904        ,
30905        ,
30906        [, , , , , , , , , [-1]],
30907        [, , , , , , , , , [-1]],
30908        ,
30909        ,
30910        [, , , , , , , , , [-1]],
30911      ],
30912      AR: [
30913        ,
30914        [
30915          ,
30916          ,
30917          "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}",
30918          ,
30919          ,
30920          ,
30921          ,
30922          ,
30923          ,
30924          [10, 11],
30925          [6, 7, 8],
30926        ],
30927        [
30928          ,
30929          ,
30930          "3888[013-9]\\d{5}|3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|(?:29(?:54|66)|3(?:7(?:55|77)|865))[2-8]\\d{5}
30930|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|(?:2(?:284|3(?:02|23)|657|920)|3(?:4(?:8[27]|92)|541|878))[2-7]\\d{5}|(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:[47]6|62|89)|564))[2-6]\\d{5}|(?:(?:11[1-8]|670)\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-7]|[235][4-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|[58][3-6])))\\d{6}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}",
30931          ,
30932          ,
30933          ,
30934          "1123456789",
30935          ,
30936          ,
30937          [10],
30938          [6, 7, 8],
30939        ],
30940        [
30941          ,
30942          ,
30943          "93(?:7(?:1[15]|81)[46]|8(?:(?:21|4[16]|69|9[12])[46]|88[013-9]))\\d{5}|9(?:29(?:54|66)|3(?:7(?:55|77)|865))[2-8]\\d{5}
30943|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|9(?:2(?:284|3(?:02|23)|657|920)|3(?:4(?:8[27]|92)|541|878))[2-7]\\d{5}|9(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:[47]6|62|89)|564))[2-6]\\d{5}|(?:675\\d|9(?:11[1-8]\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-7]|[235][4-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|[58][3-6]))))\\d{6}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|9(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}",
30944          ,
30945          ,
30946          ,
30947          "91123456789",
30948          ,
30949          ,
30950          ,
30951          [6, 7, 8],
30952        ],
30953        [, , "800\\d{7,8}", , , , "8001234567"],
30954        [, , "60[04579]\\d{7}", , , , "6001234567", , , [10]],
30955        [, , , , , , , , , [-1]],
30956        [, , , , , , , , , [-1]],
30957        [, , , , , , , , , [-1]],
30958        "AR",
30959        54,
30960        "00",
30961        "0",
30962        ,
30963        ,
30964        "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?",
30965        "9$1",
30966        ,
30967        ,
30968        [
30969          [
30970            ,
30971            "(\\d{3})",
30972            "$1",
30973            ["0|1(?:0[0-35-7]|1[02-5]|2[015]|3[47]|4[478])|911"],
30974          ],
30975          [, "(\\d{2})(\\d{4})", "$1-$2", ["[1-9]"]],
30976          [, "(\\d{3})(\\d{4})", "$1-$2", ["[2-9]"]],
30977          [, "(\\d{4})(\\d{4})", "$1-$2", ["[1-8]"]],
30978          [
30979            ,
30980            "(\\d{4})(\\d{2})(\\d{4})",
30981            "$1 $2-$3",
30982            [
30983              "2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])",
30984              "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)",
30985              "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]",
30986              "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]",
30987            ],
30988            "0$1",
30989            ,
30990            1,
30991          ],
30992          [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", , 1],
30993          [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"],
30994          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", , 1],
30995          [
30996            ,
30997            "(\\d)(\\d{4})(\\d{2})(\\d{4})",
30998            "$2 15-$3-$4",
30999            [
31000              "9(?:2[2-469]|3[3-578])",
31001              "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))",
31002              "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)",
31003              "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]",
31004              "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]",
31005            ],
31006            "0$1",
31007          ],
31008          [, "(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1"],
31009          [, "(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"],
31010          [, "(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1"],
31011        ],
31012        [
31013          [
31014            ,
31015            "(\\d{4})(\\d{2})(\\d{4})",
31016            "$1 $2-$3",
31017            [
31018              "2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])",
31019              "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)",
31020              "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]",
31021              "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]",
31022            ],
31023            "0$1",
31024            ,
31025            1,
31026          ],
31027          [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", , 1],
31028          [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"],
31029          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", , 1],
31030          [
31031            ,
31032            "(\\d)(\\d{4})(\\d{2})(\\d{4})",
31033            "$1 $2 $3-$4",
31034            [
31035              "9(?:2[2-469]|3[3-578])",
31036              "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))",
31037              "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)",
31038              "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]",
31039              "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]",
31040            ],
31041          ],
31042          [, "(\\d)(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3-$4", ["91"]],
31043          [, "(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"],
31044          [, "(\\d)(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3-$4", ["9"]],
31045        ],
31046        [, , , , , , , , , [-1]],
31047        ,
31048        ,
31049        [, , "810\\d{7}", , , , , , , [10]],
31050        [, , "810\\d{7}", , , , "8101234567", , , [10]],
31051        ,
31052        ,
31053        [, , , , , , , , , [-1]],
31054      ],
31055      AS: [
31056        ,
31057        [, , "(?:[58]\\d\\d|684|900)\\d{7}", , , , , , , [10], [7]],
31058        [
31059          ,
31060          ,
31061          "6846(?:22|33|44|55|77|88|9[19])\\d{4}",
31062          ,
31063          ,
31064          ,
31065          "6846221234",
31066          ,
31067          ,
31068          ,
31069          [7],
31070        ],
31071        [
31072          ,
31073          ,
31074          "684(?:2(?:48|5[2468]|7[26])|7(?:3[13]|70|82))\\d{4}",
31075          ,
31076          ,
31077          ,
31078          "6847331234",
31079          ,
31080          ,
31081          ,
31082          [7],
31083        ],
31084        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
31085        [, , "900[2-9]\\d{6}", , , , "9002123456"],
31086        [, , , , , , , , , [-1]],
31087        [
31088          ,
31089          ,
31090          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
31091          ,
31092          ,
31093          ,
31094          "5002345678",
31095        ],
31096        [, , , , , , , , , [-1]],
31097        "AS",
31098        1,
31099        "011",
31100        "1",
31101        ,
31102        ,
31103        "([267]\\d{6})$|1",
31104        "684$1",
31105        ,
31106        ,
31107        ,
31108        ,
31109        [, , , , , , , , , [-1]],
31110        ,
31111        "684",
31112        [, , , , , , , , , [-1]],
31113        [, , , , , , , , , [-1]],
31114        ,
31115        ,
31116        [, , , , , , , , , [-1]],
31117      ],
31118      AT: [
31119        ,
31120        [
31121          ,
31122          ,
31123          "1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",
31124          ,
31125          ,
31126          ,
31127          ,
31128          ,
31129          ,
31130          [4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
31131          [3],
31132        ],
31133        [
31134          ,
31135          ,
31136          "1(?:11\\d|[2-9]\\d{3,11})|(?:316|463|(?:51|66|73)2)\\d{3,10}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-578]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|7[1368]|8[2457])|5(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[135-8]|5[468])|7(?:2[1-8]|35|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{4,10}",
31137          ,
31138          ,
31139          ,
31140          "1234567890",
31141          ,
31142          ,
31143          ,
31144          [3],
31145        ],
31146        [
31147          ,
31148          ,
31149          "6(?:5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}",
31150          ,
31151          ,
31152          ,
31153          "664123456",
31154          ,
31155          ,
31156          [7, 8, 9, 10, 11, 12, 13],
31157        ],
31158        [, , "800\\d{6,10}", , , , "800123456", , , [9, 10, 11, 12, 13]],
31159        [
31160          ,
31161          ,
31162          "(?:8[69][2-68]|9(?:0[01]|3[019]))\\d{6,10}",
31163          ,
31164          ,
31165          ,
31166          "900123456",
31167          ,
31168          ,
31169          [9, 10, 11, 12, 13],
31170        ],
31171        [
31172          ,
31173          ,
31174          "8(?:10|2[018])\\d{6,10}|828\\d{5}",
31175          ,
31176          ,
31177          ,
31178          "810123456",
31179          ,
31180          ,
31181          [8, 9, 10, 11, 12, 13],
31182        ],
31183        [, , , , , , , , , [-1]],
31184        [
31185          ,
31186          ,
31187          "5(?:0[1-9]|17|[79]\\d)\\d{2,10}|7[28]0\\d{6,10}",
31188          ,
31189          ,
31190          ,
31191          "780123456",
31192          ,
31193          ,
31194          [5, 6, 7, 8, 9, 10, 11, 12, 13],
31195        ],
31196        "AT",
31197        43,
31198        "00",
31199        "0",
31200        ,
31201        ,
31202        "0",
31203        ,
31204        ,
31205        ,
31206        [
31207          [, "(\\d{4})", "$1", ["14"]],
31208          [, "(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"],
31209          [, "(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"],
31210          [, "(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"],
31211          [, "(\\d{6})", "$1", ["[18]"]],
31212          [
31213            ,
31214            "(\\d{3})(\\d{3,10})",
31215            "$1 $2",
31216            ["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],
31217            "0$1",
31218          ],
31219          [, "(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"],
31220          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"],
31221          [, "(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"],
31222        ],
31223        [
31224          [, "(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"],
31225          [, "(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"],
31226          [, "(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"],
31227          [
31228            ,
31229            "(\\d{3})(\\d{3,10})",
31230            "$1 $2",
31231            ["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],
31232            "0$1",
31233          ],
31234          [, "(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"],
31235          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"],
31236          [, "(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"],
31237        ],
31238        [, , , , , , , , , [-1]],
31239        ,
31240        ,
31241        [, , , , , , , , , [-1]],
31242        [, , , , , , , , , [-1]],
31243        ,
31244        ,
31245        [, , , , , , , , , [-1]],
31246      ],
31247      AU: [
31248        ,
31249        [
31250          ,
31251          ,
31252          "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}",
31253          ,
31254          ,
31255          ,
31256          ,
31257          ,
31258          ,
31259          [5, 6, 7, 8, 9, 10, 12],
31260        ],
31261        [
31262          ,
31263          ,
31264          "(?:(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8]))\\d{3}|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4]))|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79])))))\\d{3}",
31265          ,
31266          ,
31267          ,
31268          "212345678",
31269          ,
31270          ,
31271          [9],
31272          [8],
31273        ],
31274        [
31275          ,
31276          ,
31277          "4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",
31278          ,
31279          ,
31280          ,
31281          "412345678",
31282          ,
31283          ,
31284          [9],
31285        ],
31286        [, , "180(?:0\\d{3}|2)\\d{3}", , , , "1800123456", , , [7, 10]],
31287        [, , "190[0-26]\\d{6}", , , , "1900123456", , , [10]],
31288        [
31289          ,
31290          ,
31291          "13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",
31292          ,
31293          ,
31294          ,
31295          "1300123456",
31296          ,
31297          ,
31298          [6, 8, 10, 12],
31299        ],
31300        [, , , , , , , , , [-1]],
31301        [
31302          ,
31303          ,
31304          "14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",
31305          ,
31306          ,
31307          ,
31308          "147101234",
31309          ,
31310          ,
31311          [9],
31312        ],
31313        "AU",
31314        61,
31315        "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011",
31316        "0",
31317        ,
31318        ,
31319        "(183[12])|0",
31320        ,
31321        "0011",
31322        ,
31323        [
31324          [, "(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"],
31325          [, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["13"]],
31326          [, "(\\d{3})(\\d{3})", "$1 $2", ["19"]],
31327          [, "(\\d{3})(\\d{4})", "$1 $2", ["180", "1802"]],
31328          [, "(\\d{4})(\\d{3,4})", "$1 $2", ["19"]],
31329          [, "(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"],
31330          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"],
31331          [
31332            ,
31333            "(\\d)(\\d{4})(\\d{4})",
31334            "$1 $2 $3",
31335            ["[2378]"],
31336            "(0$1)",
31337            "$CC ($1)",
31338          ],
31339          [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]],
31340          [, "(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["130"]],
31341        ],
31342        [
31343          [, "(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"],
31344          [, "(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"],
31345          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"],
31346          [
31347            ,
31348            "(\\d)(\\d{4})(\\d{4})",
31349            "$1 $2 $3",
31350            ["[2378]"],
31351            "(0$1)",
31352            "$CC ($1)",
31353          ],
31354          [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]],
31355        ],
31356        [, , "163\\d{2,6}", , , , "1631234", , , [5, 6, 7, 8, 9]],
31357        1,
31358        ,
31359        [
31360          ,
31361          ,
31362          "1(?:3(?:00\\d{5}|45[0-4])|802)\\d{3}|1[38]00\\d{6}|13\\d{4}",
31363          ,
31364          ,
31365          ,
31366          ,
31367          ,
31368          ,
31369          [6, 7, 8, 10, 12],
31370        ],
31371        [, , , , , , , , , [-1]],
31372        ,
31373        ,
31374        [, , , , , , , , , [-1]],
31375      ],
31376      AW: [
31377        ,
31378        [, , "(?:[25-79]\\d\\d|800)\\d{4}", , , , , , , [7]],
31379        [, , "5(?:2\\d|8[1-9])\\d{4}", , , , "5212345"],
31380        [
31381          ,
31382          ,
31383          "(?:290|5[69]\\d|6(?:[03]0|22|4[0-2]|[69]\\d)|7(?:[34]\\d|7[07])|9(?:6[45]|9[4-8]))\\d{4}",
31384          ,
31385          ,
31386          ,
31387          "5601234",
31388        ],
31389        [, , "800\\d{4}", , , , "8001234"],
31390        [, , "900\\d{4}", , , , "9001234"],
31391        [, , , , , , , , , [-1]],
31392        [, , , , , , , , , [-1]],
31393        [, , "(?:28\\d|501)\\d{4}", , , , "5011234"],
31394        "AW",
31395        297,
31396        "00",
31397        ,
31398        ,
31399        ,
31400        ,
31401        ,
31402        ,
31403        ,
31404        [[, "(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]],
31405        ,
31406        [, , , , , , , , , [-1]],
31407        ,
31408        ,
31409        [, , , , , , , , , [-1]],
31410        [, , , , , , , , , [-1]],
31411        ,
31412        ,
31413        [, , , , , , , , , [-1]],
31414      ],
31415      AX: [
31416        ,
31417        [
31418          ,
31419          ,
31420          "2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}",
31421          ,
31422          ,
31423          ,
31424          ,
31425          ,
31426          ,
31427          [5, 6, 7, 8, 9, 10, 11, 12],
31428        ],
31429        [, , "18[1-8]\\d{3,6}", , , , "181234567", , , [6, 7, 8, 9]],
31430        [
31431          ,
31432          ,
31433          "4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}",
31434          ,
31435          ,
31436          ,
31437          "412345678",
31438          ,
31439          ,
31440          [6, 7, 8, 9, 10],
31441        ],
31442        [, , "800\\d{4,6}", , , , "800123456", , , [7, 8, 9]],
31443        [, , "[67]00\\d{5,6}", , , , "600123456", , , [8, 9]],
31444        [, , , , , , , , , [-1]],
31445        [, , , , , , , , , [-1]],
31446        [, , , , , , , , , [-1]],
31447        "AX",
31448        358,
31449        "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))",
31450        "0",
31451        ,
31452        ,
31453        "0",
31454        ,
31455        "00",
31456        ,
31457        ,
31458        ,
31459        [, , , , , , , , , [-1]],
31460        ,
31461        "18",
31462        [, , , , , , , , , [-1]],
31463        [
31464          ,
31465          ,
31466          "20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}",
31467          ,
31468          ,
31469          ,
31470          "10112345",
31471        ],
31472        ,
31473        ,
31474        [, , , , , , , , , [-1]],
31475      ],
31476      AZ: [
31477        ,
31478        [, , "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", , , , , , , [9], [7]],
31479        [
31480          ,
31481          ,
31482          "(?:2[12]428|3655[02])\\d{4}|(?:2(?:22[0-79]|63[0-28])|3654)\\d{5}|(?:(?:1[28]|46)\\d|2(?:[014-6]2|[23]3))\\d{6}",
31483          ,
31484          ,
31485          ,
31486          "123123456",
31487          ,
31488          ,
31489          ,
31490          [7],
31491        ],
31492        [
31493          ,
31494          ,
31495          "36554\\d{4}|(?:[16]0|4[04]|5[015]|7[07]|99)\\d{7}",
31496          ,
31497          ,
31498          ,
31499          "401234567",
31500        ],
31501        [, , "88\\d{7}", , , , "881234567"],
31502        [, , "900200\\d{3}", , , , "900200123"],
31503        [, , , , , , , , , [-1]],
31504        [, , , , , , , , , [-1]],
31505        [, , , , , , , , , [-1]],
31506        "AZ",
31507        994,
31508        "00",
31509        "0",
31510        ,
31511        ,
31512        "0",
31513        ,
31514        ,
31515        ,
31516        [
31517          [, "(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[1-9]"]],
31518          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"],
31519          [
31520            ,
31521            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
31522            "$1 $2 $3 $4",
31523            [
31524              "1[28]|2|365|46",
31525              "1[28]|2|365[45]|46",
31526              "1[28]|2|365(?:4|5[02])|46",
31527            ],
31528            "(0$1)",
31529          ],
31530          [
31531            ,
31532            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
31533            "$1 $2 $3 $4",
31534            ["[13-9]"],
31535            "0$1",
31536          ],
31537        ],
31538        [
31539          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"],
31540          [
31541            ,
31542            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
31543            "$1 $2 $3 $4",
31544            [
31545              "1[28]|2|365|46",
31546              "1[28]|2|365[45]|46",
31547              "1[28]|2|365(?:4|5[02])|46",
31548            ],
31549            "(0$1)",
31550          ],
31551          [
31552            ,
31553            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
31554            "$1 $2 $3 $4",
31555            ["[13-9]"],
31556            "0$1",
31557          ],
31558        ],
31559        [, , , , , , , , , [-1]],
31560        ,
31561        ,
31562        [, , , , , , , , , [-1]],
31563        [, , , , , , , , , [-1]],
31564        ,
31565        ,
31566        [, , , , , , , , , [-1]],
31567      ],
31568      BA: [
31569        ,
31570        [, , "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", , , , , , , [8, 9], [6]],
31571        [
31572          ,
31573          ,
31574          "(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\d{5}",
31575          ,
31576          ,
31577          ,
31578          "30212345",
31579          ,
31580          ,
31581          [8],
31582          [6],
31583        ],
31584        [, , "6040\\d{5}|6(?:03|[1-356]|44|7\\d)\\d{6}", , , , "61123456"],
31585        [, , "8[08]\\d{6}", , , , "80123456", , , [8]],
31586        [, , "9[0246]\\d{6}", , , , "90123456", , , [8]],
31587        [, , "8[12]\\d{6}", , , , "82123456", , , [8]],
31588        [, , , , , , , , , [-1]],
31589        [, , , , , , , , , [-1]],
31590        "BA",
31591        387,
31592        "00",
31593        "0",
31594        ,
31595        ,
31596        "0",
31597        ,
31598        ,
31599        ,
31600        [
31601          [, "(\\d{3})(\\d{3})", "$1-$2", ["[2-9]"]],
31602          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"],
31603          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"],
31604          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"],
31605        ],
31606        [
31607          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"],
31608          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"],
31609          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"],
31610        ],
31611        [, , , , , , , , , [-1]],
31612        ,
31613        ,
31614        [, , , , , , , , , [-1]],
31615        [
31616          ,
31617          ,
31618          "703[235]0\\d{3}|70(?:2[0-5]|3[0146]|[56]0)\\d{4}",
31619          ,
31620          ,
31621          ,
31622          "70341234",
31623          ,
31624          ,
31625          [8],
31626        ],
31627        ,
31628        ,
31629        [, , , , , , , , , [-1]],
31630      ],
31631      BB: [
31632        ,
31633        [, , "(?:246|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
31634        [
31635          ,
31636          ,
31637          "246521[0369]\\d{3}|246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7[35]7|9(?:1[89]|63))\\d{4}",
31638          ,
31639          ,
31640          ,
31641          "2464123456",
31642          ,
31643          ,
31644          ,
31645          [7],
31646        ],
31647        [
31648          ,
31649          ,
31650          "246(?:(?:2(?:[3568]\\d|4[0-57-9])|3(?:5[2-9]|6[0-6])|4(?:46|5\\d)|69[5-7]|8(?:[2-5]\\d|83))\\d|52(?:1[147]|20))\\d{3}",
31651          ,
31652          ,
31653          ,
31654          "2462501234",
31655          ,
31656          ,
31657          ,
31658          [7],
31659        ],
31660        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
31661        [, , "(?:246976|900[2-9]\\d\\d)\\d{4}", , , , "9002123456", , , , [7]],
31662        [, , , , , , , , , [-1]],
31663        [
31664          ,
31665          ,
31666          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
31667          ,
31668          ,
31669          ,
31670          "5002345678",
31671        ],
31672        [, , "24631\\d{5}", , , , "2463101234", , , , [7]],
31673        "BB",
31674        1,
31675        "011",
31676        "1",
31677        ,
31678        ,
31679        "([2-9]\\d{6})$|1",
31680        "246$1",
31681        ,
31682        ,
31683        ,
31684        ,
31685        [, , , , , , , , , [-1]],
31686        ,
31687        "246",
31688        [, , , , , , , , , [-1]],
31689        [
31690          ,
31691          ,
31692          "246(?:292|367|4(?:1[7-9]|3[01]|4[47-9]|67)|7(?:1[2-9]|2\\d|3[016]|53))\\d{4}",
31693          ,
31694          ,
31695          ,
31696          "2464301234",
31697          ,
31698          ,
31699          ,
31700          [7],
31701        ],
31702        ,
31703        ,
31704        [, , , , , , , , , [-1]],
31705      ],
31706      BD: [
31707        ,
31708        [
31709          ,
31710          ,
31711          "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}",
31712          ,
31713          ,
31714          ,
31715          ,
31716          ,
31717          ,
31718          [6, 7, 8, 9, 10],
31719        ],
31720        [
31721          ,
31722          ,
31723          "(?:4(?:31\\d\\d|423)|5222)\\d{3}(?:\\d{2})?|8332[6-9]\\d\\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\\d{4}|(?:2(?:222|[45]\\d)\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\d{5}|[59]1\\d{5}",
31724          ,
31725          ,
31726          ,
31727          "27111234",
31728        ],
31729        [
31730          ,
31731          ,
31732          "(?:1[13-9]\\d|644)\\d{7}|(?:3[78]|44|66)[02-9]\\d{7}",
31733          ,
31734          ,
31735          ,
31736          "1812345678",
31737          ,
31738          ,
31739          [10],
31740        ],
31741        [, , "80[03]\\d{7}", , , , "8001234567", , , [10]],
31742        [, , , , , , , , , [-1]],
31743        [, , , , , , , , , [-1]],
31744        [, , , , , , , , , [-1]],
31745        [
31746          ,
31747          ,
31748          "96(?:0[469]|1[0-47]|3[389]|6[69]|7[78])\\d{6}",
31749          ,
31750          ,
31751          ,
31752          "9604123456",
31753          ,
31754          ,
31755          [10],
31756        ],
31757        "BD",
31758        880,
31759        "00",
31760        "0",
31761        ,
31762        ,
31763        "0",
31764        ,
31765        ,
31766        ,
31767        [
31768          [, "(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"],
31769          [
31770            ,
31771            "(\\d{3})(\\d{3,7})",
31772            "$1-$2",
31773            [
31774              "3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]",
31775            ],
31776            "0$1",
31777          ],
31778          [, "(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|22"], "0$1"],
31779          [, "(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"],
31780        ],
31781        ,
31782        [, , , , , , , , , [-1]],
31783        ,
31784        ,
31785        [, , , , , , , , , [-1]],
31786        [, , , , , , , , , [-1]],
31787        ,
31788        ,
31789        [, , , , , , , , , [-1]],
31790      ],
31791      BE: [
31792        ,
31793        [, , "4\\d{8}|[1-9]\\d{7}", , , , , , , [8, 9]],
31794        [
31795          ,
31796          ,
31797          "80[2-8]\\d{5}|(?:1[0-69]|[23][2-8]|4[23]|5\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\d{6}",
31798          ,
31799          ,
31800          ,
31801          "12345678",
31802          ,
31803          ,
31804          [8],
31805        ],
31806        [, , "4[5-9]\\d{7}", , , , "470123456", , , [9]],
31807        [, , "800[1-9]\\d{4}", , , , "80012345", , , [8]],
31808        [
31809          ,
31810          ,
31811          "(?:70(?:2[0-57]|3[04-7]|44|6[4-69]|7[0579])|90\\d\\d)\\d{4}",
31812          ,
31813          ,
31814          ,
31815          "90012345",
31816          ,
31817          ,
31818          [8],
31819        ],
31820        [, , "7879\\d{4}", , , , "78791234", , , [8]],
31821        [, , , , , , , , , [-1]],
31822        [, , , , , , , , , [-1]],
31823        "BE",
31824        32,
31825        "00",
31826        "0",
31827        ,
31828        ,
31829        "0",
31830        ,
31831        ,
31832        ,
31833        [
31834          [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:80|9)0"], "0$1"],
31835          [
31836            ,
31837            "(\\d)(\\d{3})(\\d{2})(\\d{2})",
31838            "$1 $2 $3 $4",
31839            ["[239]|4[23]"],
31840            "0$1",
31841          ],
31842          [
31843            ,
31844            "(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
31845            "$1 $2 $3 $4",
31846            ["[15-8]"],
31847            "0$1",
31848          ],
31849          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4"], "0$1"],
31850        ],
31851        ,
31852        [, , , , , , , , , [-1]],
31853        ,
31854        ,
31855        [, , , , , , , , , [-1]],
31856        [
31857          ,
31858          ,
31859          "78(?:0[57]|1[014-8]|2[25]|3[15-8]|48|[56]0|7[06-8]|9\\d)\\d{4}",
31860          ,
31861          ,
31862          ,
31863          "78102345",
31864          ,
31865          ,
31866          [8],
31867        ],
31868        ,
31869        ,
31870        [, , , , , , , , , [-1]],
31871      ],
31872      BF: [
31873        ,
31874        [, , "[025-7]\\d{7}", , , , , , , [8]],
31875        [
31876          ,
31877          ,
31878          "2(?:0(?:49|5[23]|6[5-7]|9[016-9])|4(?:4[569]|5[4-6]|6[5-7]|7[01
3187879])|5(?:[34]\\d|50|6[5-7]))\\d{4}",
31879          ,
31880          ,
31881          ,
31882          "20491234",
31883        ],
31884        [, , "(?:0[1-35-7]|5[0-8]|[67]\\d)\\d{6}", , , , "70123456"],
31885        [, , , , , , , , , [-1]],
31886        [, , , , , , , , , [-1]],
31887        [, , , , , , , , , [-1]],
31888        [, , , , , , , , , [-1]],
31889        [, , , , , , , , , [-1]],
31890        "BF",
31891        226,
31892        "00",
31893        ,
31894        ,
31895        ,
31896        ,
31897        ,
31898        ,
31899        ,
31900        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[025-7]"]]],
31901        ,
31902        [, , , , , , , , , [-1]],
31903        ,
31904        ,
31905        [, , , , , , , , , [-1]],
31906        [, , , , , , , , , [-1]],
31907        ,
31908        ,
31909        [, , , , , , , , , [-1]],
31910      ],
31911      BG: [
31912        ,
31913        [
31914          ,
31915          ,
31916          "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",
31917          ,
31918          ,
31919          ,
31920          ,
31921          ,
31922          ,
31923          [6, 7, 8, 9, 12],
31924          [4, 5],
31925        ],
31926        [
31927          ,
31928          ,
31929          "2\\d{5,7}|(?:43[1-6]|70[1-9])\\d{4,5}|(?:[36]\\d|4[124-7]|[57][1-9]|8[1-6]|9[1-7])\\d{5,6}",
31930          ,
31931          ,
31932          ,
31933          "2123456",
31934          ,
31935          ,
31936          [6, 7, 8],
31937          [4, 5],
31938        ],
31939        [
31940          ,
31941          ,
31942          "(?:43[07-9]|99[69]\\d)\\d{5}|(?:8[7-9]|98)\\d{7}",
31943          ,
31944          ,
31945          ,
31946          "43012345",
31947          ,
31948          ,
31949          [8, 9],
31950        ],
31951        [, , "(?:00800\\d\\d|800)\\d{5}", , , , "80012345", , , [8, 12]],
31952        [, , "90\\d{6}", , , , "90123456", , , [8]],
31953        [, , "700\\d{5}", , , , "70012345", , , [8]],
31954        [, , , , , , , , , [-1]],
31955        [, , , , , , , , , [-1]],
31956        "BG",
31957        359,
31958        "00",
31959        "0",
31960        ,
31961        ,
31962        "0",
31963        ,
31964        ,
31965        ,
31966        [
31967          [, "(\\d{6})", "$1", ["1"]],
31968          [, "(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"],
31969          [, "(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"],
31970          [, "(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"],
31971          [
31972            ,
31973            "(\\d{2})(\\d{3})(\\d{2,3})",
31974            "$1 $2 $3",
31975            ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],
31976            "0$1",
31977          ],
31978          [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"],
31979          [, "(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"],
31980          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"],
31981          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"],
31982        ],
31983        [
31984          [, "(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"],
31985          [, "(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"],
31986          [, "(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"],
31987          [
31988            ,
31989            "(\\d{2})(\\d{3})(\\d{2,3})",
31990            "$1 $2 $3",
31991            ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],
31992            "0$1",
31993          ],
31994          [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"],
31995          [, "(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"],
31996          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"],
31997          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"],
31998        ],
31999        [, , , , , , , , , [-1]],
32000        ,
32001        ,
32002        [, , , , , , , , , [-1]],
32003        [, , , , , , , , , [-1]],
32004        ,
32005        ,
32006        [, , , , , , , , , [-1]],
32007      ],
32008      BH: [
32009        ,
32010        [, , "[136-9]\\d{7}", , , , , , , [8]],
32011        [
32012          ,
32013          ,
32014          "(?:1(?:3[1356]|6[0156]|7\\d)\\d|6(?:1[16]\\d|500|6(?:0\\d|3[12]|44|7[7-9]|88)|9[69][69])|7(?:1(?:11|78)|7\\d\\d))\\d{4}",
32015          ,
32016          ,
32017          ,
32018          "17001234",
32019        ],
32020        [
32021          ,
32022          ,
32023          "(?:3(?:[1-79]\\d|8[0-47-9])\\d|6(?:3(?:00|33|6[16])|6(?:3[03-9]|[69]\\d|7[0-6])))\\d{4}",
32024          ,
32025          ,
32026          ,
32027          "36001234",
32028        ],
32029        [, , "80\\d{6}", , , , "80123456"],
32030        [, , "(?:87|9[014578])\\d{6}", , , , "90123456"],
32031        [, , "84\\d{6}", , , , "84123456"],
32032        [, , , , , , , , , [-1]],
32033        [, , , , , , , , , [-1]],
32034        "BH",
32035        973,
32036        "00",
32037        ,
32038        ,
32039        ,
32040        ,
32041        ,
32042        ,
32043        ,
32044        [[, "(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[047]"]]],
32045        ,
32046        [, , , , , , , , , [-1]],
32047        ,
32048        ,
32049        [, , , , , , , , , [-1]],
32050        [, , , , , , , , , [-1]],
32051        ,
32052        ,
32053        [, , , , , , , , , [-1]],
32054      ],
32055      BI: [
32056        ,
32057        [, , "(?:[267]\\d|31)\\d{6}", , , , , , , [8]],
32058        [, , "(?:22|31)\\d{6}", , , , "22201234"],
32059        [, , "(?:29|[67][125-9])\\d{6}", , , , "79561234"],
32060        [, , , , , , , , , [-1]],
32061        [, , , , , , , , , [-1]],
32062        [, , , , , , , , , [-1]],
32063        [, , , , , , , , , [-1]],
32064        [, , , , , , , , , [-1]],
32065        "BI",
32066        257,
32067        "00",
32068        ,
32069        ,
32070        ,
32071        ,
32072        ,
32073        ,
32074        ,
32075        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]],
32076        ,
32077        [, , , , , , , , , [-1]],
32078        ,
32079        ,
32080        [, , , , , , , , , [-1]],
32081        [, , , , , , , , , [-1]],
32082        ,
32083        ,
32084        [, , , , , , , , , [-1]],
32085      ],
32086      BJ: [
32087        ,
32088        [, , "[24-689]\\d{7}", , , , , , , [8]],
32089        [, , "2(?:02|1[037]|2[45]|3[68]|4\\d)\\d{5}", , , , "20211234"],
32090        [, , "(?:4[0-356]|[56]\\d|9[013-9])\\d{6}", , , , "90011234"],
32091        [, , , , , , , , , [-1]],
32092        [, , , , , , , , , [-1]],
32093        [, , , , , , , , , [-1]],
32094        [, , , , , , , , , [-1]],
32095        [, , "857[58]\\d{4}", , , , "85751234"],
32096        "BJ",
32097        229,
32098        "00",
32099        ,
32100        ,
32101        ,
32102        ,
32103        ,
32104        ,
32105        ,
32106        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-689]"]]],
32107        ,
32108        [, , , , , , , , , [-1]],
32109        ,
32110        ,
32111        [, , , , , , , , , [-1]],
32112        [, , "81\\d{6}", , , , "81123456"],
32113        ,
32114        ,
32115        [, , , , , , , , , [-1]],
32116      ],
32117      BL: [
32118        ,
32119        [, , "590\\d{6}|(?:69|80|9\\d)\\d{7}", , , , , , , [9]],
32120        [, , "590(?:2[7-9]|5[12]|87)\\d{4}", , , , "590271234"],
32121        [, , "69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}", , , , "690001234"],
32122        [, , "80[0-5]\\d{6}", , , , "800012345"],
32123        [, , , , , , , , , [-1]],
32124        [, , , , , , , , , [-1]],
32125        [, , , , , , , , , [-1]],
32126        [, , "9(?:(?:395|76[018])\\d|475[0-2])\\d{4}", , , , "976012345"],
32127        "BL",
32128        590,
32129        "00",
32130        "0",
32131        ,
32132        ,
32133        "0",
32134        ,
32135        ,
32136        ,
32137        ,
32138        ,
32139        [, , , , , , , , , [-1]],
32140        ,
32141        ,
32142        [, , , , , , , , , [-1]],
32143        [, , , , , , , , , [-1]],
32144        ,
32145        ,
32146        [, , , , , , , , , [-1]],
32147      ],
32148      BM: [
32149        ,
32150        [, , "(?:441|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
32151        [
32152          ,
32153          ,
32154          "441(?:[46]\\d\\d|5(?:4\\d|60|89))\\d{4}",
32155          ,
32156          ,
32157          ,
32158          "4414123456",
32159          ,
32160          ,
32161          ,
32162          [7],
32163        ],
32164        [
32165          ,
32166          ,
32167          "441(?:[2378]\\d|5[0-39]|92)\\d{5}",
32168          ,
32169          ,
32170          ,
32171          "4413701234",
32172          ,
32173          ,
32174          ,
32175          [7],
32176        ],
32177        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
32178        [, , "900[2-9]\\d{6}", , , , "9002123456"],
32179        [, , , , , , , , , [-1]],
32180        [
32181          ,
32182          ,
32183          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
32184          ,
32185          ,
32186          ,
32187          "5002345678",
32188        ],
32189        [, , , , , , , , , [-1]],
32190        "BM",
32191        1,
32192        "011",
32193        "1",
32194        ,
32195        ,
32196        "([2-9]\\d{6})$|1",
32197        "441$1",
32198        ,
32199        ,
32200        ,
32201        ,
32202        [, , , , , , , , , [-1]],
32203        ,
32204        "441",
32205        [, , , , , , , , , [-1]],
32206        [, , , , , , , , , [-1]],
32207        ,
32208        ,
32209        [, , , , , , , , , [-1]],
32210      ],
32211      BN: [
32212        ,
32213        [, , "[2-578]\\d{6}", , , , , , , [7]],
32214        [
32215          ,
32216          ,
32217          "22[0-7]\\d{4}|(?:2[013-9]|[34]\\d|5[0-25-9])\\d{5}",
32218          ,
32219          ,
32220          ,
32221          "2345678",
32222        ],
32223        [, , "(?:22[89]|[78]\\d\\d)\\d{4}", , , , "7123456"],
32224        [, , , , , , , , , [-1]],
32225        [, , , , , , , , , [-1]],
32226        [, , , , , , , , , [-1]],
32227        [, , , , , , , , , [-1]],
32228        [, , "5[34]\\d{5}", , , , "5345678"],
32229        "BN",
32230        673,
32231        "00",
32232        ,
32233        ,
32234        ,
32235        ,
32236        ,
32237        ,
32238        ,
32239        [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]],
32240        ,
32241        [, , , , , , , , , [-1]],
32242        ,
32243        ,
32244        [, , , , , , , , , [-1]],
32245        [, , , , , , , , , [-1]],
32246        ,
32247        ,
32248        [, , , , , , , , , [-1]],
32249      ],
32250      BO: [
32251        ,
32252        [, , "(?:[2-467]\\d\\d|8001)\\d{5}", , , , , , , [8, 9], [7]],
32253        [
32254          ,
32255          ,
32256          "(?:2(?:2\\d\\d|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d\\d|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\d\\d|6(?:11|[24689]\\d|72)))\\d{4}",
32257          ,
32258          ,
32259          ,
32260          "22123456",
32261          ,
32262          ,
32263          [8],
32264          [7],
32265        ],
32266        [, , "[67]\\d{7}", , , , "71234567", , , [8]],
32267        [, , "8001[07]\\d{4}", , , , "800171234", , , [9]],
32268        [, , , , , , , , , [-1]],
32269        [, , , , , , , , , [-1]],
32270        [, , , , , , , , , [-1]],
32271        [, , , , , , , , , [-1]],
32272        "BO",
32273        591,
32274        "00(?:1\\d)?",
32275        "0",
32276        ,
32277        ,
32278        "0(1\\d)?",
32279        ,
32280        ,
32281        ,
32282        [
32283          [, "(\\d)(\\d{7})", "$1 $2", ["[23]|4[46]"], , "0$CC $1"],
32284          [, "(\\d{8})", "$1", ["[67]"], , "0$CC $1"],
32285          [, "(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["8"], , "0$CC $1"],
32286        ],
32287        ,
32288        [, , , , , , , , , [-1]],
32289        ,
32290        ,
32291        [, , "8001[07]\\d{4}", , , , , , , [9]],
32292        [, , , , , , , , , [-1]],
32293        ,
32294        ,
32295        [, , , , , , , , , [-1]],
32296      ],
32297      BQ: [
32298        ,
32299        [, , "(?:[34]1|7\\d)\\d{5}", , , , , , , [7]],
32300        [
32301          ,
32302          ,
32303          "(?:318[023]|41(?:6[023]|70)|7(?:1[578]|2[05]|50)\\d)\\d{3}",
32304          ,
32305          ,
32306          ,
32307          "7151234",
32308        ],
32309        [
32310          ,
32311          ,
32312          "(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\\d|9[056])\\d)\\d{3}",
32313          ,
32314          ,
32315          ,
32316          "3181234",
32317        ],
32318        [, , , , , , , , , [-1]],
32319        [, , , , , , , , , [-1]],
32320        [, , , , , , , , , [-1]],
32321        [, , , , , , , , , [-1]],
32322        [, , , , , , , , , [-1]],
32323        "BQ",
32324        599,
32325        "00",
32326        ,
32327        ,
32328        ,
32329        ,
32330        ,
32331        ,
32332        ,
32333        ,
32334        ,
32335        [, , , , , , , , , [-1]],
32336        ,
32337        "[347]",
32338        [, , , , , , , , , [-1]],
32339        [, , , , , , , , , [-1]],
32340        ,
32341        ,
32342        [, , , , , , , , , [-1]],
32343      ],
32344      BR: [
32345        ,
32346        [
32347          ,
32348          ,
32349          "(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-46-9]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}",
32350          ,
32351          ,
32352          ,
32353          ,
32354          ,
32355          ,
32356          [8, 9, 10, 11],
32357        ],
32358        [
32359          ,
32360          ,
32361          "(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\d{7}",
32362          ,
32363          ,
32364          ,
32365          "1123456789",
32366          ,
32367          ,
32368          [10],
32369          [8],
32370        ],
32371        [
32372          ,
32373          ,
32374          "(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])(?:7|9\\d)\\d{7}",
32375          ,
32376          ,
32377          ,
32378          "11961234567",
32379          ,
32380          ,
32381          [10, 11],
32382          [8, 9],
32383        ],
32384        [, , "800\\d{6,7}", , , , "800123456", , , [9, 10]],
32385        [, , "300\\d{6}|[59]00\\d{6,7}", , , , "300123456", , , [9, 10]],
32386        [
32387          ,
32388          ,
32389          "(?:30[03]\\d{3}|4(?:0(?:0\\d|20)|370))\\d{4}|300\\d{5}",
32390          ,
32391          ,
32392          ,
32393          "40041234",
32394          ,
32395          ,
32396          [8, 10],
32397        ],
32398        [, , , , , , , , , [-1]],
32399        [, , , , , , , , , [-1]],
32400        "BR",
32401        55,
32402        "00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)",
32403        "0",
32404        ,
32405        ,
32406        "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?",
32407        "$2",
32408        ,
32409        ,
32410        [
32411          [
32412            ,
32413            "(\\d{3,6})",
32414            "$1",
32415            [
32416              "1(?:1[25-8]|2[357-9]|3[02-68]|4[12568]|5|6[0-8]|8[015]|9[0-47-9])|321|610",
32417            ],
32418          ],
32419          [
32420            ,
32421            "(\\d{4})(\\d{4})",
32422            "$1-$2",
32423            ["300|4(?:0[02]|37)", "4(?:02|37)0|[34]00"],
32424          ],
32425          [
32426            ,
32427            "(\\d{4})(\\d{4})",
32428            "$1-$2",
32429            ["[2-57]", "[2357]|4(?:[0-24-9]|3(?:[0-689]|7[1-9]))"],
32430          ],
32431          [
32432            ,
32433            "(\\d{3})(\\d{2,3})(\\d{4})",
32434            "$1 $2 $3",
32435            ["(?:[358]|90)0"],
32436            "0$1",
32437          ],
32438          [, "(\\d{5})(\\d{4})", "$1-$2", ["9"]],
32439          [
32440            ,
32441            "(\\d{2})(\\d{4})(\\d{4})",
32442            "$1 $2-$3",
32443            ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],
32444            "($1)",
32445            "0 $CC ($1)",
32446          ],
32447          [
32448            ,
32449            "(\\d{2})(\\d{5})(\\d{4})",
32450            "$1 $2-$3",
32451            ["[16][1-9]|[2-57-9]"],
32452            "($1)",
32453            "0 $CC ($1)",
32454          ],
32455        ],
32456        [
32457          [
32458            ,
32459            "(\\d{4})(\\d{4})",
32460            "$1-$2",
32461            ["300|4(?:0[02]|37)", "4(?:02|37)0|[34]00"],
32462          ],
32463          [
32464            ,
32465            "(\\d{3})(\\d{2,3})(\\d{4})",
32466            "$1 $2 $3",
32467            ["(?:[358]|90)0"],
32468            "0$1",
32469          ],
32470          [
32471            ,
32472            "(\\d{2})(\\d{4})(\\d{4})",
32473            "$1 $2-$3",
32474            ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],
32475            "($1)",
32476            "0 $CC ($1)",
32477          ],
32478          [
32479            ,
32480            "(\\d{2})(\\d{5})(\\d{4})",
32481            "$1 $2-$3",
32482            ["[16][1-9]|[2-57-9]"],
32483            "($1)",
32484            "0 $CC ($1)",
32485          ],
32486        ],
32487        [, , , , , , , , , [-1]],
32488        ,
32489        ,
32490        [
32491          ,
32492          ,
32493          "30(?:0\\d{5,7}|3\\d{7})|40(?:0\\d|20)\\d{4}|800\\d{6,7}",
32494          ,
32495          ,
32496          ,
32497          ,
32498          ,
32499          ,
32500          [8, 9, 10],
32501        ],
32502        [, , , , , , , , , [-1]],
32503        ,
32504        ,
32505        [, , , , , , , , , [-1]],
32506      ],
32507      BS: [
32508        ,
32509        [, , "(?:242|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
32510        [
32511          ,
32512          ,
32513          "242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-5]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}",
32514          ,
32515          ,
32516          ,
32517          "2423456789",
32518          ,
32519          ,
32520          ,
32521          [7],
32522        ],
32523        [
32524          ,
32525          ,
32526          "242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\\d|[89]9))\\d{4}",
32527          ,
32528          ,
32529          ,
32530          "2423591234",
32531          ,
32532          ,
32533          ,
32534          [7],
32535        ],
32536        [
32537          ,
32538          ,
32539          "242300\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",
32540          ,
32541          ,
32542          ,
32543          "8002123456",
32544          ,
32545          ,
32546          ,
32547          [7],
32548        ],
32549        [, , "900[2-9]\\d{6}", , , , "9002123456"],
32550        [, , , , , , , , , [-1]],
32551        [
32552          ,
32553          ,
32554          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
32555          ,
32556          ,
32557          ,
32558          "5002345678",
32559        ],
32560        [, , , , , , , , , [-1]],
32561        "BS",
32562        1,
32563        "011",
32564        "1",
32565        ,
32566        ,
32567        "([3-8]\\d{6})$|1",
32568        "242$1",
32569        ,
32570        ,
32571        ,
32572        ,
32573        [, , , , , , , , , [-1]],
32574        ,
32575        "242",
32576        [, , , , , , , , , [-1]],
32577        [, , "242225\\d{4}", , , , "2422250123"],
32578        ,
32579        ,
32580        [, , , , , , , , , [-1]],
32581      ],
32582      BT: [
32583        ,
32584        [, , "[17]\\d{7}|[2-8]\\d{6}", , , , , , , [7, 8], [6]],
32585        [
32586          ,
32587          ,
32588          "(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}",
32589          ,
32590          ,
32591          ,
32592          "2345678",
32593          ,
32594          ,
32595          [7],
32596          [6],
32597        ],
32598        [, , "(?:1[67]|77)\\d{6}", , , , "17123456", , , [8]],
32599        [, , , , , , , , , [-1]],
32600        [, , , , , , , , , [-1]],
32601        [, , , , , , , , , [-1]],
32602        [, , , , , , , , , [-1]],
32603        [, , , , , , , , , [-1]],
32604        "BT",
32605        975,
32606        "00",
32607        ,
32608        ,
32609        ,
32610        ,
32611        ,
32612        ,
32613        ,
32614        [
32615          [, "(\\d{3})(\\d{3})", "$1 $2", ["[2-7]"]],
32616          [, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-68]|7[246]"]],
32617          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|7"]],
32618        ],
32619        [
32620          [, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-68]|7[246]"]],
32621          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|7"]],
32622        ],
32623        [, , , , , , , , , [-1]],
32624        ,
32625        ,
32626        [, , , , , , , , , [-1]],
32627        [, , , , , , , , , [-1]],
32628        ,
32629        ,
32630        [, , , , , , , , , [-1]],
32631      ],
32632      BW: [
32633        ,
32634        [
32635          ,
32636          ,
32637          "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}",
32638          ,
32639          ,
32640          ,
32641          ,
32642          ,
32643          ,
32644          [7, 8, 10],
32645        ],
32646        [
32647          ,
32648          ,
32649          "(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\\d|7[013])|4(?:6[03]|7[1267]|9[0-5])|5(?:3[03489]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\d{4}",
32650          ,
32651          ,
32652          ,
32653          "2401234",
32654          ,
32655          ,
32656          [7],
32657        ],
32658        [, , "(?:321|7(?:[1-7]\\d|8[0-4]))\\d{5}", , , , "71123456", , , [8]],
32659        [, , "(?:0800|800\\d)\\d{6}", , , , "0800012345", , , [10]],
32660        [, , "90\\d{5}", , , , "9012345", , , [7]],
32661        [, , , , , , , , , [-1]],
32662        [, , , , , , , , , [-1]],
32663        [
32664          ,
32665          ,
32666          "79(?:1(?:[01]\\d|2[0-7])|2[0-7]\\d)\\d{3}",
32667          ,
32668          ,
32669          ,
32670          "79101234",
32671          ,
32672          ,
32673          [8],
32674        ],
32675        "BW",
32676        267,
32677        "00",
32678        ,
32679        ,
32680        ,
32681        ,
32682        ,
32683        ,
32684        ,
32685        [
32686          [, "(\\d{2})(\\d{5})", "$1 $2", ["90"]],
32687          [, "(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-79]"]],
32688          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37]"]],
32689          [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["0"]],
32690          [, "(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["8"]],
32691        ],
32692        ,
32693        [, , , , , , , , , [-1]],
32694        ,
32695        ,
32696        [, , , , , , , , , [-1]],
32697        [, , , , , , , , , [-1]],
32698        ,
32699        ,
32700        [, , , , , , , , , [-1]],
32701      ],
32702      BY: [
32703        ,
32704        [
32705          ,
32706          ,
32707          "(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",
32708          ,
32709          ,
32710          ,
32711          ,
32712          ,
32713          ,
32714          [6, 7, 8, 9, 10, 11],
32715          [5],
32716        ],
32717        [
32718          ,
32719          ,
32720          "(?:1(?:5(?:1[1-5]|[24]\\d|6[2-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d\\d)|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:[26]\\d|3[02-79]|4[024-7]|5[03-7])))\\d{5}",
32721          ,
32722          ,
32723          ,
32724          "152450911",
32725          ,
32726          ,
32727          [9],
32728          [5, 6, 7],
32729        ],
32730        [
32731          ,
32732          ,
32733          "(?:2(?:5[5-79]|9[1-9])|(?:33|44)\\d)\\d{6}",
32734          ,
32735          ,
32736          ,
32737          "294911911",
32738          ,
32739          ,
32740          [9],
32741        ],
32742        [, , "800\\d{3,7}|8(?:0[13]|20\\d)\\d{7}", , , , "8011234567"],
32743        [, , "(?:810|902)\\d{7}", , , , "9021234567", , , [10]],
32744        [, , , , , , , , , [-1]],
32745        [, , , , , , , , , [-1]],
32746        [, , "249\\d{6}", , , , "249123456", , , [9]],
32747        "BY",
32748        375,
32749        "810",
32750        "8",
32751        ,
32752        ,
32753        "0|80?",
32754        ,
32755        "8~10",
32756        ,
32757        [
32758          [, "(\\d{3})(\\d{3})", "$1 $2", ["800"], "8 $1"],
32759          [, "(\\d{3})(\\d{2})(\\d{2,4})", "$1 $2 $3", ["800"], "8 $1"],
32760          [
32761            ,
32762            "(\\d{4})(\\d{2})(\\d{3})",
32763            "$1 $2-$3",
32764            [
32765              "1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])",
32766              "1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])",
32767            ],
32768            "8 0$1",
32769          ],
32770          [
32771            ,
32772            "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
32773            "$1 $2-$3-$4",
32774            ["1(?:[56]|7[467])|2[1-3]"],
32775            "8 0$1",
32776          ],
32777          [
32778            ,
32779            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
32780            "$1 $2-$3-$4",
32781            ["[1-4]"],
32782            "8 0$1",
32783          ],
32784          [, "(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[89]"], "8 $1"],
32785        ],
32786        ,
32787        [, , , , , , , , , [-1]],
32788        ,
32789        ,
32790        [, , "800\\d{3,7}|(?:8(?:0[13]|10|20\\d)|902)\\d{7}"],
32791        [, , , , , , , , , [-1]],
32792        ,
32793        ,
32794        [, , , , , , , , , [-1]],
32795      ],
32796      BZ: [
32797        ,
32798        [, , "(?:0800\\d|[2-8])\\d{6}", , , , , , , [7, 11]],
32799        [
32800          ,
32801          ,
32802          "(?:2(?:[02]\\d|36|[68]0)|[3-58](?:[02]\\d|[68]0)|7(?:[02]\\d|32|[68]0))\\d{4}",
32803          ,
32804          ,
32805          ,
32806          "2221234",
32807          ,
32808          ,
32809          [7],
32810        ],
32811        [, , "6[0-35-7]\\d{5}", , , , "6221234", , , [7]],
32812        [, , "0800\\d{7}", , , , "08001234123", , , [11]],
32813        [, , , , , , , , , [-1]],
32814        [, , , , , , , , , [-1]],
32815        [, , , , , , , , , [-1]],
32816        [, , , , , , , , , [-1]],
32817        "BZ",
32818        501,
32819        "00",
32820        ,
32821        ,
32822        ,
32823        ,
32824        ,
32825        ,
32826        ,
32827        [
32828          [, "(\\d{3})(\\d{4})", "$1-$2", ["[2-8]"]],
32829          [, "(\\d)(\\d{3})(\\d{4})(\\d{3})", "$1-$2-$3-$4", ["0"]],
32830        ],
32831        ,
32832        [, , , , , , , , , [-1]],
32833        ,
32834        ,
32835        [, , , , , , , , , [-1]],
32836        [, , , , , , , , , [-1]],
32837        ,
32838        ,
32839        [, , , , , , , , , [-1]],
32840      ],
32841      CA: [
32842        ,
32843        [, , "(?:[2-8]\\d|90)\\d{8}|3\\d{6}", , , , , , , [7, 10]],
32844        [
32845          ,
32846          ,
32847          "(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}",
32848          ,
32849          ,
32850          ,
32851          "5062345678",
32852          ,
32853          ,
32854          [10],
32855          [7],
32856        ],
32857        [
32858          ,
32859          ,
32860          "(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\d{6}",
32861          ,
32862          ,
32863          ,
32864          "5062345678",
32865          ,
32866          ,
32867          [10],
32868          [7],
32869        ],
32870        [
32871          ,
32872          ,
32873          "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",
32874          ,
32875          ,
32876          ,
32877          "8002123456",
32878          ,
32879          ,
32880          [10],
32881        ],
32882        [, , "900[2-9]\\d{6}", , , , "9002123456", , , [10]],
32883        [, , , , , , , , , [-1]],
32884        [
32885          ,
32886          ,
32887          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\d{6}",
32888          ,
32889          ,
32890          ,
32891          "5002345678",
32892          ,
32893          ,
32894          [10],
32895        ],
32896        [, , "600[2-9]\\d{6}", , , , "6002012345", , , [10]],
32897        "CA",
32898        1,
32899        "011",
32900        "1",
32901        ,
32902        ,
32903        "1",
32904        ,
32905        ,
32906        1,
32907        ,
32908        ,
32909        [, , , , , , , , , [-1]],
32910        ,
32911        ,
32912        [, , , , , , , , , [-1]],
32913        [, , "310\\d{4}", , , , "3101234", , , [7]],
32914        ,
32915        ,
32916        [, , , , , , , , , [-1]],
32917      ],
32918      CC: [
32919        ,
32920        [
32921          ,
32922          ,
32923          "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",
32924          ,
32925          ,
32926          ,
32927          ,
32928          ,
32929          ,
32930          [6, 7, 8, 9, 10, 12],
32931        ],
32932        [
32933          ,
32934          ,
32935          "8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",
32936          ,
32937          ,
32938          ,
32939          "891621234",
32940          ,
32941          ,
32942          [9],
32943          [8],
32944        ],
32945        [
32946          ,
32947          ,
32948          "4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",
32949          ,
32950          ,
32951          ,
32952          "412345678",
32953          ,
32954          ,
32955          [9],
32956        ],
32957        [, , "180(?:0\\d{3}|2)\\d{3}", , , , "1800123456", , , [7, 10]],
32958        [, , "190[0-26]\\d{6}", , , , "1900123456", , , [10]],
32959        [
32960          ,
32961          ,
32962          "13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",
32963          ,
32964          ,
32965          ,
32966          "1300123456",
32967          ,
32968          ,
32969          [6, 8, 10, 12],
32970        ],
32971        [, , , , , , , , , [-1]],
32972        [
32973          ,
32974          ,
32975          "14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",
32976          ,
32977          ,
32978          ,
32979          "147101234",
32980          ,
32981          ,
32982          [9],
32983        ],
32984        "CC",
32985        61,
32986        "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011",
32987        "0",
32988        ,
32989        ,
32990        "([59]\\d{7})$|0",
32991        "8$1",
32992        "0011",
32993        ,
32994        ,
32995        ,
32996        [, , , , , , , , , [-1]],
32997        ,
32998        ,
32999        [, , , , , , , , , [-1]],
33000        [, , , , , , , , , [-1]],
33001        ,
33002        ,
33003        [, , , , , , , , , [-1]],
33004      ],
33005      CD: [
33006        ,
33007        [, , "[189]\\d{8}|[1-68]\\d{6}", , , , , , , [7, 9]],
33008        [, , "12\\d{7}|[1-6]\\d{6}", , , , "1234567"],
33009        [, , "88\\d{5}|(?:8[0-59]|9[017-9])\\d{7}", , , , "991234567"],
33010        [, , , , , , , , , [-1]],
33011        [, , , , , , , , , [-1]],
33012        [, , , , , , , , , [-1]],
33013        [, , , , , , , , , [-1]],
33014        [, , , , , , , , , [-1]],
33015        "CD",
33016        243,
33017        "00",
33018        "0",
33019        ,
33020        ,
33021        "0",
33022        ,
33023        ,
33024        ,
33025        [
33026          [, "(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["88"], "0$1"],
33027          [, "(\\d{2})(\\d{5})", "$1 $2", ["[1-6]"], "0$1"],
33028          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"],
33029          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]"], "0$1"],
33030        ],
33031        ,
33032        [, , , , , , , , , [-1]],
33033        ,
33034        ,
33035        [, , , , , , , , , [-1]],
33036        [, , , , , , , , , [-1]],
33037        ,
33038        ,
33039        [, , , , , , , , , [-1]],
33040      ],
33041      CF: [
33042        ,
33043        [, , "(?:[27]\\d{3}|8776)\\d{4}", , , , , , , [8]],
33044        [, , "2[12]\\d{6}", , , , "21612345"],
33045        [, , "7[024-7]\\d{6}", , , , "70012345"],
33046        [, , , , , , , , , [-1]],
33047        [, , "8776\\d{4}", , , , "87761234"],
33048        [, , , , , , , , , [-1]],
33049        [, , , , , , , , , [-1]],
33050        [, , , , , , , , , [-1]],
33051        "CF",
33052        236,
33053        "00",
33054        ,
33055        ,
33056        ,
33057        ,
33058        ,
33059        ,
33060        ,
33061        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[278]"]]],
33062        ,
33063        [, , , , , , , , , [-1]],
33064        ,
33065        ,
33066        [, , , , , , , , , [-1]],
33067        [, , , , , , , , , [-1]],
33068        ,
33069        ,
33070        [, , , , , , , , , [-1]],
33071      ],
33072      CG: [
33073        ,
33074        [, , "222\\d{6}|(?:0\\d|80)\\d{7}", , , , , , , [9]],
33075        [, , "222[1-589]\\d{5}", , , , "222123456"],
33076        [
33077          ,
33078          ,
33079          "026(?:1[0-5]|6[6-9])\\d{4}|0(?:[14-6]\\d\\d|2(?:40|5[5-8]|6[07-9]))\\d{5}",
33080          ,
33081          ,
33082          ,
33083          "061234567",
33084        ],
33085        [, , , , , , , , , [-1]],
33086        [, , "80[0-2]\\d{6}", , , , "800123456"],
33087        [, , , , , , , , , [-1]],
33088        [, , , , , , , , , [-1]],
33089        [, , , , , , , , , [-1]],
33090        "CG",
33091        242,
33092        "00",
33093        ,
33094        ,
33095        
33095,
33096        ,
33097        ,
33098        ,
33099        ,
33100        [
33101          [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]],
33102          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]],
33103        ],
33104        ,
33105        [, , , , , , , , , [-1]],
33106        ,
33107        ,
33108        [, , , , , , , , , [-1]],
33109        [, , , , , , , , , [-1]],
33110        ,
33111        ,
33112        [, , , , , , , , , [-1]],
33113      ],
33114      CH: [
33115        ,
33116        [, , "8\\d{11}|[2-9]\\d{8}", , , , , , , [9, 12]],
33117        [
33118          ,
33119          ,
33120          "(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\d{7}",
33121          ,
33122          ,
33123          ,
33124          "212345678",
33125          ,
33126          ,
33127          [9],
33128        ],
33129        [, , "7[35-9]\\d{7}", , , , "781234567", , , [9]],
33130        [, , "800\\d{6}", , , , "800123456", , , [9]],
33131        [, , "90[016]\\d{6}", , , , "900123456", , , [9]],
33132        [, , "84[0248]\\d{6}", , , , "840123456", , , [9]],
33133        [, , "878\\d{6}", , , , "878123456", , , [9]],
33134        [, , , , , , , , , [-1]],
33135        "CH",
33136        41,
33137        "00",
33138        "0",
33139        ,
33140        ,
33141        "0",
33142        ,
33143        ,
33144        ,
33145        [
33146          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8[047]|90"], "0$1"],
33147          [
33148            ,
33149            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
33150            "$1 $2 $3 $4",
33151            ["[2-79]|81"],
33152            "0$1",
33153          ],
33154          [
33155            ,
33156            "(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
33157            "$1 $2 $3 $4 $5",
33158            ["8"],
33159            "0$1",
33160          ],
33161        ],
33162        ,
33163        [, , "74[0248]\\d{6}", , , , "740123456", , , [9]],
33164        ,
33165        ,
33166        [, , , , , , , , , [-1]],
33167        [, , "5[18]\\d{7}", , , , "581234567", , , [9]],
33168        ,
33169        ,
33170        [, , "860\\d{9}", , , , "860123456789", , , [12]],
33171      ],
33172      CI: [
33173        ,
33174        [, , "[02]\\d{9}", , , , , , , [10]],
33175        [
33176          ,
33177          ,
33178          "2(?:[15]\\d{3}|7(?:2(?:0[23]|1[2357]|2[245]|3[45]|4[3-5])|3(?:06|1[69]|[2-6]7)))\\d{5}",
33179          ,
33180          ,
33181          ,
33182          "2123456789",
33183        ],
33184        [, , "0[157]\\d{8}", , , , "0123456789"],
33185        [, , , , , , , , , [-1]],
33186        [, , , , , , , , , [-1]],
33187        [, , , , , , , , , [-1]],
33188        [, , , , , , , , , [-1]],
33189        [, , , , , , , , , [-1]],
33190        "CI",
33191        225,
33192        "00",
33193        ,
33194        ,
33195        ,
33196        ,
33197        ,
33198        ,
33199        ,
33200        [
33201          [, "(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]],
33202          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]],
33203        ],
33204        ,
33205        [, , , , , , , , , [-1]],
33206        ,
33207        ,
33208        [, , , , , , , , , [-1]],
33209        [, , , , , , , , , [-1]],
33210        ,
33211        ,
33212        [, , , , , , , , , [-1]],
33213      ],
33214      CK: [
33215        ,
33216        [, , "[2-578]\\d{4}", , , , , , , [5]],
33217        [, , "(?:2\\d|3[13-7]|4[1-5])\\d{3}", , , , "21234"],
33218        [, , "[578]\\d{4}", , , , "71234"],
33219        [, , , , , , , , , [-1]],
33220        [, , , , , , , , , [-1]],
33221        [, , , , , , , , , [-1]],
33222        [, , , , , , , , , [-1]],
33223        [, , , , , , , , , [-1]],
33224        "CK",
33225        682,
33226        "00",
33227        ,
33228        ,
33229        ,
33230        ,
33231        ,
33232        ,
33233        ,
33234        [[, "(\\d{2})(\\d{3})", "$1 $2", ["[2-578]"]]],
33235        ,
33236        [, , , , , , , , , [-1]],
33237        ,
33238        ,
33239        [, , , , , , , , , [-1]],
33240        [, , , , , , , , , [-1]],
33241        ,
33242        ,
33243        [, , , , , , , , , [-1]],
33244      ],
33245      CL: [
33246        ,
33247        [, , "12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}", , , , , , , [9, 10, 11]],
33248        [
33249          ,
33250          ,
33251          "2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[03467]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}",
33252          ,
33253          ,
33254          ,
33255          "221234567",
33256          ,
33257          ,
33258          [9],
33259        ],
33260        [
33261          ,
33262          ,
33263          "2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[03467]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}",
33264          ,
33265          ,
33266          ,
33267          "221234567",
33268          ,
33269          ,
33270          [9],
33271        ],
33272        [, , "(?:123|8)00\\d{6}", , , , "800123456", , , [9, 11]],
33273        [, , , , , , , , , [-1]],
33274        [, , "600\\d{7,8}", , , , "6001234567", , , [10, 11]],
33275        [, , , , , , , , , [-1]],
33276        [, , "44\\d{7}", , , , "441234567", , , [9]],
33277        "CL",
33278        56,
33279        "(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0",
33280        ,
33281        ,
33282        ,
33283        ,
33284        ,
33285        ,
33286        1,
33287        [
33288          [, "(\\d{4})", "$1", ["1(?:[03-589]|21)|[29]0|78"]],
33289          [, "(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"],
33290          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]],
33291          [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"],
33292          [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9[2-9]"]],
33293          [
33294            ,
33295            "(\\d{2})(\\d{3})(\\d{4})",
33296            "$1 $2 $3",
33297            ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],
33298            "($1)",
33299          ],
33300          [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]],
33301          [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]],
33302          [, "(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]],
33303        ],
33304        [
33305          [, "(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"],
33306          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]],
33307          [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"],
33308          [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9[2-9]"]],
33309          [
33310            ,
33311            "(\\d{2})(\\d{3})(\\d{4})",
33312            "$1 $2 $3",
33313            ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],
33314            "($1)",
33315          ],
33316          [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]],
33317          [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]],
33318          [, "(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]],
33319        ],
33320        [, , , , , , , , , [-1]],
33321        ,
33322        ,
33323        [, , "600\\d{7,8}", , , , , , , [10, 11]],
33324        [, , , , , , , , , [-1]],
33325        ,
33326        ,
33327        [, , , , , , , , , [-1]],
33328      ],
33329      CM: [
33330        ,
33331        [, , "[26]\\d{8}|88\\d{6,7}", , , , , , , [8, 9]],
33332        [, , "2(?:22|33)\\d{6}", , , , "222123456", , , [9]],
33333        [, , "(?:24[23]|6[25-9]\\d)\\d{6}", , , , "671234567", , , [9]],
33334        [, , "88\\d{6,7}", , , , "88012345"],
33335        [, , , , , , , , , [-1]],
33336        [, , , , , , , , , [-1]],
33337        [, , , , , , , , , [-1]],
33338        [, , , , , , , , , [-1]],
33339        "CM",
33340        237,
33341        "00",
33342        ,
33343        ,
33344        ,
33345        ,
33346        ,
33347        ,
33348        ,
33349        [
33350          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["88"]],
33351          [
33352            ,
33353            "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
33354            "$1 $2 $3 $4 $5",
33355            ["[26]|88"],
33356          ],
33357        ],
33358        ,
33359        [, , , , , , , , , [-1]],
33360        ,
33361        ,
33362        [, , , , , , , , , [-1]],
33363        [, , , , , , , , , [-1]],
33364        ,
33365        ,
33366        [, , , , , , , , , [-1]],
33367      ],
33368      CN: [
33369        ,
33370        [
33371          ,
33372          ,
33373          "1[127]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-689]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}",
33374          ,
33375          ,
33376          ,
33377          ,
33378          ,
33379          ,
33380          [7, 8, 9, 10, 11, 12],
33381          [5, 6],
33382        ],
33383        [
33384          ,
33385          ,
33386          "(?:10(?:[02-79]\\d\\d|[18](?:0[1-9]|[1-9]\\d))|21(?:[18](?:0[1-9]|[1-9]\\d)|[2-79]\\d\\d))\\d{5}|(?:43[35]|754)\\d{7,8}|8(?:078\\d{7}|51\\d{7,8})|(?:10|(?:2|85)1|43[35]|754)(?:100\\d\\d|95\\d{3,4})|(?:2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\d{7}|1(?:0(?:0\\d\\d(?:\\d{3})?|[1-9]\\d{5})|[1-9]\\d{6})|9(?:[0-46-9]\\d{6}|5\\d{3}(?:\\d(?:\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]\\d{6}|1(?:0(?:0\\d\\d(?:\\d{2})?|[1-9]\\d{4})|[1-9]\\d{5})|9(?:[0-46-9]\\d{5}|5\\d{3,5}))",
33387          ,
33388          ,
33389          ,
33390          "1012345678",
33391          ,
33392          ,
33393          [7, 8, 9, 10, 11],
33394          [5, 6],
33395        ],
33396        [
33397          ,
33398          ,
33399          "1740[0-5]\\d{6}|1(?:[38]\\d|4[57]|[59][0-35-9]|6[25-7]|7[0-35-8])\\d{8}",
33400          ,
33401          ,
33402          ,
33403          "13123456789",
33404          ,
33405          ,
33406          [11],
33407        ],
33408        [, , "(?:(?:10|21)8|8)00\\d{7}", , , , "8001234567", , , [10, 12]],
33409        [, , "16[08]\\d{5}", , , , "16812345", , , [8]],
33410        [
33411          ,
33412          ,
33413          "10(?:10\\d{4}|96\\d{3,4})|400\\d{7}|950\\d{7,8}|(?:2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))96\\d{3,4}",
33414          ,
33415          ,
33416          ,
33417          "4001234567",
33418          ,
33419          ,
33420          [7, 8, 9, 10, 11],
33421          [5, 6],
33422        ],
33423        [, , , , , , , , , [-1]],
33424        [, , , , , , , , , [-1]],
33425        "CN",
33426        86,
33427        "00|1(?:[12]\\d|79)\\d\\d00",
33428        "0",
33429        ,
33430        ,
33431        "(1(?:[12]\\d|79)\\d\\d)|0",
33432        ,
33433        "00",
33434        ,
33435        [
33436          [, "(\\d{5,6}
33436)", "$1", ["10|96"]],
33437          [
33438            ,
33439            "(\\d{2})(\\d{5,6})",
33440            "$1 $2",
33441            [
33442              "(?:10|2[0-57-9])[19]",
33443              "(?:10|2[0-57-9])(?:10|9[56])",
33444              "10(?:10|9[56])|2[0-57-9](?:100|9[56])",
33445            ],
33446            "0$1",
33447            "$CC $1",
33448          ],
33449          [
33450            ,
33451            "(\\d{3})(\\d{4})",
33452            "$1 $2",
33453            [
33454              "[1-9]",
33455              "1[1-9]|26|[3-9]|(?:10|2[0-57-9])(?:[0-8]|9[0-47-9])",
33456              "1(?:0(?:[0-8]|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])|6)|[3-9]",
33457            ],
33458          ],
33459          [, "(\\d{4})(\\d{4})", "$1 $2", ["16[08]"]],
33460          [
33461            ,
33462            "(\\d{3})(\\d{5,6})",
33463            "$1 $2",
33464            [
33465              "3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]",
33466              "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]",
33467              "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])",
33468              "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])",
33469            ],
33470            "0$1",
33471            "$CC $1",
33472          ],
33473          [
33474            ,
33475            "(\\d{4})(\\d{4})",
33476            "$1 $2",
33477            [
33478              "[1-9]",
33479              "1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|2(?:[0-57-9](?:[0-8]|9[0-47-9])|6)|[3-9]",
33480              "1(?:0(?:[02-8]|1[1-9]|9[0-47-9])|[1-9])|26|3(?:[0268]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|8[1-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23][0-8])|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:33|85[23]9)[0-46-9]|(?:2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[0-8]|9[0-47-9])",
33481              "1(?:0[02-8]|[1-9])|2(?:[0-57-9][0-8]|6)|3(?:[0268]|3[0-46-9]|4[0-8]|9[079])|4(?:[049]|2[02-68]|[35]0|6[0-356]|8[014-9])|5(?:0|2[0-24-689]|4[0-2457-9]|6[057-9]|90)|6(?:[0-24578]|3[06-9]|6[14-79]|9[03-9])|7(?:0[02-9]|2[0135-79]|3[23]|4[0-27-9]|6[1457]|8)|8(?:[046]|1[01459]|2[0-489]|5(?:0|[23](?:[02-8]|1[1-9]|9[0-46-9]))|8[0-2459]|9[09])|9(?:0[0457]|1[08]|[268]|4[024-9]|5[06-9])|(?:10|2[0-57-9])9[0-47-9]|(?:101|58|85[23]10)[1-9]|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]|1(?:0[1-9]|[1-9])|9[0-47-9])",
33482            ],
33483          ],
33484          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]],
33485          [
33486            ,
33487            "(\\d{2})(\\d{4})(\\d{4})",
33488            "$1 $2 $3",
33489            [
33490              "10|2(?:[02-57-9]|1[1-9])",
33491              "10|2(?:[02-57-9]|1[1-9])",
33492              "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])",
33493            ],
33494            "0$1",
33495            "$CC $1",
33496            1,
33497          ],
33498          [
33499            ,
33500            "(\\d{3})(\\d{3})(\\d{4})",
33501            "$1 $2 $3",
33502            [
33503              "3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]",
33504            ],
33505            "0$1",
33506            "$CC $1",
33507            1,
33508          ],
33509          [, "(\\d{3})(\\d{7,8})", "$1 $2", ["9"]],
33510          [
33511            ,
33512            "(\\d{4})(\\d{3})(\\d{4})",
33513            "$1 $2 $3",
33514            ["80"],
33515            "0$1",
33516            "$CC $1",
33517            1,
33518          ],
33519          [
33520            ,
33521            "(\\d{3})(\\d{4})(\\d{4})",
33522            "$1 $2 $3",
33523            ["[3-578]"],
33524            "0$1",
33525            "$CC $1",
33526            1,
33527          ],
33528          [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"], , "$CC $1"],
33529          [
33530            ,
33531            "(\\d{2})(\\d{3})(\\d{3})(\\d{4})",
33532            "$1 $2 $3 $4",
33533            ["[12]"],
33534            "0$1",
33535            ,
33536            1,
33537          ],
33538        ],
33539        [
33540          [
33541            ,
33542            "(\\d{2})(\\d{5,6})",
33543            "$1 $2",
33544            [
33545              "(?:10|2[0-57-9])[19]",
33546              "(?:10|2[0-57-9])(?:10|9[56])",
33547              "10(?:10|9[56])|2[0-57-9](?:100|9[56])",
33548            ],
33549            "0$1",
33550            "$CC $1",
33551          ],
33552          [
33553            ,
33554            "(\\d{3})(\\d{5,6})",
33555            "$1 $2",
33556            [
33557              "3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]",
33558              "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]",
33559              "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])",
33560              "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])",
33561            ],
33562            "0$1",
33563            "$CC $1",
33564          ],
33565          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]],
33566          [
33567            ,
33568            "(\\d{2})(\\d{4})(\\d{4})",
33569            "$1 $2 $3",
33570            [
33571              "10|2(?:[02-57-9]|1[1-9])",
33572              "10|2(?:[02-57-9]|1[1-9])",
33573              "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])",
33574            ],
33575            "0$1",
33576            "$CC $1",
33577            1,
33578          ],
33579          [
33580            ,
33581            "(\\d{3})(\\d{3})(\\d{4})",
33582            "$1 $2 $3",
33583            [
33584              "3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]",
33585            ],
33586            "0$1",
33587            "$CC $1",
33588            1,
33589          ],
33590          [, "(\\d{3})(\\d{7,8})", "$1 $2", ["9"]],
33591          [
33592            ,
33593            "(\\d{4})(\\d{3})(\\d{4})",
33594            "$1 $2 $3",
33595            ["80"],
33596            "0$1",
33597            "$CC $1",
33598            1,
33599          ],
33600          [
33601            ,
33602            "(\\d{3})(\\d{4})(\\d{4})",
33603            "$1 $2 $3",
33604            ["[3-578]"],
33605            "0$1",
33606            "$CC $1",
33607            1,
33608          ],
33609          [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"], , "$CC $1"],
33610          [
33611            ,
33612            "(\\d{2})(\\d{3})(\\d{3})(\\d{4})",
33613            "$1 $2 $3 $4",
33614            ["[12]"],
33615            "0$1",
33616            ,
33617            1,
33618          ],
33619        ],
33620        [, , , , , , , , , [-1]],
33621        ,
33622        ,
33623        [
33624          ,
33625          ,
33626          "(?:(?:10|21)8|[48])00\\d{7}|950\\d{7,8}",
33627          ,
33628          ,
33629          ,
33630          ,
33631          ,
33632          ,
33633          [10, 11, 12],
33634        ],
33635        [, , , , , , , , , [-1]],
33636        ,
33637        ,
33638        [, , , , , , , , , [-1]],
33639      ],
33640      CO: [
33641        ,
33642        [
33643          ,
33644          ,
33645          "(?:60\\d\\d|9101)\\d{6}|(?:1\\d|3)\\d{9}",
33646          ,
33647          ,
33648          ,
33649          ,
33650          ,
33651          ,
33652          [10, 11],
33653          [7],
33654        ],
33655        [
33656          ,
33657          ,
33658          "601055(?:[0-4]\\d|50)\\d\\d|6010(?:[0-4]\\d|5[0-4])\\d{4}|60[124-8][2-9]\\d{6}",
33659          ,
33660          ,
33661          ,
33662          "6012345678",
33663          ,
33664          ,
33665          [10],
33666          [7],
33667        ],
33668        [
33669          ,
33670          ,
33671          "3333(?:0(?:0\\d|1[0-5])|[4-9]\\d\\d)\\d{3}|(?:3(?:24[1-9]|3(?:00|3[0-24-9]))|9101)\\d{6}|3(?:0[0-5]|1\\d|2[0-3]|5[01]|70)\\d{7}",
33672          ,
33673          ,
33674          ,
33675          "3211234567",
33676          ,
33677          ,
33678          [10],
33679        ],
33680        [, , "1800\\d{7}", , , , "18001234567", , , [11]],
33681        [, , "19(?:0[01]|4[78])\\d{7}", , , , "19001234567", , , [11]],
33682        [, , , , , , , , , [-1]],
33683        [, , , , , , , , , [-1]],
33684        [, , , , , , , , , [-1]],
33685        "CO",
33686        57,
33687        "00(?:4(?:[14]4|56)|[579])",
33688        "0",
33689        ,
33690        ,
33691        "0(4(?:[14]4|56)|[579])?",
33692        ,
33693        ,
33694        ,
33695        [
33696          [, "(\\d{3})(\\d{7})", "$1 $2", ["6"], "($1)", "0$CC $1"],
33697          [, "(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|91"], , "0$CC $1"],
33698          [, "(\\d)(\\d{3})(\\d{7})", "$1-$2-$3", ["1"], "0$1"],
33699        ],
33700        [
33701          [, "(\\d{3})(\\d{7})", "$1 $2", ["6"], "($1)", "0$CC $1"],
33702          [, "(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|91"], , "0$CC $1"],
33703          [, "(\\d)(\\d{3})(\\d{7})", "$1 $2 $3", ["1"]],
33704        ],
33705        [, , , , , , , , , [-1]],
33706        ,
33707        ,
33708        [, , , , , , , , , [-1]],
33709        [, , , , , , , , , [-1]],
33710        ,
33711        ,
33712        [, , , , , , , , , [-1]],
33713      ],
33714      CR: [
33715        ,
33716        [
33717          ,
33718          ,
33719          "(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}",
33720          ,
33721          ,
33722          ,
33723          ,
33724          ,
33725          ,
33726          [8, 10],
33727        ],
33728        [
33729          ,
33730          ,
33731          "210[7-9]\\d{4}|2(?:[024-7]\\d|1[1-9])\\d{5}",
33732          ,
33733          ,
33734          ,
33735          "22123456",
33736          ,
33737          ,
33738          [8],
33739        ],
33740        [
33741          ,
33742          ,
33743          "(?:3005\\d|6500[01])\\d{3}|(?:5[07]|6[0-4]|7[0-3]|8[3-9])\\d{6}",
33744          ,
33745          ,
33746          ,
33747          "83123456",
33748          ,
33749          ,
33750          [8],
33751        ],
33752        [, , "800\\d{7}", , , , "8001234567", , , [10]],
33753        [, , "90[059]\\d{7}", , , , "9001234567", , , [10]],
33754        [, , , , , , , , , [-1]],
33755        [, , , , , , , , , [-1]],
33756        [, , "(?:210[0-6]|4\\d{3}|5100)\\d{4}", , , , "40001234", , , [8]],
33757        "CR",
33758        506,
33759        "00",
33760        ,
33761        ,
33762        ,
33763        "(19(?:0[0-2468]|1[09]|20|66|77|99))",
33764        ,
33765        ,
33766        ,
33767        [
33768          [, "(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[3-9]"], , "$CC $1"],
33769          [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[89]"], , "$CC $1"],
33770        ],
33771        ,
33772        [, , , , , , , , , [-1]],
33773        ,
33774        ,
33775        [, , , , , , , , , [-1]],
33776        [, , , , , , , , , [-1]],
33777        ,
33778        ,
33779        [, , , , , , , , , [-1]],
33780      ],
33781      CU: [
33782        ,
33783        [
33784          ,
33785          ,
33786          "[27]\\d{6,7}|[34]\\d{5,7}|(?:5|8\\d\\d)\\d{7}",
33787          ,
33788          ,
33789          ,
33790          ,
33791          ,
33792          ,
33793          [6, 7, 8, 10],
33794          [4, 5],
33795        ],
33796        [
33797          ,
33798          ,
33799          "(?:3[23]|48)\\d{4,6}|(?:31|4[36]|8(?:0[25]|78)\\d)\\d{6}|(?:2[1-4]|4[1257]|7\\d)\\d{5,6}",
33800          ,
33801          ,
33802          ,
33803          "71234567",
33804          ,
33805          ,
33806          ,
33807          [4, 5],
33808        ],
33809        [, , "5\\d{7}", , , , "51234567", , , [8]],
33810        [, , "800\\d{7}", , , , "8001234567", , , [10]],
33811        [, , , , , , , , , [-1]],
33812        [, , "807\\d{7}", , , , "8071234567", , , [10]],
33813        [, , , , , , , , , [-1]],
33814        [, , , , , , , , , [-1]],
33815        "CU",
33816        53,
33817        "119",
33818        "0",
33819        ,
33820        ,
33821        "0",
33822        ,
33823        ,
33824        ,
33825        [
33826          [, "(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"],
33827          [, "(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"],
33828          [, "(\\d)(\\d{7})", "$1 $2", ["5"], "0$1"],
33829          [, "(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"],
33830        ],
33831        ,
33832        [, , , , , , , , , [-1]],
33833        ,
33834        ,
33835        [, , , , , , , , , [-1]],
33836        [, , , , , , , , , [-1]],
33837        ,
33838        ,
33839        [, , , , , , , , , [-1]],
33840      ],
33841      CV: [
33842        ,
33843        [, , "(?:[2-59]\\d\\d|800)\\d{4}", , , , , , , [7]],
33844        [
33845          ,
33846          ,
33847          "2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}",
33848          ,
33849          ,
33850          ,
33851          "2211234",
33852        ],
33853        [, , "(?:36|5[1-389]|9\\d)\\d{5}", , , , "9911234"],
33854        [, , "800\\d{4}", , , , "8001234"],
33855        [, , , , , , , , , [-1]],
33856        [, , , , , , , , , [-1]],
33857        [, , , , , , , , , [-1]],
33858        [, , "(?:3[3-5]|4[356])\\d{5}", , , , "3401234"],
33859        "CV",
33860        238,
33861        "0",
33862        ,
33863        ,
33864        ,
33865        ,
33866        ,
33867        ,
33868        ,
33869        [[, "(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-589]"]]],
33870        ,
33871        [, , , , , , , , , [-1]],
33872        ,
33873        ,
33874        [, , , , , , , , , [-1]],
33875        [, , , , , , , , , [-1]],
33876        ,
33877        ,
33878        [, , , , , , , , , [-1]],
33879      ],
33880      CW: [
33881        ,
33882        [, , "(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}", , , , , , , [7, 8]],
33883        [
33884          ,
33885          ,
33886          "9(?:4(?:3[0-5]|4[14]|6\\d)|50\\d|7(?:2[014]|3[02-9]|4[4-9]|6[357]|77|8[7-9])|8(?:3[39]|[46]\\d|7[01]|8[57-9]))\\d{4}",
33887          ,
33888          ,
33889          ,
33890          "94351234",
33891        ],
33892        [, , "953[01]\\d{4}|9(?:5[12467]|6[5-9])\\d{5}", , , , "95181234"],
33893        [, , , , , , , , , [-1]],
33894        [, , , , , , , , , [-1]],
33895        [, , "60[0-2]\\d{4}", , , , "6001234", , , [7]],
33896        [, , , , , , , , , [-1]],
33897        [, , , , , , , , , [-1]],
33898        "CW",
33899        599,
33900        "00",
33901        ,
33902        ,
33903        ,
33904        ,
33905        ,
33906        ,
33907        ,
33908        [
33909          [, "(\\d{3})(\\d{4})", "$1 $2", ["[3467]"]],
33910          [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["9[4-8]"]],
33911        ],
33912        ,
33913        [, , "955\\d{5}", , , , "95581234", , , [8]],
33914        1,
33915        "[69]",
33916        [, , , , , , , , , [-1]],
33917        [, , , , , , , , , [-1]],
33918        ,
33919        ,
33920        [, , , , , , , , , [-1]],
33921      ],
33922      CX: [
33923        ,
33924        [
33925          ,
33926          ,
33927          "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",
33928          ,
33929          ,
33930          ,
33931          ,
33932          ,
33933          ,
33934          [6, 7, 8, 9, 10, 12],
33935        ],
33936        [
33937          ,
33938          ,
33939          "8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",
33940          ,
33941          ,
33942          ,
33943          "891641234",
33944          ,
33945          ,
33946          [9],
33947          [8],
33948        ],
33949        [
33950          ,
33951          ,
33952          "4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[016-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",
33953          ,
33954          ,
33955          ,
33956          "412345678",
33957          ,
33958          ,
33959          [9],
33960        ],
33961        [, , "180(?:0\\d{3}|2)\\d{3}", , , , "1800123456", , , [7, 10]],
33962        [, , "190[0-26]\\d{6}", , , , "1900123456", , , [10]],
33963        [
33964          ,
33965          ,
33966          "13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",
33967          ,
33968          ,
33969          ,
33970          "1300123456",
33971          ,
33972          ,
33973          [6, 8, 10, 12],
33974        ],
33975        [, , , , , , , , , [-1]],
33976        [
33977          ,
33978          ,
33979          "14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",
33980          ,
33981          ,
33982          ,
33983          "147101234",
33984          ,
33985          ,
33986          [9],
33987        ],
33988        "CX",
33989        61,
33990        "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011",
33991        "0",
33992        ,
33993        ,
33994        "([59]\\d{7})$|0",
33995        "8$1",
33996        "0011",
33997        ,
33998        ,
33999        ,
34000        [, , , , , , , , , [-1]],
34001        ,
34002        ,
34003        [, , , , , , , , , [-1]],
34004        [, , , , , , , , , [-1]],
34005        ,
34006        ,
34007        [, , , , , , , , , [-1]],
34008      ],
34009      CY: [
34010        ,
34011        [, , "(?:[279]\\d|[58]0)\\d{6}", , , , , , , [8]],
34012        [, , "2[2-6]\\d{6}", , , , "22345678"],
34013        [, , "9(?:10|[4-79]\\d)\\d{5}", , , , "96123456"],
34014        [, , "800\\d{5}", , , , "80001234"],
34015        [, , "90[09]\\d{5}", , , , "90012345"],
34016        [, , "80[1-9]\\d{5}", , , , "80112345"],
34017        [, , "700\\d{5}", , , , "70012345"],
34018        [, , , , , , , , , [-1]],
34019        "CY",
34020        357,
34021        "00",
34022        ,
34023        ,
34024        ,
34025        ,
34026        ,
34027        ,
34028        ,
34029        [[, "(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]],
34030        ,
34031        [, , , , , , , , , [-1]],
34032        ,
34033        ,
34034        [, , , , , , , , , [-1]],
34035        [, , "(?:50|77)\\d{6}", , , , "77123456"],
34036        ,
34037        ,
34038        [, , , , , , , , , [-1]],
34039      ],
34040      CZ: [
34041        ,
34042        [, , "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", , , , , , , [9, 10, 11, 12]],
34043        [
34044          ,
34045          ,
34046          "(?:2\\d|3[1257-9]|4[16-9]|5[13-9])\\d{7}",
34047          ,
34048          ,
34049          ,
34050          "212345678",
34051          ,
34052          ,
34053          [9],
34054        ],
34055        [
34056          ,
34057          ,
34058          "(?:60[1-8]|7(?:0[2-5]|[2379]\\d))\\d{6}",
34059          ,
34060          ,
34061          ,
34062          "601123456",
34063          ,
34064          ,
34065          [9],
34066        ],
34067        [, , "800\\d{6}", , , , "800123456", , , [9]],
34068        [, , "9(?:0[05689]|76)\\d{6}", , , , "900123456", , , [9]],
34069        [, , "8[134]\\d{7}", , , , "811234567", , , [9]],
34070        [, , "70[01]\\d{6}", , , , "700123456", , , [9]],
34071        [, , "9[17]0\\d{6}", , , , "910123456", , , [9]],
34072        "CZ",
34073        420,
34074        "00",
34075        ,
34076        ,
34077        ,
34078        ,
34079        ,
34080        ,
34081        ,
34082        [
34083          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]|9[015-7]"]],
34084          [, "(\\d{2})(\\d{3})(\\d{3})(\\d{2}
34084)", "$1 $2 $3 $4", ["96"]],
34085          [, "(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]],
34086          [, "(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]],
34087        ],
34088        ,
34089        [, , , , , , , , , [-1]],
34090        ,
34091        ,
34092        [, , , , , , , , , [-1]],
34093        [, , "9(?:5\\d|7[2-4])\\d{6}", , , , "972123456", , , [9]],
34094        ,
34095        ,
34096        [, , "9(?:3\\d{9}|6\\d{7,10})", , , , "93123456789"],
34097      ],
34098      DE: [
34099        ,
34100        [
34101          ,
34102          ,
34103          "[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}",
34104          ,
34105          ,
34106          ,
34107          ,
34108          ,
34109          ,
34110          [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
34111          [2, 3],
34112        ],
34113        [
34114          ,
34115          ,
34116          "32\\d{9,11}|49[1-6]\\d{10}|322\\d{6}|49[0-7]\\d{3,9}|(?:[34]0|[68]9)\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{3,12}",
34117          ,
34118          ,
34119          ,
34120          "30123456",
34121          ,
34122          ,
34123          [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
34124          [2, 3, 4],
34125        ],
34126        [
34127          ,
34128          ,
34129          "15[0-25-9]\\d{8}|1(?:6[023]|7\\d)\\d{7,8}",
34130          ,
34131          ,
34132          ,
34133          "15123456789",
34134          ,
34135          ,
34136          [10, 11],
34137        ],
34138        [
34139          ,
34140          ,
34141          "800\\d{7,12}",
34142          ,
34143          ,
34144          ,
34145          "8001234567890",
34146          ,
34147          ,
34148          [10, 11, 12, 13, 14, 15],
34149        ],
34150        [
34151          ,
34152          ,
34153          "(?:137[7-9]|900(?:[135]|9\\d))\\d{6}",
34154          ,
34155          ,
34156          ,
34157          "9001234567",
34158          ,
34159          ,
34160          [10, 11],
34161        ],
34162        [
34163          ,
34164          ,
34165          "180\\d{5,11}|13(?:7[1-6]\\d\\d|8)\\d{4}",
34166          ,
34167          ,
34168          ,
34169          "18012345",
34170          ,
34171          ,
34172          [7, 8, 9, 10, 11, 12, 13, 14],
34173        ],
34174        [, , "700\\d{8}", , , , "70012345678", , , [11]],
34175        [, , , , , , , , , [-1]],
34176        "DE",
34177        49,
34178        "00",
34179        "0",
34180        ,
34181        ,
34182        "0",
34183        ,
34184        ,
34185        ,
34186        [
34187          [, "(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"],
34188          [
34189            ,
34190            "(\\d{3})(\\d{3,12})",
34191            "$1 $2",
34192            [
34193              "2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1",
34194              "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1",
34195            ],
34196            "0$1",
34197          ],
34198          [
34199            ,
34200            "(\\d{4})(\\d{2,11})",
34201            "$1 $2",
34202            [
34203              "[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]",
34204              "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]",
34205            ],
34206            "0$1",
34207          ],
34208          [, "(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"],
34209          [, "(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"],
34210          [, "(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"],
34211          [, "(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"],
34212          [, "(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"],
34213          [, "(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"],
34214          [, "(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"],
34215          [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"],
34216          [, "(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"],
34217          [, "(\\d{5})(\\d{6})", "$1 $2", ["15[0568]"], "0$1"],
34218          [, "(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"],
34219          [, "(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"],
34220          [
34221            ,
34222            "(\\d{3})(\\d{2})(\\d{7,8})",
34223            "$1 $2 $3",
34224            ["1(?:6[023]|7)"],
34225            "0$1",
34226          ],
34227          [, "(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"],
34228          [, "(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"],
34229        ],
34230        ,
34231        [
34232          ,
34233          ,
34234          "16(?:4\\d{1,10}|[89]\\d{1,11})",
34235          ,
34236          ,
34237          ,
34238          "16412345",
34239          ,
34240          ,
34241          [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
34242        ],
34243        ,
34244        ,
34245        [, , , , , , , , , [-1]],
34246        [
34247          ,
34248          ,
34249          "18(?:1\\d{5,11}|[2-9]\\d{8})",
34250          ,
34251          ,
34252          ,
34253          "18500123456",
34254          ,
34255          ,
34256          [8, 9, 10, 11, 12, 13, 14],
34257        ],
34258        ,
34259        ,
34260        [
34261          ,
34262          ,
34263          "1(?:6(?:013|255|399)|7(?:(?:[015]1|[69]3)3|[2-4]55|[78]99))\\d{7,8}|15(?:(?:[03-68]00|113)\\d|2\\d55|7\\d99|9\\d33)\\d{7}",
34264          ,
34265          ,
34266          ,
34267          "177991234567",
34268          ,
34269          ,
34270          [12, 13],
34271        ],
34272      ],
34273      DJ: [
34274        ,
34275        [, , "(?:2\\d|77)\\d{6}", , , , , , , [8]],
34276        [, , "2(?:1[2-5]|7[45])\\d{5}", , , , "21360003"],
34277        [, , "77\\d{6}", , , , "77831001"],
34278        [, , , , , , , , , [-1]],
34279        [, , , , , , , , , [-1]],
34280        [, , , , , , , , , [-1]],
34281        [, , , , , , , , , [-1]],
34282        [, , , , , , , , , [-1]],
34283        "DJ",
34284        253,
34285        "00",
34286        ,
34287        ,
34288        ,
34289        ,
34290        ,
34291        ,
34292        ,
34293        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[27]"]]],
34294        ,
34295        [, , , , , , , , , [-1]],
34296        ,
34297        ,
34298        [, , , , , , , , , [-1]],
34299        [, , , , , , , , , [-1]],
34300        ,
34301        ,
34302        [, , , , , , , , , [-1]],
34303      ],
34304      DK: [
34305        ,
34306        [, , "[2-9]\\d{7}", , , , , , , [8]],
34307        [, , "(?:[2-7]\\d|8[126-9]|9[1-46-9])\\d{6}", , , , "32123456"],
34308        [, , "(?:[2-7]\\d|8[126-9]|9[1-46-9])\\d{6}", , , , "32123456"],
34309        [, , "80\\d{6}", , , , "80123456"],
34310        [, , "90\\d{6}", , , , "90123456"],
34311        [, , , , , , , , , [-1]],
34312        [, , , , , , , , , [-1]],
34313        [, , , , , , , , , [-1]],
34314        "DK",
34315        45,
34316        "00",
34317        ,
34318        ,
34319        ,
34320        ,
34321        ,
34322        ,
34323        1,
34324        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-9]"]]],
34325        ,
34326        [, , , , , , , , , [-1]],
34327        ,
34328        ,
34329        [, , , , , , , , , [-1]],
34330        [, , , , , , , , , [-1]],
34331        ,
34332        ,
34333        [, , , , , , , , , [-1]],
34334      ],
34335      DM: [
34336        ,
34337        [, , "(?:[58]\\d\\d|767|900)\\d{7}", , , , , , , [10], [7]],
34338        [
34339          ,
34340          ,
34341          "767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}",
34342          ,
34343          ,
34344          ,
34345          "7674201234",
34346          ,
34347          ,
34348          ,
34349          [7],
34350        ],
34351        [
34352          ,
34353          ,
34354          "767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-8]|70[1-6])\\d{4}",
34355          ,
34356          ,
34357          ,
34358          "7672251234",
34359          ,
34360          ,
34361          ,
34362          [7],
34363        ],
34364        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
34365        [, , "900[2-9]\\d{6}", , , , "9002123456"],
34366        [, , , , , , , , , [-1]],
34367        [
34368          ,
34369          ,
34370          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
34371          ,
34372          ,
34373          ,
34374          "5002345678",
34375        ],
34376        [, , , , , , , , , [-1]],
34377        "DM",
34378        1,
34379        "011",
34380        "1",
34381        ,
34382        ,
34383        "([2-7]\\d{6})$|1",
34384        "767$1",
34385        ,
34386        ,
34387        ,
34388        ,
34389        [, , , , , , , , , [-1]],
34390        ,
34391        "767",
34392        [, , , , , , , , , [-1]],
34393        [, , , , , , , , , [-1]],
34394        ,
34395        ,
34396        [, , , , , , , , , [-1]],
34397      ],
34398      DO: [
34399        ,
34400        [, , "(?:[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
34401        [
34402          ,
34403          ,
34404          "8(?:[04]9[2-9]\\d\\d|29(?:2(?:[0-59]\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\d|4[7-9])|[45]\\d\\d|6(?:[0-27-9]\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\d|4[1-35689]|5[1-4689]|6[1-
3440457-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\\d{4}",
34405          ,
34406          ,
34407          ,
34408          "8092345678",
34409          ,
34410          ,
34411          ,
34412          [7],
34413        ],
34414        [, , "8[024]9[2-9]\\d{6}", , , , "8092345678", , , , [7]],
34415        [
34416          ,
34417          ,
34418          "8(?:00(?:14|[2-9]\\d)|(?:33|44|55|66|77|88)[2-9]\\d)\\d{5}",
34419          ,
34420          ,
34421          ,
34422          "8002123456",
34423        ],
34424        [, , "900[2-9]\\d{6}", , , , "9002123456"],
34425        [, , , , , , , , , [-1]],
34426        [
34427          ,
34428          ,
34429          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
34430          ,
34431          ,
34432          ,
34433          "5002345678",
34434        ],
34435        [, , , , , , , , , [-1]],
34436        "DO",
34437        1,
34438        "011",
34439        "1",
34440        ,
34441        ,
34442        "1",
34443        ,
34444        ,
34445        ,
34446        ,
34447        ,
34448        [, , , , , , , , , [-1]],
34449        ,
34450        "8001|8[024]9",
34451        [, , , , , , , , , [-1]],
34452        [, , , , , , , , , [-1]],
34453        ,
34454        ,
34455        [, , , , , , , , , [-1]],
34456      ],
34457      DZ: [
34458        ,
34459        [, , "(?:[1-4]|[5-79]\\d|80)\\d{7}", , , , , , , [8, 9]],
34460        [
34461          ,
34462          ,
34463          "9619\\d{5}|(?:1\\d|2[013-79]|3[0-8]|4[013-689])\\d{6}",
34464          ,
34465          ,
34466          ,
34467          "12345678",
34468        ],
34469        [
34470          ,
34471          ,
34472          "(?:5(?:4[0-29]|5\\d|6[0-2])|6(?:[569]\\d|7[0-6])|7[7-9]\\d)\\d{6}",
34473          ,
34474          ,
34475          ,
34476          "551234567",
34477          ,
34478          ,
34479          [9],
34480        ],
34481        [, , "800\\d{6}", , , , "800123456", , , [9]],
34482        [, , "80[3-689]1\\d{5}", , , , "808123456", , , [9]],
34483        [, , "80[12]1\\d{5}", , , , "801123456", , , [9]],
34484        [, , , , , , , , , [-1]],
34485        [, , "98[23]\\d{6}", , , , "983123456", , , [9]],
34486        "DZ",
34487        213,
34488        "00",
34489        "0",
34490        ,
34491        ,
34492        "0",
34493        ,
34494        ,
34495        ,
34496        [
34497          [
34498            ,
34499            "(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
34500            "$1 $2 $3 $4",
34501            ["[1-4]"],
34502            "0$1",
34503          ],
34504          [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["9"], "0$1"],
34505          [
34506            ,
34507            "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
34508            "$1 $2 $3 $4",
34509            ["[5-8]"],
34510            "0$1",
34511          ],
34512        ],
34513        ,
34514        [, , , , , , , , , [-1]],
34515        ,
34516        ,
34517        [, , , , , , , , , [-1]],
34518        [, , , , , , , , , [-1]],
34519        ,
34520        ,
34521        [, , , , , , , , , [-1]],
34522      ],
34523      EC: [
34524        ,
34525        [
34526          ,
34527          ,
34528          "1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}",
34529          ,
34530          ,
34531          ,
34532          ,
34533          ,
34534          ,
34535          [8, 9, 10, 11],
34536          [7],
34537        ],
34538        [, , "[2-7][2-7]\\d{6}", , , , "22123456", , , [8], [7]],
34539        [
34540          ,
34541          ,
34542          "964[0-2]\\d{5}|9(?:39|[57][89]|6[0-36-9]|[89]\\d)\\d{6}",
34543          ,
34544          ,
34545          ,
34546          "991234567",
34547          ,
34548          ,
34549          [9],
34550        ],
34551        [, , "1800\\d{7}|1[78]00\\d{6}", , , , "18001234567", , , [10, 11]],
34552        [, , , , , , , , , [-1]],
34553        [, , , , , , , , , [-1]],
34554        [, , , , , , , , , [-1]],
34555        [, , "[2-7]890\\d{4}", , , , "28901234", , , [8]],
34556        "EC",
34557        593,
34558        "00",
34559        "0",
34560        ,
34561        ,
34562        "0",
34563        ,
34564        ,
34565        ,
34566        [
34567          [, "(\\d{3})(\\d{4})", "$1-$2", ["[2-7]"]],
34568          [, "(\\d)(\\d{3})(\\d{4})", "$1 $2-$3", ["[2-7]"], "(0$1)"],
34569          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"],
34570          [, "(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]],
34571        ],
34572        [
34573          [, "(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-7]"]],
34574          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"],
34575          [, "(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]],
34576        ],
34577        [, , , , , , , , , [-1]],
34578        ,
34579        ,
34580        [, , , , , , , , , [-1]],
34581        [, , , , , , , , , [-1]],
34582        ,
34583        ,
34584        [, , , , , , , , , [-1]],
34585      ],
34586      EE: [
34587        ,
34588        [
34589          ,
34590          ,
34591          "8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}",
34592          ,
34593          ,
34594          ,
34595          ,
34596          ,
34597          ,
34598          [7, 8, 10],
34599        ],
34600        [
34601          ,
34602          ,
34603          "(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}",
34604          ,
34605          ,
34606          ,
34607          "3212345",
34608          ,
34609          ,
34610          [7],
34611        ],
34612        [
34613          ,
34614          ,
34615          "(?:5\\d{5}|8(?:1(?:0(?:000|[3-9]\\d\\d)|(?:1(?:0[236]|1\\d)|(?:2[0-59]|[3-79]\\d)\\d)\\d)|2(?:0(?:000|(?:19|[2-7]\\d)\\d)|(?:(?:[124-6]\\d|3[5-9])\\d|7(?:[
346150-3679]\\d|8[13-9])|8(?:[2-6]\\d|7[01]))\\d)|[349]\\d{4}))\\d\\d|5(?:(?:[02]\\d|5[0-478])\\d|1(?:[0-8]\\d|95)|6(?:4[0-4]|5[1-589]))\\d{3}",
34616          ,
34617          ,
34618          ,
34619          "51234567",
34620          ,
34621          ,
34622          [7, 8],
34623        ],
34624        [, , "800(?:(?:0\\d\\d|1)\\d|[2-9])\\d{3}", , , , "80012345"],
34625        [, , "(?:40\\d\\d|900)\\d{4}", , , , "9001234", , , [7, 8]],
34626        [, , , , , , , , , [-1]],
34627        [, , "70[0-2]\\d{5}", , , , "70012345", , , [8]],
34628        [, , , , , , , , , [-1]],
34629        "EE",
34630        372,
34631        "00",
34632        ,
34633        ,
34634        ,
34635        ,
34636        ,
34637        ,
34638        ,
34639        [
34640          [
34641            ,
34642            "(\\d{3})(\\d{4})",
34643            "$1 $2",
34644            [
34645              "[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88",
34646              "[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88",
34647            ],
34648          ],
34649          [
34650            ,
34651            "(\\d{4})(\\d{3,4})",
34652            "$1 $2",
34653            ["[45]|8(?:00|[1-49])", "[45]|8(?:00[1-9]|[1-49])"],
34654          ],
34655          [, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["7"]],
34656          [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]],
34657        ],
34658        ,
34659        [, , , , , , , , , [-1]],
34660        ,
34661        ,
34662        [, , "800[2-9]\\d{3}", , , , , , , [7]],
34663        [, , , , , , , , , [-1]],
34664        ,
34665        ,
34666        [, , , , , , , , , [-1]],
34667      ],
34668      EG: [
34669        ,
34670        [
34671          ,
34672          ,
34673          "[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",
34674          ,
34675          ,
34676          ,
34677          ,
34678          ,
34679          ,
34680          [8, 9, 10],
34681          [6, 7],
34682        ],
34683        [
34684          ,
34685          ,
34686          "13[23]\\d{6}|(?:15|57)\\d{6,7}|(?:2[2-4]|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\\d{7}",
34687          ,
34688          ,
34689          ,
34690          "234567890",
34691          ,
34692          ,
34693          [8, 9],
34694          [6, 7],
34695        ],
34696        [, , "1[0-25]\\d{8}", , , , "1001234567", , , [10]],
34697        [, , "800\\d{7}", , , , "8001234567", , , [10]],
34698        [, , "900\\d{7}", , , , "9001234567", , , [10]],
34699        [, , , , , , , , , [-1]],
34700        [, , , , , , , , , [-1]],
34701        [, , , , , , , , , [-1]],
34702        "EG",
34703        20,
34704        "00",
34705        "0",
34706        ,
34707        ,
34708        "0",
34709        ,
34710        ,
34711        ,
34712        [
34713          [, "(\\d)(\\d{7,8})", "$1 $2", ["[23]"], "0$1"],
34714          [
34715            ,
34716            "(\\d{2})(\\d{6,7})",
34717            "$1 $2",
34718            ["1[35]|[4-6]|8[2468]|9[235-7]"],
34719            "0$1",
34720          ],
34721          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[189]"], "0$1"],
34722        ],
34723        ,
34724        [, , , , , , , , , [-1]],
34725        ,
34726        ,
34727        [, , , , , , , , , [-1]],
34728        [, , , , , , , , , [-1]],
34729        ,
34730        ,
34731        [, , , , , , , , , [-1]],
34732      ],
34733      EH: [
34734        ,
34735        [, , "[5-8]\\d{8}", , , , , , , [9]],
34736        [, , "528[89]\\d{5}", , , , "528812345"],
34737        [
34738          ,
34739          ,
34740          "(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[017]\\d|2[0-2]|6[0-8]|8[0-3]))\\d{6}",
34741          ,
34742          ,
34743          ,
34744          "650123456",
34745        ],
34746        [, , "80\\d{7}", , , , "801234567"],
34747        [, , "89\\d{7}", , , , "891234567"],
34748        [, , , , , , , , , [-1]],
34749        [, , , , , , , , , [-1]],
34750        [, , "592(?:4[0-2]|93)\\d{4}", , , , "592401234"],
34751        "EH",
34752        212,
34753        "00",
34754        "0",
34755        ,
34756        ,
34757        "0",
34758        ,
34759        ,
34760        ,
34761        ,
34762        ,
34763        [, , , , , , , , , [-1]],
34764        ,
34765        "528[89]",
34766        [, , , , , , , , , [-1]],
34767        [, , , , , , , , , [-1]],
34768        ,
34769        ,
34770        [, , , , , , , , , [-1]],
34771      ],
34772      ER: [
34773        ,
34774        [, , "[178]\\d{6}", , , , , , , [7], [6]],
34775        [
34776          ,
34777          ,
34778          "(?:1(?:1[12568]|[24]0|55|6[146])|8\\d\\d)\\d{4}",
34779          ,
34780          ,
34781          ,
34782          "8370362",
34783          ,
34784          ,
34785          ,
34786          [6],
34787        ],
34788        [, , "(?:17[1-3]|7\\d\\d)\\d{4}", , , , "7123456"],
34789        [, , , , , , , , , [-1]],
34790        [, , , , , , , , , [-1]],
34791        [, , , , , , , , , [-1]],
34792        [, , , , , , , , , [-1]],
34793        [, , , , , , , , , [-1]],
34794        "ER",
34795        291,
34796        "00",
34797        "0",
34798        ,
34799        ,
34800        "0",
34801        ,
34802        ,
34803        ,
34804        [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]],
34805        ,
34806        [, , , , , , , , , [-1]],
34807        ,
34808        ,
34809        [, , , , , , , , , [-1]],
34810        [, , , , , , , , , [-1]],
34811        ,
34812        ,
34813        [, , , , , , , , , [-1]],
34814      ],
34815      ES: [
34816        ,
34817        [, , "[5-9]\\d{8}", , , , , , , [9]],
34818        [
34819          ,
34820          ,
34821          "96906(?:0[0-8]|1[1-9]|[2-9]\\d)\\d\\d|9(?:69(?:0[0-57-9]|[1-9]\\d)|73(?:[0-8]\\d|9[1-9]))\\d{4}|(?:8(?:[1356]\\d|[28][0-8]|[47][1-9])|9(?:[135]\\d|[268][0-8]|4[1-9]|7[124-9]))\\d{6}",
34822          ,
34823          ,
34824          ,
34825          "810123456",
34826        ],
34827        [
34828          ,
34829          ,
34830          "(?:590[16]00\\d|9(?:6906(?:09|10)|7390\\d\\d))\\d\\d|(?:6\\d|7[1-48])\\d{7}",
34831          ,
34832          ,
34833          ,
34834          "612345678",
34835        ],
34836        [, , "[89]00\\d{6}", , , , "800123456"],
34837        [, , "80[367]\\d{6}", , , , "803123456"],
34838        [, , "90[12]\\d{6}", , , , "901123456"],
34839        [, , "70\\d{7}", , , , "701234567"],
34840        [, , , , , , , , , [-1]],
34841        "ES",
34842        34,
34843        "00",
34844        ,
34845        ,
34846        ,
34847        ,
34848        ,
34849        ,
34850        ,
34851        [
34852          [, "(\\d{4})", "$1", ["905"]],
34853          [, "(\\d{6})", "$1", ["[79]9"]],
34854          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]],
34855          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-9]"]],
34856        ],
34857        [
34858          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]],
34859          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-9]"]],
34860        ],
34861        [, , , , , , , , , [-1]],
34862        ,
34863        ,
34864        [, , , , , , , , , [-1]],
34865        [, , "51\\d{7}", , , , "511234567"],
34866        ,
34867        ,
34868        [, , , , , , , , , [-1]],
34869      ],
34870      ET: [
34871        ,
34872        [, , "(?:11|[2-579]\\d)\\d{7}", , , , , , , [9], [7]],
34873        [
34874          ,
34875          ,
34876          "11667[01]\\d{3}|(?:11(?:1(?:1[124]|2[2-7]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01
34876]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8])|5(?:1[578]|44|5[0-4])|6(?:1[578]|2[69]|39|4[5-7]|5[0-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}",
34877          ,
34878          ,
34879          ,
34880          "111112345",
34881          ,
34882          ,
34883          ,
34884          [7],
34885        ],
34886        [
34887          ,
34888          ,
34889          "700[1-9]\\d{5}|(?:7(?:0[1-9]|1[0-8]|22|77|86|99)|9\\d\\d)\\d{6}",
34890          ,
34891          ,
34892          ,
34893          "911234567",
34894        ],
34895        [, , , , , , , , , [-1]],
34896        [, , , , , , , , , [-1]],
34897        [, , , , , , , , , [-1]],
34898        [, , , , , , , , , [-1]],
34899        [, , , , , , , , , [-1]],
34900        "ET",
34901        251,
34902        "00",
34903        "0",
34904        ,
34905        ,
34906        "0",
34907        ,
34908        ,
34909        ,
34910        [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-579]"], "0$1"]],
34911        ,
34912        [, , , , , , , , , [-1]],
34913        ,
34914        ,
34915        [, , , , , , , , , [-1]],
34916        [, , , , , , , , , [-1]],
34917        ,
34918        ,
34919        [, , , , , , , , , [-1]],
34920      ],
34921      FI: [
34922        ,
34923        [
34924          ,
34925          ,
34926          "[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}",
34927          ,
34928          ,
34929          ,
34930          ,
34931          ,
34932          ,
34933          [5, 6, 7, 8, 9, 10, 11, 12],
34934        ],
34935        [
34936          ,
34937          ,
34938          "(?:1[3-79][1-8]|[235689][1-8]\\d)\\d{2,6}",
34939          ,
34940          ,
34941          ,
34942          "131234567",
34943          ,
34944          ,
34945          [5, 6, 7, 8, 9],
34946        ],
34947        [
34948          ,
34949          ,
34950          "4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}",
34951          ,
34952          ,
34953          ,
34954          "412345678",
34955          ,
34956          ,
34957          [6, 7, 8, 9, 10],
34958        ],
34959        [, , "800\\d{4,6}", , , , "800123456", , , [7, 8, 9]],
34960        [, , "[67]00\\d{5,6}", , , , "600123456", , , [8, 9]],
34961        [, , , , , , , , , [-1]],
34962        [, , , , , , , , , [-1]],
34963        [, , , , , , , , , [-1]],
34964        "FI",
34965        358,
34966        "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))",
34967        "0",
34968        ,
34969        ,
34970        "0",
34971        ,
34972        "00",
34973        ,
34974        [
34975          [, "(\\d{5})", "$1", ["75[12]"], "0$1"],
34976          [
34977            ,
34978            "(\\d)(\\d{4,9})",
34979            "$1 $2",
34980            ["[2568][1-8]|3(?:0[1-9]|[1-9])|9"],
34981            "0$1",
34982          ],
34983          [, "(\\d{6})", "$1", ["11"]],
34984          [, "(\\d{3})(\\d{3,7})", "$1 $2", ["[12]00|[368]|70[07-9]"], "0$1"],
34985          [, "(\\d{2})(\\d{4,8})", "$1 $2", ["[1245]|7[135]"], "0$1"],
34986          [, "(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"],
34987        ],
34988        [
34989          [
34990            ,
34991            "(\\d)(\\d{4,9})",
34992            "$1 $2",
34993            ["[2568][1-8]|3(?:0[1-9]|[1-9])|9"],
34994            "0$1",
34995          ],
34996          [, "(\\d{3})(\\d{3,7})", "$1 $2", ["[12]00|[368]|70[07-9]"], "0$1"],
34997          [, "(\\d{2})(\\d{4,8})", "$1 $2", ["[1245]|7[135]"], "0$1"],
34998          [, "(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"],
34999        ],
35000        [, , , , , , , , , [-1]],
35001        1,
35002        "1[03-79]|[2-9]",
35003        [
35004          ,
35005          ,
35006          "20(?:2[023]|9[89])\\d{1,6}|(?:60[12]\\d|7099)\\d{4,5}|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:[1-3]00|7(?:0[1-5]\\d\\d|5[03-9]))\\d{3,7}",
35007        ],
35008        [
35009          ,
35010          ,
35011          "20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}",
35012          ,
35013          ,
35014          ,
35015          "10112345",
35016        ],
35017        ,
35018        ,
35019        [, , , , , , , , , [-1]],
35020      ],
35021      FJ: [
35022        ,
35023        [, , "45\\d{5}|(?:0800\\d|[235-9])\\d{6}", , , , , , , [7, 11]],
35024        [
35025          ,
35026          ,
35027          "603\\d{4}|(?:3[0-5]|6[25-7]|8[58])\\d{5}",
35028          ,
35029          ,
35030          ,
35031          "3212345",
35032          ,
35033          ,
35034          [7],
35035        ],
35036        [
35037          ,
35038          ,
35039          "(?:[279]\\d|45|5[01568]|8[034679])\\d{5}",
35040          ,
35041          ,
35042          ,
35043          "7012345",
35044          ,
35045          ,
35046          [7],
35047        ],
35048        [, , "0800\\d{7}", , , , "08001234567", , , [11]],
35049        [, , , , , , , , , [-1]],
35050        [, , , , , , , , , [-1]],
35051        [, , , , , , , , , [-1]],
35052        [, , , , , , , , , [-1]],
35053        "FJ",
35054        679,
35055        "0(?:0|52)",
35056        ,
35057        ,
35058        ,
35059        ,
35060        ,
35061        "00",
35062        ,
35063        [
35064          [, "(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|45"]],
35065          [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]],
35066        ],
35067        ,
35068        [, , , , , , , , , [-1]],
35069        ,
35070        ,
35071        [, , , , , , , , , [-1]],
35072        [, , , , , , , , , [-1]],
35073        ,
35074        ,
35075        [, , , , , , , , , [-1]],
35076      ],
35077      FK: [
35078        ,
35079        [, , "[2-7]\\d{4}", , , , , , , [5]],
35080        [, , "[2-47]\\d{4}", , , , "31234"],
35081        [, , "[56]\\d{4}", , , , "51234"],
35082        [, , , , , , , , , [-1]],
35083        [, , , , , , , , , [-1]],
35084        [, , , , , , , , , [-1]],
35085        [, , , , , , , , , [-1]],
35086        [, , , , , , , , , [-1]],
35087        "FK",
35088        500,
35089        "00",
35090        ,
35091        ,
35092        ,
35093        ,
35094        ,
35095        ,
35096        ,
35097        ,
35098        ,
35099        [, , , , , , , , , [-1]],
35100        ,
35101        ,
35102        [, , , , , , , , , [-1]],
35103        [, , , , , , , , , [-1]],
35104        ,
35105        ,
35106        [, , , , , , , , , [-1]],
35107      ],
35108      FM: [
35109        ,
35110        [, , "(?:[39]\\d\\d|820)\\d{4}", , , , , , , [7]],
35111        [
35112          ,
35113          ,
vendor: 6,023 bytes, lines 35114-35320
35114          "31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-6]\\d)\\d)\\d{3}",
35115          ,
35116          ,
35117          ,
35118          "3201234",
35119        ],
35120        [
35121          ,
35122          ,
35123          "31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-7]\\d)\\d)\\d{3}",
35124          ,
35125          ,
35126          ,
35127          "3501234",
35128        ],
35129        [, , , , , , , , , [-1]],
35130        [, , , , , , , , , [-1]],
35131        [, , , , , , , , , [-1]],
35132        [, , , , , , , , , [-1]],
35133        [, , , , , , , , , [-1]],
35134        "FM",
35135        691,
35136        "00",
35137        ,
35138        ,
35139        ,
35140        ,
35141        ,
35142        ,
35143        ,
35144        [[, "(\\d{3})(\\d{4})", "$1 $2", ["[389]"]]],
35145        ,
35146        [, , , , , , , , , [-1]],
35147        ,
35148        ,
35149        [, , , , , , , , , [-1]],
35150        [, , , , , , , , , [-1]],
35151        ,
35152        ,
35153        [, , , , , , , , , [-1]],
35154      ],
35155      FO: [
35156        ,
35157        [, , "[2-9]\\d{5}", , , , , , , [6]],
35158        [, , "(?:20|[34]\\d|8[19])\\d{4}", , , , "201234"],
35159        [, , "(?:[27][1-9]|5\\d|9[16])\\d{4}", , , , "211234"],
35160        [, , "80[257-9]\\d{3}", , , , "802123"],
35161        [, , "90(?:[13-5][15-7]|2[125-7]|9\\d)\\d\\d", , , , "901123"],
35162        [, , , , , , , , , [-1]],
35163        [, , , , , , , , , [-1]],
35164        [, , "(?:6[0-36]|88)\\d{4}", , , , "601234"],
35165        "FO",
35166        298,
35167        "00",
35168        ,
35169        ,
35170        ,
35171        "(10(?:01|[12]0|88))",
35172        ,
35173        ,
35174        ,
35175        [[, "(\\d{6})", "$1", ["[2-9]"], , "$CC $1"]],
35176        ,
35177        [, , , , , , , , , [-1]],
35178        ,
35179        ,
35180        [, , , , , , , , , [-1]],
35181        [, , , , , , , , , [-1]],
35182        ,
35183        ,
35184        [, , , , , , , , , [-1]],
35185      ],
35186      FR: [
35187        ,
35188        [, , "[1-9]\\d{8}", , , , , , , [9]],
35189        [, , "(?:[1-35]\\d|4[1-9])\\d{7}", , , , "123456789"],
35190        [
35191          ,
35192          ,
35193          "(?:6(?:[0-24-8]\\d|3[0-8]|9[589])|7[3-9]\\d)\\d{6}",
35194          ,
35195          ,
35196          ,
35197          "612345678",
35198        ],
35199        [, , "80[0-5]\\d{6}", , , , "801234567"],
35200        [
35201          ,
35202          ,
35203          "836(?:0[0-36-9]|[1-9]\\d)\\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\\d|8[0-35-9])\\d{6}",
35204          ,
35205          ,
35206          ,
35207          "891123456",
35208        ],
35209        [, , "8(?:1[01]|2[0156]|4[02]|84)\\d{6}", , , , "884012345"],
35210        [, , , , , , , , , [-1]],
35211        [, , "9\\d{8}", , , , "912345678"],
35212        "FR",
35213        33,
35214        "00",
35215        "0",
35216        ,
35217        ,
35218        "0",
35219        ,
35220        ,
35221        ,
35222        [
35223          [, "(\\d{4})", "$1", ["10"]],
35224          [, "(\\d{3})(\\d{3})", "$1 $2", ["1"]],
35225          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"],
35226          [
35227            ,
35228            "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
35229            "$1 $2 $3 $4 $5",
35230            ["[1-79]"],
35231            "0$1",
35232          ],
35233        ],
35234        [
35235          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"],
35236          [
35237            ,
35238            "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
35239            "$1 $2 $3 $4 $5",
35240            ["[1-79]"],
35241            "0$1",
35242          ],
35243        ],
35244        [, , , , , , , , , [-1]],
35245        ,
35246        ,
35247        [, , , , , , , , , [-1]],
35248        [, , "80[6-9]\\d{6}", , , , "806123456"],
35249        ,
35250        ,
35251        [, , , , , , , , , [-1]],
35252      ],
35253      GA: [
35254        ,
35255        [, , "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", , , , , , , [7, 8]],
35256        [, , "[01]1\\d{6}", , , , "01441234", , , [8]],
35257        [
35258          ,
35259          ,
35260          "(?:(?:0[2-7]|7[467])\\d|6(?:0[0-4]|10|[256]\\d))\\d{5}|[2-7]\\d{6}",
35261          ,
35262          ,
35263          ,
35264          "06031234",
35265        ],
35266        [, , , , , , , , , [-1]],
35267        [, , , , , , , , , [-1]],
35268        [, , , , , , , , , [-1]],
35269        [, , , , , , , , , [-1]],
35270        [, , , , , , , , , [-1]],
35271        "GA",
35272        241,
35273        "00",
35274        ,
35275        ,
35276        ,
35277        "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})",
35278        "$1",
35279        ,
35280        ,
35281        [
35282          [, "(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"],
35283          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]],
35284          [
35285            ,
35286            "(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
35287            "$1 $2 $3 $4",
35288            ["11|[67]"],
35289            "0$1",
35290          ],
35291        ],
35292        ,
35293        [, , , , , , , , , [-1]],
35294        ,
35295        ,
35296        [, , , , , , , , , [-1]],
35297        [, , , , , , , , , [-1]],
35298        ,
35299        ,
35300        [, , , , , , , , , [-1]],
35301      ],
35302      GB: [
35303        ,
35304        [
35305          ,
35306          ,
35307          "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",
35308          ,
35309          ,
35310          ,
35311          ,
35312          ,
35313          ,
35314          [7, 9, 10],
35315          [4, 5, 6, 8],
35316        ],
35317        [
35318          ,
35319          ,
35320          "(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0235])|4(?:[0-5]\\d\\d|69[7-9]|70[0-579])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|50))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-2]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])
35320))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}",
35321          ,
35322          ,
35323          ,
35324          "1212345678",
35325          ,
35326          ,
35327          [9, 10],
35328          [4, 5, 6, 7, 8],
35329        ],
35330        [
35331          ,
35332          ,
35333          "7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",
35334          ,
35335          ,
35336          ,
35337          "7400123456",
35338          ,
35339          ,
35340          [10],
35341        ],
35342        [, , "80[08]\\d{7}|800\\d{6}|8001111", , , , "8001234567"],
35343        [
35344          ,
35345          ,
35346          "(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",
35347          ,
35348          ,
35349          ,
35350          "9012345678",
35351          ,
35352          ,
35353          [7, 10],
35354        ],
35355        [, , , , , , , , , [-1]],
35356        [, , "70\\d{8}", , , , "7012345678", , , [10]],
35357        [, , "56\\d{8}", , , , "5612345678", , , [10]],
35358        "GB",
35359        44,
35360        "00",
35361        "0",
35362        " x",
35363        ,
35364        "0",
35365        ,
35366        ,
35367        ,
35368        [
35369          [
35370            ,
35371            "(\\d{3})(\\d{4})",
35372            "$1 $2",
35373            ["800", "8001", "80011", "800111", "8001111"],
35374            "0$1",
35375          ],
35376          [
35377            ,
35378            "(\\d{3})(\\d{2})(\\d{2})",
35379            "$1 $2 $3",
35380            ["845", "8454", "84546", "845464"],
35381            "0$1",
35382          ],
35383          [, "(\\d{3})(\\d{6})", "$1 $2", ["800"], "0$1"],
35384          [
35385            ,
35386            "(\\d{5})(\\d{4,5})",
35387            "$1 $2",
35388            [
35389              "1(?:38|5[23]|69|76|94)",
35390              "1(?:(?:38|69)7|5(?:24|39)|768|946)",
35391              "1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)",
35392            ],
35393            "0$1",
35394          ],
35395          [, "(\\d{4})(\\d{5,6})", "$1 $2", ["1(?:[2-69][02-9]|[78])"], "0$1"],
35396          [
35397            ,
35398            "(\\d{2})(\\d{4})(\\d{4})",
35399            "$1 $2 $3",
35400            ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"],
35401            "0$1",
35402          ],
35403          [, "(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"],
35404          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"],
35405        ],
35406        ,
35407        [
35408          ,
35409          ,
35410          "76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",
35411          ,
35412          ,
35413          ,
35414          "7640123456",
35415          ,
35416          ,
35417          [10],
35418        ],
35419        1,
35420        ,
35421        [, , , , , , , , , [-1]],
35422        [, , "(?:3[0347]|55)\\d{8}", , , , "5512345678", , , [10]],
35423        ,
35424        ,
35425        [, , , , , , , , , [-1]],
35426      ],
35427      GD: [
35428        ,
35429        [, , "(?:473|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
35430        [
35431          ,
35432          ,
35433          "473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|73|90)|63[68]|7(?:58|84)|800|938)\\d{4}",
35434          ,
35435          ,
35436          ,
35437          "4732691234",
35438          ,
35439          ,
35440          ,
35441          [7],
35442        ],
35443        [
35444          ,
35445          ,
35446          "473(?:4(?:0[2-79]|1[04-9]|2[0-5]|58)|5(?:2[01]|3[3-8])|901)\\d{4}",
35447          ,
35448          ,
35449          ,
35450          "4734031234",
35451          ,
35452          ,
35453          ,
35454          [7],
35455        ],
35456        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
35457        [, , "900[2-9]\\d{6}", , , , "9002123456"],
35458        [, , , , , , , , , [-1]],
35459        [
35460          ,
35461          ,
35462          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
35463          ,
35464          ,
35465          ,
35466          "5002345678",
35467        ],
35468        [, , , , , , , , , [-1]],
35469        "GD",
35470        1,
35471        "011",
35472        "1",
35473        ,
35474        ,
35475        "([2-9]\\d{6})$|1",
35476        "473$1",
35477        ,
35478        ,
35479        ,
35480        ,
35481        [, , , , , , , , , [-1]],
35482        ,
35483        "473",
35484        [, , , , , , , , , [-1]],
35485        [, , , , , , , , , [-1]],
35486        ,
35487        ,
35488        [, , , , , , , , , [-1]],
35489      ],
35490      GE: [
35491        ,
35492        [, , "(?:[3-57]\\d\\d|800)\\d{6}", , , , , , , [9], [6, 7]],
35493        [
35494          ,
35495          ,
35496          "(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{6}",
35497          ,
35498          ,
35499          ,
35500          "322123456",
35501          ,
35502          ,
35503          ,
35504          [6, 7],
35505        ],
35506        [
35507          ,
35508          ,
35509          "5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\\d|22252[0-4])\\d\\d|(?:5(?:00(?:0\\d|44|5[05]|77|88|99)|1(?:1(?:00|[124]\\d|3[01])|4\\d\\d)|(?:44|68)\\d\\d|5(?:[0157-9]\\d\\d|200)|7(?:[0147-9]\\d\\d|5(?:00|[57]5))|8(?:0(?:[01]\\d|2[0-4])|58[89]|8(?:55|88))|9(?:090|[1-35-9]\\d\\d))|790\\d\\d)\\d{4}|5(?:0(?:070|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|(?:40[04]|900)0|5222)[0-4]\\d{3}",
35510          ,
35511          ,
35512          ,
35513          "555123456",
35514        ],
35515        [, , "800\\d{6}", , , , "800123456"],
35516        [, , , , , , , , , [-1]],
35517        [, , , , , , , , , [-1]],
35518        [, , , , , , , , , [-1]],
35519        [, , "70[67]\\d{6}", , , , "706123456"],
35520        "GE",
35521        995,
35522        "00",
35523        "0",
35524        ,
35525        ,
35526        "0",
35527        ,
35528        ,
35529        ,
35530        [
35531          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"],
35532          [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"],
35533          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]],
35534          [
35535            ,
35536            "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
35537            "$1 $2 $3 $4",
35538            ["[348]"],
35539            "0$1",
35540          ],
35541        ],
35542        ,
35543        [, , , , , , , , , [-1]],
35544        ,
35545        ,
35546        [, , "70[67]\\d{6}"],
35547        [, , , , , , , , , [-1]],
35548        ,
35549        ,
35550        [, , , , , , , , , [-1]],
35551      ],
35552      GF: [
35553        ,
35554        [, , "[56]94\\d{6}|(?:80|9\\d)\\d{7}", , , , , , , [9]],
35555        [
35556          ,
35557          ,
35558          "594(?:[0239]\\d|[16][0-3]|4[03-9]|5[6-9]|80)\\d{4}",
35559          ,
35560          ,
35561          ,
35562          "594101234",
35563        ],
35564        [, , "694(?:[0-249]\\d|3[0-8])\\d{4}", , , , "694201234"],
35565        [, , "80[0-5]\\d{6}", , , , "800012345"],
35566        [, , , , , , , , , [-1]],
35567        [, , , , , , , , , [-1]],
35568        [, , , , , , , , , [-1]],
35569        [, , "9(?:(?:396|76\\d)\\d|476[0-2])\\d{4}", , , , "976012345"],
35570        "GF",
35571        594,
35572        "00",
35573        "0",
35574        ,
35575        ,
35576        "0",
35577        ,
35578        ,
35579        ,
35580        [
35581          [
35582            ,
35583            "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
35584            "$1 $2 $3 $4",
35585            ["[56]|9[47]"],
35586            "0$1",
35587          ],
35588          [
35589            ,
35590            "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
35591            "$1 $2 $3 $4",
35592            ["[89]"],
35593            "0$1",
35594          ],
35595        ],
35596        ,
35597        [, , , , , , , , , [-1]],
35598        ,
35599        ,
35600        [, , , , , , , , , [-1]],
35601        [, , , , , , , , , [-1]],
35602        ,
35603        ,
35604        [, , , , , , , , , [-1]],
35605      ],
35606      GG: [
35607        ,
35608        [
35609          ,
35610          ,
35611          "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",
35612          ,
35613          ,
35614          ,
35615          ,
35616          ,
35617          ,
35618          [7, 9, 10],
35619          [6],
35620        ],
35621        [, , "1481[25-9]\\d{5}", , , , "1481256789", , , [10], [6]],
35622        [, , "7(?:(?:781|839)\\d|911[17])\\d{5}", , , , "7781123456", , , [10]],
35623        [, , "80[08]\\d{7}|800\\d{6}|8001111", , , , "8001234567"],
35624        [
35625          ,
35626          ,
35627          "(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",
35628          ,
35629          ,
35630          ,
35631          "9012345678",
35632          ,
35633          ,
35634          [7, 10],
35635        ],
35636        [, , , , , , , , , [-1]],
35637        [, , "70\\d{8}", , , , "7012345678", , , [10]],
35638        [, , "56\\d{8}", , , , "5612345678", , , [10]],
35639        "GG",
35640        44,
35641        "00",
35642        "0",
35643        ,
35644        ,
35645        "([25-9]\\d{5})$|0",
35646        "1481$1",
35647        ,
35648        ,
35649        ,
35650        ,
35651        [
35652          ,
35653          ,
35654          "76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",
35655          ,
35656          ,
35657          ,
35658          "7640123456",
35659          ,
35660          ,
35661          [10],
35662        ],
35663        ,
35664        ,
35665        [, , , , , , , , , [-1]],
35666        [, , "(?:3[0347]|55)\\d{8}", , , , "5512345678", , , [10]],
35667        ,
35668        ,
35669        [, , , , , , , , , [-1]],
35670      ],
35671      GH: [
35672        ,
35673        [, , "(?:[235]\\d{3}|800)\\d{5}", , , , , , , [8, 9], [7]],
35674        [
35675          ,
35676          ,
35677          "3082[0-5]\\d{4}
35677|3(?:0(?:[237]\\d|8[01])|[167](?:2[0-6]|7\\d|80)|2(?:2[0-5]|7\\d|80)|3(?:2[0-3]|7\\d|80)|4(?:2[013-9]|3[01]|7\\d|80)|5(?:2[0-7]|7\\d|80)|8(?:2[0-2]|7\\d|80)|9(?:[28]0|7\\d))\\d{5}",
35678          ,
35679          ,
35680          ,
35681          "302345678",
35682          ,
35683          ,
35684          [9],
35685          [7],
35686        ],
35687        [
35688          ,
35689          ,
35690          "(?:2(?:[0346-9]\\d|5[67])|5(?:[03-7]\\d|9[1-9]))\\d{6}",
35691          ,
35692          ,
35693          ,
35694          "231234567",
35695          ,
35696          ,
35697          [9],
35698        ],
35699        [, , "800\\d{5}", , , , "80012345", , , [8]],
35700        [, , , , , , , , , [-1]],
35701        [, , , , , , , , , [-1]],
35702        [, , , , , , , , , [-1]],
35703        [, , , , , , , , , [-1]],
35704        "GH",
35705        233,
35706        "00",
35707        "0",
35708        ,
35709        ,
35710        "0",
35711        ,
35712        ,
35713        ,
35714        [
35715          [, "(\\d{3})(\\d{4})", "$1 $2", ["[237]|8[0-2]"]],
35716          [, "(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"],
35717          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[235]"], "0$1"],
35718        ],
35719        [
35720          [, "(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"],
35721          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[235]"], "0$1"],
35722        ],
35723        [, , , , , , , , , [-1]],
35724        ,
35725        ,
35726        [, , "800\\d{5}", , , , , , , [8]],
35727        [, , , , , , , , , [-1]],
35728        ,
35729        ,
35730        [, , , , , , , , , [-1]],
35731      ],
35732      GI: [
35733        ,
35734        [, , "(?:[25]\\d|60)\\d{6}", , , , , , , [8]],
35735        [
35736          ,
35737          ,
35738          "2190[0-2]\\d{3}|2(?:0(?:[02]\\d|3[01])|16[24-9]|2[2-5]\\d)\\d{4}",
35739          ,
35740          ,
35741          ,
35742          "20012345",
35743        ],
35744        [
35745          ,
35746          ,
35747          "5251[0-4]\\d{3}|(?:5(?:[146-8]\\d\\d|250)|60(?:1[01]|6\\d))\\d{4}",
35748          ,
35749          ,
35750          ,
35751          "57123456",
35752        ],
35753        [, , , , , , , , , [-1]],
35754        [, , , , , , , , , [-1]],
35755        [, , , , , , , , , [-1]],
35756        [, , , , , , , , , [-1]],
35757        [, , , , , , , , , [-1]],
35758        "GI",
35759        350,
35760        "00",
35761        ,
35762        ,
35763        ,
35764        ,
35765        ,
35766        ,
35767        ,
35768        [[, "(\\d{3})(\\d{5})", "$1 $2", ["2"]]],
35769        ,
35770        [, , , , , , , , , [-1]],
35771        ,
35772        ,
35773        [, , , , , , , , , [-1]],
35774        [, , , , , , , , , [-1]],
35775        ,
35776        ,
35777        [, , , , , , , , , [-1]],
35778      ],
35779      GL: [
35780        ,
35781        [, , "(?:19|[2-689]\\d|70)\\d{4}", , , , , , , [6]],
35782        [, , "(?:19|3[1-7]|6[14689]|70|8[14-79]|9\\d)\\d{4}", , , , "321000"],
35783        [, , "[245]\\d{5}", , , , "221234"],
35784        [, , "80\\d{4}", , , , "801234"],
35785        [, , , , , , , , , [-1]],
35786        [, , , , , , , , , [-1]],
35787        [, , , , , , , , , [-1]],
35788        [, , "3[89]\\d{4}", , , , "381234"],
35789        "GL",
35790        299,
35791        "00",
35792        ,
35793        ,
35794        ,
35795        ,
35796        ,
35797        ,
35798        ,
35799        [[, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]],
35800        ,
35801        [, , , , , , , , , [-1]],
35802        ,
35803        ,
35804        [, , , , , , , , , [-1]],
35805        [, , , , , , , , , [-1]],
35806        ,
35807        ,
35808        [, , , , , , , , , [-1]],
35809      ],
35810      GM: [
35811        ,
35812        [, , "[2-9]\\d{6}", , , , , , , [7]],
35813        [
35814          ,
35815          ,
35816          "(?:4(?:[23]\\d\\d|4(?:1[024679]|[6-9]\\d))|5(?:5(?:3\\d|4[0-7])|6[67]\\d|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}",
35817          ,
35818          ,
35819          ,
35820          "5661234",
35821        ],
35822        [, , "(?:[23679]\\d|5[0-489])\\d{5}", , , , "3012345"],
35823        [, , , , , , , , , [-1]],
35824        [, , , , , , , , , [-1]],
35825        [, , , , , , , , , [-1]],
35826        [, , , , , , , , , [-1]],
35827        [, , , , , , , , , [-1]],
35828        "GM",
35829        220,
35830        "00",
35831        ,
35832        ,
35833        ,
35834        ,
35835        ,
35836        ,
35837        ,
35838        [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]],
35839        ,
35840        [, , , , , , , , , [-1]],
35841        ,
35842        ,
35843        [, , , , , , , , , [-1]],
35844        [, , , , , , , , , [-1]],
35845        ,
35846        ,
35847        [, , , , , , , , , [-1]],
35848      ],
35849      GN: [
35850        ,
35851        [, , "722\\d{6}|(?:3|6\\d)\\d{7}", , , , , , , [8, 9]],
35852        [
35853          ,
35854          ,
35855          "3(?:0(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])|1\\d\\d)\\d{4}",
35856          ,
35857          ,
35858          ,
35859          "30241234",
35860          ,
35861          ,
35862          [8],
35863        ],
35864        [, , "6[0-356]\\d{7}", , , , "601123456", , , [9]],
35865        [, , , , , , , , , [-1]],
35866        [, , , , , , , , , [-1]],
35867        [, , , , , , , , , [-1]],
35868        [, , , , , , , , , [-1]],
35869        [, , "722\\d{6}", , , , "722123456", , , [9]],
35870        "GN",
35871        224,
35872        "00",
35873        ,
35874        ,
35875        ,
35876        ,
35877        ,
35878        ,
35879        ,
35880        [
35881          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["3"]],
35882          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[67]"]],
35883        ],
35884        ,
35885        [, , , , , , , , , [-1]],
35886        ,
35887        ,
35888        [, , , , , , , , , [-1]],
35889        [, , , , , , , , , [-1]],
35890        ,
35891        ,
35892        [, , , , , , , , , [-1]],
35893      ],
35894      GP: [
35895        ,
35896        [, , "590\\d{6}|(?:69|80|9\\d)\\d{7}", , , , , , , [9]],
35897        [
35898          ,
35899          ,
35900          "590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1289]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}",
35901          ,
35902          ,
35903          ,
35904          "590201234",
35905        ],
35906        [, , "69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}", , , , "690001234"],
35907        [, , "80[0-5]\\d{6}", , , , "800012345"],
35908        [, , , , , , , , , [-1]],
35909        [, , , , , , , , , [-1]],
35910        [, , , , , , , , , [-1]],
35911        [, , "9(?:(?:395|76[018])\\d|475[0-2])\\d{4}", , , , "976012345"],
35912        "GP",
35913        590,
35914        "00",
35915        "0",
35916        ,
35917        ,
35918        "0",
35919        ,
35920        ,
35921        ,
35922        [
35923          [
35924            ,
35925            "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
35926            "$1 $2 $3 $4",
35927            ["[569]"],
35928            "0$1",
35929          ],
35930          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"],
35931        ],
35932        ,
35933        [, , , , , , , , , [-1]],
35934        1,
35935        ,
35936        [, , , , , , , , , [-1]],
35937        [, , , , , , , , , [-1]],
35938        ,
35939        ,
35940        [, , , , , , , , , [-1]],
35941      ],
35942      GQ: [
35943        ,
35944        [, , "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", , , , , , , [9]],
35945        [
35946          ,
35947          ,
35948          "33[0-24-9]\\d[46]\\d{4}|3(?:33|5\\d)\\d[7-9]\\d{4}",
35949          ,
35950          ,
35951          ,
35952          "333091234",
35953        ],
35954        [, , "(?:222|55\\d)\\d{6}", , , , "222123456"],
35955        [, , "80\\d[1-9]\\d{5}", , , , "800123456"],
35956        [, , "90\\d[1-9]\\d{5}", , , , "900123456"],
35957        [, , , , , , , , , [-1]],
35958        [, , , , , , , , , [-1]],
35959        [, , , , , , , , , [-1]],
35960        "GQ",
35961        240,
35962        "00",
35963        ,
35964        ,
35965        ,
35966        ,
35967        ,
35968        ,
35969        ,
35970        [
35971          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]],
35972          [, "(\\d{3})(\\d{6})", "$1 $2", ["[89]"]],
35973        ],
35974        ,
35975        [, , , , , , , , , [-1]],
35976        ,
35977        ,
35978        [, , , , , , , , , [-1]],
35979        [, , , , , , , , , [-1]],
35980        ,
35981        ,
35982        [, , , , , , , , , [-1]],
35983      ],
35984      GR: [
35985        ,
35986        [
35987          ,
35988          ,
35989          "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}",
35990          ,
35991          ,
35992          ,
35993          ,
35994          ,
35995          ,
35996          [10, 11, 12],
35997        ],
35998        [
35999          ,
36000          ,
36001          "2(?:1\\d\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-57])
36001)\\d{6}",
36002          ,
36003          ,
36004          ,
36005          "2123456789",
36006          ,
36007          ,
36008          [10],
36009        ],
36010        [, , "68[57-9]\\d{7}|(?:69|94)\\d{8}", , , , "6912345678", , , [10]],
36011        [, , "800\\d{7,9}", , , , "8001234567"],
36012        [, , "90[19]\\d{7}", , , , "9091234567", , , [10]],
36013        [, , "8(?:0[16]|12|[27]5|50)\\d{7}", , , , "8011234567", , , [10]],
36014        [, , "70\\d{8}", , , , "7012345678", , , [10]],
36015        [, , , , , , , , , [-1]],
36016        "GR",
36017        30,
36018        "00",
36019        ,
36020        ,
36021        ,
36022        ,
36023        ,
36024        ,
36025        ,
36026        [
36027          [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["21|7"]],
36028          [
36029            ,
36030            "(\\d{4})(\\d{6})",
36031            "$1 $2",
36032            ["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"],
36033          ],
36034          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2689]"]],
36035          [, "(\\d{3})(\\d{3,4})(\\d{5})", "$1 $2 $3", ["8"]],
36036        ],
36037        ,
36038        [, , , , , , , , , [-1]],
36039        ,
36040        ,
36041        [, , , , , , , , , [-1]],
36042        [, , "5005000\\d{3}", , , , "5005000123", , , [10]],
36043        ,
36044        ,
36045        [, , , , , , , , , [-1]],
36046      ],
36047      GT: [
36048        ,
36049        [, , "(?:1\\d{3}|[2-7])\\d{7}", , , , , , , [8, 11]],
36050        [, , "[267][2-9]\\d{6}", , , , "22456789", , , [8]],
36051        [, , "[3-5]\\d{7}", , , , "51234567", , , [8]],
36052        [, , "18[01]\\d{8}", , , , "18001112222", , , [11]],
36053        [, , "19\\d{9}", , , , "19001112222", , , [11]],
36054        [, , , , , , , , , [-1]],
36055        [, , , , , , , , , [-1]],
36056        [, , , , , , , , , [-1]],
36057        "GT",
36058        502,
36059        "00",
36060        ,
36061        ,
36062        ,
36063        ,
36064        ,
36065        ,
36066        ,
36067        [
36068          [, "(\\d{4})(\\d{4})", "$1 $2", ["[2-7]"]],
36069          [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]],
36070        ],
36071        ,
36072        [, , , , , , , , , [-1]],
36073        ,
36074        ,
36075        [, , , , , , , , , [-1]],
36076        [, , , , , , , , , [-1]],
36077        ,
36078        ,
36079        [, , , , , , , , , [-1]],
36080      ],
36081      GU: [
36082        ,
36083        [, , "(?:[58]\\d\\d|671|900)\\d{7}", , , , , , , [10], [7]],
36084        [
36085          ,
36086          ,
36087          "671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-46-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}",
36088          ,
36089          ,
36090          ,
36091          "6713001234",
36092          ,
36093          ,
36094          ,
36095          [7],
36096        ],
36097        [
36098          ,
36099          ,
36100          "671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-46-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}",
36101          ,
36102          ,
36103          ,
36104          "6713001234",
36105          ,
36106          ,
36107          ,
36108          [7],
36109        ],
36110        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
36111        [, , "900[2-9]\\d{6}", , , , "9002123456"],
36112        [, , , , , , , , , [-1]],
36113        [
36114          ,
36115          ,
36116          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
36117          ,
36118          ,
36119          ,
36120          "5002345678",
36121        ],
36122        [, , , , , , , , , [-1]],
36123        "GU",
36124        1,
36125        "011",
36126        "1",
36127        ,
36128        ,
36129        "([3-9]\\d{6})$|1",
36130        "671$1",
36131        ,
36132        1,
36133        ,
36134        ,
36135        [, , , , , , , , , [-1]],
36136        ,
36137        "671",
36138        [, , , , , , , , , [-1]],
36139        [, , , , , , , , , [-1]],
36140        ,
36141        ,
36142        [, , , , , , , , , [-1]],
36143      ],
36144      GW: [
36145        ,
36146        [, , "[49]\\d{8}|4\\d{6}", , , , , , , [7, 9]],
36147        [, , "443\\d{6}", , , , "443201234", , , [9]],
36148        [, , "9(?:5\\d|6[569]|77)\\d{6}", , , , "955012345", , , [9]],
36149        [, , , , , , , , , [-1]],
36150        [, , , , , , , , , [-1]],
36151        [, , , , , , , , , [-1]],
36152        [, , , , , , , , , [-1]],
36153        [, , "40\\d{5}", , , , "4012345", , , [7]],
36154        "GW",
36155        245,
36156        "00",
36157        ,
36158        ,
36159        ,
36160        ,
36161        ,
36162        ,
36163        ,
36164        [
36165          [, "(\\d{3})(\\d{4})", "$1 $2", ["40"]],
36166          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"]],
36167        ],
36168        ,
36169        [, , , , , , , , , [-1]],
36170        ,
36171        ,
36172        [, , , , , , , , , [-1]],
36173        [, , , , , , , , , [-1]],
36174        ,
36175        ,
36176        [, , , , , , , , , [-1]],
36177      ],
36178      GY: [
36179        ,
36180        [, , "9008\\d{3}|(?:[2-467]\\d\\d|862)\\d{4}", , , , , , , [7]],
36181        [
36182          ,
36183          ,
36184          "(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\d|7[0-24-79])|3(?:2[25-9]|3\\d)|4(?:4[0-24]|5[56]
36184)|77[1-57])\\d{4}",
36185          ,
36186          ,
36187          ,
36188          "2201234",
36189        ],
36190        [, , "(?:6\\d\\d|70[0-35-7])\\d{4}", , , , "6091234"],
36191        [, , "(?:289|862)\\d{4}", , , , "2891234"],
36192        [, , "9008\\d{3}", , , , "9008123"],
36193        [, , , , , , , , , [-1]],
36194        [, , , , , , , , , [-1]],
36195        [, , , , , , , , , [-1]],
36196        "GY",
36197        592,
36198        "001",
36199        ,
36200        ,
36201        ,
36202        ,
36203        ,
36204        ,
36205        ,
36206        [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-46-9]"]]],
36207        ,
36208        [, , , , , , , , , [-1]],
36209        ,
36210        ,
36211        [, , , , , , , , , [-1]],
36212        [, , , , , , , , , [-1]],
36213        ,
36214        ,
36215        [, , , , , , , , , [-1]],
36216      ],
36217      HK: [
36218        ,
36219        [
36220          ,
36221          ,
36222          "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}",
36223          ,
36224          ,
36225          ,
36226          ,
36227          ,
36228          ,
36229          [5, 6, 7, 8, 9, 11],
36230        ],
36231        [
36232          ,
36233          ,
36234          "(?:2(?:[13-9]\\d|2[013-9])\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\d|8(?:[45][0-8]|6[01]|9\\d))|58(?:0[1-8]|1[2-9]))\\d{4}",
36235          ,
36236          ,
36237          ,
36238          "21234567",
36239          ,
36240          ,
36241          [8],
36242        ],
36243        [
36244          ,
36245          ,
36246          "(?:4(?:44[5-9]|6(?:0[0-7]|1[0-6]|4[0-57-9]|6[0-4]|7[0-8]))|573[0-6]|6(?:26[013-8]|66[0-3])|70(?:7[1-5]|8[0-4])|848[015-9]|9(?:29[013-9]|59[0-4]))\\d{4}|(?:4(?:4[01]|6[2358])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|84[09]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}",
36247          ,
36248          ,
36249          ,
36250          "51234567",
36251          ,
36252          ,
36253          [8],
36254        ],
36255        [, , "800\\d{6}", , , , "800123456", , , [9]],
36256        [
36257          ,
36258          ,
36259          "900(?:[0-24-9]\\d{7}|3\\d{1,4})",
36260          ,
36261          ,
36262          ,
36263          "90012345678",
36264          ,
36265          ,
36266          [5, 6, 7, 8, 11],
36267        ],
36268        [, , , , , , , , , [-1]],
36269        [
36270          ,
36271          ,
36272          "8(?:1[0-4679]\\d|2(?:[0-36]\\d|7[0-4])|3(?:[034]\\d|2[09]|70))\\d{4}",
36273          ,
36274          ,
36275          ,
36276          "81123456",
36277          ,
36278          ,
36279          [8],
36280        ],
36281        [, , , , , , , , , [-1]],
36282        "HK",
36283        852,
36284        "00(?:30|5[09]|[126-9]?)",
36285        ,
36286        ,
36287        ,
36288        ,
36289        ,
36290        "00",
36291        ,
36292        [
36293          [, "(\\d{3})(\\d{2,5})", "$1 $2", ["900", "9003"]],
36294          [, "(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],
36295          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]],
36296          [, "(\\d{3})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]],
36297        ],
36298        ,
36299        [
36300          ,
36301          ,
36302          "7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[0136])|2(?:[02389]\\d|1[18]|7[27-9])|3(?:[0-38]\\d|7[0-369]|9[2357-9])|47\\d|5(?:[178]\\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\\d)|7(?:[27]\\d|8[7-9])|8(?:[23689]\\d|7[1-9])|9(?:[025]\\d|6[0-246-8]|7[0-36-9]|8[238]))\\d{4}",
36303          ,
36304          ,
36305          ,
36306          "71123456",
36307          ,
36308          ,
36309          [8],
36310        ],
36311        ,
36312        ,
36313        [, , , , , , , , , [-1]],
36314        [
36315          ,
36316          ,
36317          "30(?:0[1-9]|[15-7]\\d|2[047]|89)\\d{4}",
36318          ,
36319          ,
36320          ,
36321          "30161234",
36322          ,
36323          ,
36324          [8],
36325        ],
36326        ,
36327        ,
36328        [, , , , , , , , , [-1]],
36329      ],
36330      HN: [
36331        ,
36332        [, , "8\\d{10}|[237-9]\\d{7}", , , , , , , [8, 11]],
36333        [
36334          ,
36335          ,
36336          "2(?:2(?:0[0-59]|1[1-9]|[23]\\d|4[02-6]|5[57]|6[245]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[578]|2[3-59]|3[13-9]|4[0-68]|5[1-3589])|5(?:0[2357-9]|1[1-356]|4[03-5]|5\\d|6[014-69]|7[04]|80)|6(?:[056]\\d|17|2[067]|3[047]|4[0-378]|[78][0-8]|9[01])|7(?:0[5-79]|6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\\d{4}",
36337          ,
36338          ,
36339          ,
36340          "22123456",
36341          ,
36342          ,
36343          [8],
36344        ],
36345        [, , "[37-9]\\d{7}", , , , "91234567", , , [8]],
36346        [, , "8002\\d{7}", , , , "80021234567", , , [11]],
36347        [, , , , , , , , , [-1]],
36348        [, , , , , , , , , [-1]],
36349        [, , , , , , , , , [-1]],
36350        [, , , , , , , , , [-1]],
36351        "HN",
36352        504,
36353        "00",
36354        ,
36355        ,
36356        ,
36357        ,
36358        ,
36359        ,
36360        ,
36361        [
36362          [, "(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]],
36363          [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]],
36364        ],
36365        [[, "(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]]],
36366        [, , , , , , , , , [-1]],
36367        ,
36368        ,
36369        [, , "8002\\d{7}", , , , , , , [11]],
36370        [, , , , , , , , , [-1]],
36371        ,
36372        ,
36373        [, , , , , , , , , [-1]],
36374      ],
36375      HR: [
36376        ,
36377        [
36378          ,
36379          ,
36380          "(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}",
36381          ,
36382          ,
36383          ,
36384          ,
36385          ,
36386          ,
36387          [6, 7, 8, 9],
36388        ],
36389        [
36390          ,
36391          ,
36392          "1\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6,7}",
36393          ,
36394          ,
36395          ,
36396          "12345678",
36397          ,
36398          ,
36399          [8, 9],
36400          [6, 7],
36401        ],
36402        [
36403          ,
36404          ,
vendor: 3,184 bytes, lines 36405-36516
36405          "9(?:(?:0[1-9]|[12589]\\d)\\d\\d|7(?:[0679]\\d\\d|5(?:[01]\\d|44|77|9[67])))\\d{4}|98\\d{6}",
36406          ,
36407          ,
36408          ,
36409          "921234567",
36410          ,
36411          ,
36412          [8, 9],
36413        ],
36414        [, , "80[01]\\d{4,6}", , , , "800123456", , , [7, 8, 9]],
36415        [, , "6[01459]\\d{6}|6[01]\\d{4,5}", , , , "611234", , , [6, 7, 8]],
36416        [, , , , , , , , , [-1]],
36417        [, , "7[45]\\d{6}", , , , "74123456", , , [8]],
36418        [, , , , , , , , , [-1]],
36419        "HR",
36420        385,
36421        "00",
36422        "0",
36423        ,
36424        ,
36425        "0",
36426        ,
36427        ,
36428        ,
36429        [
36430          [, "(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["6[01]"], "0$1"],
36431          [, "(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"],
36432          [, "(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"],
36433          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[67]"], "0$1"],
36434          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"],
36435          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-5]"], "0$1"],
36436          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"],
36437        ],
36438        ,
36439        [, , , , , , , , , [-1]],
36440        ,
36441        ,
36442        [, , , , , , , , , [-1]],
36443        [, , "62\\d{6,7}|72\\d{6}", , , , "62123456", , , [8, 9]],
36444        ,
36445        ,
36446        [, , , , , , , , , [-1]],
36447      ],
36448      HT: [
36449        ,
36450        [, , "(?:[2-489]\\d|55)\\d{6}", , , , , , , [8]],
36451        [, , "2(?:2\\d|5[1-5]|81|9[149])\\d{5}", , , , "22453300"],
36452        [, , "(?:[34]\\d|55)\\d{6}", , , , "34101234"],
36453        [, , "8\\d{7}", , , , "80012345"],
36454        [, , , , , , , , , [-1]],
36455        [, , , , , , , , , [-1]],
36456        [, , , , , , , , , [-1]],
36457        [, , "9(?:[67][0-4]|8[0-3589]|9\\d)\\d{5}", , , , "98901234"],
36458        "HT",
36459        509,
36460        "00",
36461        ,
36462        ,
36463        ,
36464        ,
36465        ,
36466        ,
36467        ,
36468        [[, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]],
36469        ,
36470        [, , , , , , , , , [-1]],
36471        ,
36472        ,
36473        [, , , , , , , , , [-1]],
36474        [, , , , , , , , , [-1]],
36475        ,
36476        ,
36477        [, , , , , , , , , [-1]],
36478      ],
36479      HU: [
36480        ,
36481        [, , "[235-7]\\d{8}|[1-9]\\d{7}", , , , , , , [8, 9], [6, 7]],
36482        [
36483          ,
36484          ,
36485          "(?:1\\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\\d{6}",
36486          ,
36487          ,
36488          ,
36489          "12345678",
36490          ,
36491          ,
36492          [8],
36493          [6, 7],
36494        ],
36495        [, , "(?:[257]0|3[01])\\d{7}", , , , "201234567", , , [9]],
36496        [, , "(?:[48]0\\d|680[29])\\d{5}", , , , "80123456"],
36497        [, , "9[01]\\d{6}", , , , "90123456", , , [8]],
36498        [, , , , , , , , , [-1]],
36499        [, , , , , , , , , [-1]],
36500        [, , "21\\d{7}", , , , "211234567", , , [9]],
36501        "HU",
36502        36,
36503        "00",
36504        "06",
36505        ,
36506        ,
36507        "06",
36508        ,
36509        ,
36510        ,
36511        [
36512          [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "(06 $1)"],
36513          [
36514            ,
36515            "(\\d{2})(\\d{3})(\\d{3})",
36516            "$1 $2 $3",
36517            ["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],
36518            "(06 $1)",
36519          ],
36520          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "06 $1"],
36521        ],
36522        ,
36523        [, , , , , , , , , [-1]],
36524        ,
36525        ,
36526        [, , "(?:[48]0\\d|680[29])\\d{5}"],
36527        [, , "38\\d{7}", , , , "381234567", , , [9]],
36528        ,
36529        ,
36530        [, , , , , , , , , [-1]],
36531      ],
36532      ID: [
36533        ,
36534        [
36535          ,
36536          ,
36537          "(?:(?:00[1-9]|8\\d)\\d{4}|[1-36])\\d{6}|00\\d{10}|[1-9]\\d{8,10}|[2-9]\\d{7}",
36538          ,
36539          ,
36540          ,
36541          ,
36542          ,
36543          ,
36544          [7, 8, 9, 10, 11, 12, 13],
36545          [5, 6],
36546        ],
36547        [
36548          ,
36549          ,
36550          "2[124]\\d{7,8}|619\\d{8}|2(?:1(?:14|500)|2\\d{3})\\d{3}|61\\d{5,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:[25]\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}",
36551          ,
36552          ,
36553          ,
36554          "218350123",
36555          ,
36556          ,
36557          [7, 8, 9, 10, 11],
36558          [5, 6],
36559        ],
36560        [, , "8[1-35-9]\\d{7,10}", , , , "812345678", , , [9, 10, 11, 12]],
36561        [
36562          ,
36563          ,
36564          "00[17]803\\d{7}|(?:177\\d|800)\\d{5,7}|001803\\d{6}",
36565          ,
36566          ,
36567          ,
36568          "8001234567",
36569          ,
36570          ,
36571          [8, 9, 10, 11, 12, 13],
36572        ],
36573        [, , "809\\d{7}", , , , "8091234567", , , [10]],
36574        [, , "804\\d{7}", , , , "8041234567", , , [10]],
36575        [, , , , , , , , , [-1]],
36576        [, , , , , , , , , [-1]],
36577        "ID",
36578        62,
36579        "00[89]",
36580        "0",
36581        ,
36582        ,
36583        "0",
36584        ,
36585        ,
36586        ,
36587        [
36588          [, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]],
36589          [, "(\\d{2})(\\d{5,9})", "$1 $2", ["2[124]|[36]1"], "(0$1)"],
36590          [, "(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"],
36591          [, "(\\d{3})(\\d{5,8})", "$1 $2", ["[2-79]"], "(0$1)"],
36592          [, "(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"],
36593          [, "(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"],
36594          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"],
36595          [, "(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"],
36596          [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"],
36597          [, "(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["001"]],
36598          [, "(\\d{2})(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["0"]],
36599        ],
36600        [
36601          [, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]],
36602          [, "(\\d{2})(\\d{5,9})", "$1 $2", ["2[124]|[36]1"], "(0$1)"],
36603          [, "(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"],
36604          [, "(\\d{3})(\\d{5,8})", "$1 $2", ["[2-79]"], "(0$1)"],
36605          [, "(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"],
36606          [, "(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"],
36607          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"],
36608          [, "(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"],
36609          [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"],
36610        ],
36611        [, , , , , , , , , [-1]],
36612        ,
36613        ,
36614        [
36615          ,
36616          ,
36617          "001803\\d{6,7}|(?:007803\\d|8071)\\d{6}",
36618          ,
36619          ,
36620          ,
36621          ,
36622          ,
36623          ,
36624          [10, 12, 13],
36625        ],
36626        [, , "(?:1500|8071\\d{3})\\d{3}", , , , "8071123456", , , [7, 10]],
36627        ,
36628        ,
36629        [, , , , , , , , , [-1]],
36630      ],
36631      IE: [
36632        ,
36633        [
36634          ,
36635          ,
36636          "(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",
36637          ,
36638          ,
36639          ,
36640          ,
36641          ,
36642          ,
36643          [7, 8, 9, 10],
36644          [5, 6],
36645        ],
36646        [
36647          ,
36648          ,
36649          "(?:1\\d|21)\\d{6,7}|(?:2[24-9]|4(?:0[24]|5\\d|7)|5(?:0[45]|1\\d|8)|6(?:1\\d|[237-9])|9(?:1\\d|[35-9]))\\d{5}|(?:23|4(?:[1-469]|8\\d)|5[23679]|6[4-6]|7[14]|9[04])\\d{7}",
36650          ,
36651          ,
36652          ,
36653          "2212345",
36654          ,
36655          ,
36656          ,
36657          [5, 6],
36658        ],
36659        [, , "8(?:22|[35-9]\\d)\\d{6}", , , , "850123456", , , [9]],
36660        [, , "1800\\d{6}", , , , "1800123456", , , [10]],
36661        [, , "15(?:1[2-8]|[2-8]0|9[089])\\d{6}", , , , "1520123456", , , [10]],
36662        [, , "18[59]0\\d{6}", , , , "1850123456", , , [10]],
36663        [, , "700\\d{6}", , , , "700123456", , , [9]],
36664        [, , "76\\d{7}", , , , "761234567", , , [9]],
36665        "IE",
36666        353,
36667        "00",
36668        "0",
36669        ,
36670        ,
36671        "0",
36672        ,
36673        ,
36674        ,
36675        [
36676          [
36677            ,
36678            "(\\d{2})(\\d{5})",
36679            "$1 $2",
36680            ["2[24-9]|47|58|6[237-9]|9[35-9]"],
36681            "(0$1)",
36682          ],
36683          [, "(\\d{3})(\\d{5})", "$1 $2", ["[45]0"], "(0$1)"],
36684          [, "(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1"], "(0$1)"],
36685          [
36686            ,
36687            "(\\d{2})(\\d{3})(\\d{3,4})",
36688            "$1 $2 $3",
36689            ["[2569]|4[1-69]|7[14]"],
36690            "(0$1)",
36691          ],
36692          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"],
36693          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["81"], "(0$1)"],
36694          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[78]"], "0$1"],
36695          [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]],
36696          [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["4"], "(0$1)"],
36697          [, "(\\d{2})(\\d)(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["8"], "0$1"],
36698        ],
36699        ,
36700        [, , , , , , , , , [-1]],
36701        ,
36702        ,
36703        [, , "18[59]0\\d{6}", , , , , , , [10]],
36704        [, , "818\\d{6}", , , , "818123456", , , [9]],
36705        ,
36706        ,
36707        [
36708          ,
36709          ,
36710          "88210[1-9]\\d{4}|8(?:[35-79]5\\d\\d|8(?:[013-9]\\d\\d|2(?:[01][1-9]|[2-9]\\d)))\\d{5}",
36711          ,
36712          ,
36713          ,
36714          "8551234567",
36715          ,
36716          ,
36717          [10],
36718        ],
36719      ],
36720      IL: [
36721        ,
36722        [
36723          ,
36724          ,
36725          "1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",
36726          ,
36727          ,
36728          ,
36729          ,
36730          ,
36731          ,
36732          [7, 8, 9, 10, 11, 12],
36733        ],
36734        [
36735          ,
36736          ,
36737          "153\\d{8,9}|29[1-9]\\d{5}|(?:2[0-8]|[3489]\\d)\\d{6}",
36738          ,
36739          ,
36740          ,
36741          "21234567",
36742          ,
36743          ,
36744          [8, 11, 12],
36745          [7],
36746        ],
36747        [
36748          ,
36749          ,
36750          "55410\\d{4}|5(?:(?:[02368]\\d|[19][2-9]|4[1-9])\\d|5(?:01|1[79]|2[2-9]|3[0-3]|4[34]|5[015689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}",
36751          ,
36752          ,
36753          ,
36754          "502345678",
36755          ,
36756          ,
36757          [9],
36758        ],
36759        [, , "1(?:255|80[019]\\d{3})\\d{3}", , , , "1800123456", , , [7, 10]],
36760        [
36761          ,
36762          ,
36763          "1212\\d{4}|1(?:200|9(?:0[0-2]|19))\\d{6}",
36764          ,
36765          ,
36766          ,
36767          "1919123456",
36768          ,
36769          ,
36770          [8, 10],
36771        ],
36772        [, , "1700\\d{6}", , , , "1700123456", , , [10]],
36773        [, , , , , , , , , [-1]],
36774        [
36775          ,
36776          ,
36777          "7(?:38(?:0\\d|5[09]|88)|8(?:33|55|77|81)\\d)\\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\\d|82|9[2-9])\\d{6}",
36778          ,
36779          ,
36780          ,
36781          "771234567",
36782          ,
36783          ,
36784          [9],
36785        ],
36786        "IL",
36787        972,
36788        "0(?:0|1[2-9])",
36789        "0",
36790        ,
36791        ,
36792        "0",
36793        ,
36794        ,
36795        ,
36796        [
36797          [, "(\\d{4})(\\d{3})", "$1-$2", ["125"]],
36798          [, "(\\d{4})(\\d{2})(\\d{2})", "$1-$2-$3", ["121"]],
36799          [, "(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-489]"], "0$1"],
36800          [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"],
36801          [, "(\\d{4})(\\d{3})(\\d{3})", "$1-$2-$3", ["12"]],
36802          [, "(\\d{4})(\\d{6})", "$1-$2", ["159"]],
36803          [, "(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3-$4", ["1[7-9]"]],
36804          [, "(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})", "$1-$2 $3-$4", ["15"]],
36805        ],
36806        ,
36807        [, , , , , , , , , [-1]],
36808        ,
36809        ,
36810        [, , "1700\\d{6}", , , , , , , [10]],
36811        [, , "1599\\d{6}", , , , "1599123456", , , [10]],
36812        ,
36813        ,
36814        [, , "151\\d{8,9}", , , , "15112340000", , , [11, 12]],
36815      ],
36816      IM: [
36817        ,
36818        [, , "1624\\d{6}|(?:[3578]\\d|90)\\d{8}", , , , , , , [10], [6]],
36819        [, , "1624(?:230|[5-8]\\d\\d)\\d{3}", , , , "1624756789", , , , [6]],
36820        [
36821          ,
36822          ,
36823          "76245[06]\\d{4}|7(?:4576|[59]24\\d|624[0-4689])\\d{5}",
36824          ,
36825          ,
36826          ,
36827          "7924123456",
36828        ],
36829        [, , "808162\\d{4}", , , , "8081624567"],
36830        [
36831          ,
36832          ,
36833          "8(?:440[49]06|72299\\d)\\d{3}|(?:8(?:45|70)|90[0167])624\\d{4}",
36834          ,
36835          ,
36836          ,
36837          "9016247890",
36838        ],
36839        [, , , , , , , , , [-1]],
36840        [, , "70\\d{8}", , , , "7012345678"],
36841        [, , "56\\d{8}", , , , "5612345678"],
36842        "IM",
36843        44,
36844        "00",
36845        "0",
36846        ,
36847        ,
36848        "([25-8]\\d{5})$|0",
36849        "1624$1",
36850        ,
36851        ,
36852        ,
36853        ,
36854        [, , , , , , , , , [-1]],
36855        ,
36856        "74576|(?:16|7[56])24",
36857        [, , , , , , , , , [-1]],
36858        [
36859          ,
36860          ,
36861          "3440[49]06\\d{3}|(?:3(?:08162|3\\d{4}|45624|7(?:0624|2299))|55\\d{4})\\d{4}",
36862          ,
36863          ,
36864          ,
36865          "5512345678",
36866        ],
36867        ,
36868        ,
36869        [, , , , , , , , , [-1]],
36870      ],
36871      IN: [
36872        ,
36873        [
36874          ,
36875          ,
36876          "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",
36877          ,
36878          ,
36879          ,
36880          ,
36881          ,
36882          ,
36883          [8, 9, 10, 11, 12, 13],
36884          [6, 7],
36885        ],
36886        [
36887          ,
36888          ,
36889          "2717(?:[2-7]\\d|95)\\d{4}|(?:271[0-689]|782[0-6])[2-7]\\d{5}|(?:170[24]|2(?:(?:[02][2-79]|90)\\d|80[13468])|(?:3(?:23|80)|683|79[1-7])\\d|4(?:20[24]|72[2-8])|552[1-7])\\d{6}|(?:11|33|4[04]|80)[2-7]\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\d)\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d[2-7]\\d{5}",
36890          ,
36891          ,
36892          ,
36893          "7410410123",
36894          ,
36895          ,
36896          [10],
36897          [6, 7, 8],
36898        ],
36899        [
36900          ,
36901          ,
36902          "(?:61279|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\d|7[02-8])\\d{5}|(?:6(?:[09]\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\d\\d)\\d{7}
36902|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|8[124-6])\\d|7(?:[235689]\\d|4[0189]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]|881))[0189]\\d{5}",
36903          ,
36904          ,
36905          ,
36906          "8123456789",
36907          ,
36908          ,
36909          [10],
36910        ],
36911        [
36912          ,
36913          ,
36914          "000800\\d{7}|1(?:600\\d{6}|80(?:0\\d{4,9}|3\\d{9}))",
36915          ,
36916          ,
36917          ,
36918          "1800123456",
36919        ],
36920        [, , "186[12]\\d{9}", , , , "1861123456789", , , [13]],
36921        [, , "1860\\d{7}", , , , "18603451234", , , [11]],
36922        [, , , , , , , , , [-1]],
36923        [, , , , , , , , , [-1]],
36924        "IN",
36925        91,
36926        "00",
36927        "0",
36928        ,
36929        ,
36930        "0",
36931        ,
36932        ,
36933        ,
36934        [
36935          [, "(\\d{7})", "$1", ["575"]],
36936          [
36937            ,
36938            "(\\d{8})",
36939            "$1",
36940            [
36941              "5(?:0|2[23]|3[03]|[67]1|88)",
36942              "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)",
36943              "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)",
36944            ],
36945            ,
36946            ,
36947            1,
36948          ],
36949          [, "(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], , , 1],
36950          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], , , 1],
36951          [
36952            ,
36953            "(\\d{2})(\\d{4})(\\d{4})",
36954            "$1 $2 $3",
36955            [
36956              "11|2[02]|33|4[04]|79[1-7]|80[2-46]",
36957              "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])",
36958              "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])",
36959            ],
36960            "0$1",
36961            ,
36962            1,
36963          ],
36964          [
36965            ,
36966            "(\\d{3})(\\d{3})(\\d{4})",
36967            "$1 $2 $3",
36968            [
36969              "1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]",
36970              "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]",
36971              "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]",
36972            ],
36973            "0$1",
36974            ,
36975            1,
36976          ],
36977          [
36978            ,
36979            "(\\d{4})(\\d{3})(\\d{3})",
36980            "$1 $2 $3",
36981            [
36982              "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807",
36983              "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]",
36984              "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]",
36985            ],
36986            "0$1",
36987            ,
36988            1,
36989          ],
36990          [, "(\\d{5})(\\d{5})", "$1 $2", ["[6-9]"], "0$1", , 1],
36991          [
36992            ,
36993            "(\\d{4})(\\d{2,4})(\\d{4})",
36994            "$1 $2 $3",
36995            ["1(?:6|8[06])", "1(?:6|8[06]0)"],
36996            ,
36997            ,
36998            1,
36999          ],
37000          [, "(\\d{3})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["0"]],
37001          [, "(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], , , 1],
37002        ],
37003        [
37004          [
37005            ,
37006            "(\\d{8})",
37007            "$1",
37008            [
37009              "5(?:0|2[23]|3[03]|[67]1|88)",
37010              "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)",
37011              "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)",
37012            ],
37013            ,
37014            ,
37015            1,
37016          ],
37017          [, "(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], , , 1],
37018          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], , , 1],
37019          [
37020            ,
37021            "(\\d{2})(\\d{4})(\\d{4})",
37022            "$1 $2 $3",
37023            [
37024              "11|2[02]|33|4[04]|79[1-7]|80[2-46]",
37025              "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])",
37026              "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])",
37027            ],
37028            "0$1",
37029            ,
37030            1,
37031          ],
37032          [
37033            ,
37034            "(\\d{3})(\\d{3})(\\d{4})",
37035            "$1 $2 $3",
37036            [
37037              "1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]",
37038              "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]",
37039              "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]",
37040            ],
37041            "0$1",
37042            ,
37043            1,
37044          ],
37045          [
37046            ,
37047            "(\\d{4})(\\d{3})(\\d{3})",
37048            "$1 $2 $3",
37049            [
37050              "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807",
37051              "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]",
37052              "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]",
37053            ],
37054            "0$1",
37055            ,
37056            1,
37057          ],
37058          [, "(\\d{5})(\\d{5})", "$1 $2", ["[6-9]"], "0$1", , 1],
37059          [
37060            ,
37061            "(\\d{4})(\\d{2,4})(\\d{4})",
37062            "$1 $2 $3",
37063            ["1(?:6|8[06])", "1(?:6|8[06]0)"],
37064            ,
37065            ,
37066            1,
37067          ],
37068          [, "(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], , , 1],
37069        ],
37070        [, , , , , , , , , [-1]],
37071        ,
37072        ,
37073        [
37074          ,
37075          ,
37076          "1(?:600\\d{6}|800\\d{4,9})|(?:000800|18(?:03\\d\\d|6(?:0|[12]\\d\\d)))\\d{7}",
37077        ],
37078        [, , "140\\d{7}", , , , "1409305260", , , [10]],
37079        ,
37080        ,
37081        [, , , , , , , , , [-1]],
37082      ],
37083      IO: [
37084        ,
37085        [, , "3\\d{6}", , , , , , , [7]],
37086        [, , "37\\d{5}", , , , "3709100"],
37087        [, , "38\\d{5}", , , , "3801234"],
37088        [, , , , , , , , , [-1]],
37089        [, , , , , , , , , [-1]],
37090        [, , , , , , , , , [-1]],
37091        [, , , , , , , , , [-1]],
37092        [, , , , , , , , , [-1]],
37093        "IO",
37094        246,
37095        "00",
37096        ,
37097        ,
37098        ,
37099        ,
37100        ,
37101        ,
37102        ,
37103        [[, "(\\d{3})(\\d{4})", "$1 $2", ["3"]]],
37104        ,
37105        [, , , , , , , , , [-1]],
37106        ,
37107        ,
37108        [, , , , , , , , , [-1]],
37109        [, , , , , , , , , [-1]],
37110        ,
37111        ,
37112        [, , , , , , , , , [-1]],
37113      ],
37114      IQ: [
37115        ,
37116        [
37117          ,
37118          ,
37119          "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",
37120          ,
37121          ,
37122          ,
37123          ,
37124          ,
37125          ,
37126          [8, 9, 10],
37127          [6, 7],
37128        ],
37129        [
37130          ,
37131          ,
37132          "1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}",
37133          ,
37134          ,
37135          ,
37136          "12345678",
37137          ,
37138          ,
37139          [8, 9],
37140          [6, 7],
37141        ],
37142        [, , "7[3-9]\\d{8}", , , , "7912345678", , , [10]],
37143        [, , , , , , , , , [-1]],
37144        [, , , , , , , , , [-1]],
37145        [, , , , , , , , , [-1]],
37146        [, , , , , , , , , [-1]],
37147        [, , , , , , , , , [-1]],
37148        "IQ",
37149        964,
37150        "00",
37151        "0",
37152        ,
37153        ,
37154        "0",
37155        ,
37156        ,
37157        ,
37158        [
37159          [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"],
37160          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"],
37161          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"],
37162        ],
37163        ,
37164        [, , , , , , , , , [-1]],
37165        ,
37166        ,
37167        [, , , , , , , , , [-1]],
37168        [, , , , , , , , , [-1]],
37169        ,
37170        ,
37171        [, , , , , , , , , [-1]],
37172      ],
37173      IR: [
37174        ,
37175        [
37176          ,
37177          ,
37178          "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",
37179          ,
37180          ,
37181          ,
37182          ,
37183          ,
37184          ,
37185          [4, 5, 6, 7, 10],
37186          [8],
37187        ],
37188        [
37189          ,
37190          ,
37191          "(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\\d{7}|[16]\\d{3}(?:\\d{4})?|[289]\\d{3}(?:\\d(?:\\d{3})?)?)|94(?:000[09]|2(?:121|[2689]0\\d)|30[0-2]\\d|4(?:111|40\\d))\\d{4}",
37192          ,
37193          ,
37194          ,
37195          "2123456789",
37196          ,
37197          ,
37198          [6, 7, 10],
37199          [4, 5, 8],
37200        ],
37201        [
37202          ,
37203          ,
37204          "9(?:(?:0(?:[0-35]\\d|4[4-6])|(?:[13]\\d|2[0-3])\\d)\\d|9(?:[0-46]\\d\\d|5[15]0|8(?:[12]\\d|88)|9(?:0[0-3]|[19]\\d|21|69|77|8[7-9])))\\d{5}",
37205          ,
37206          ,
37207          ,
37208          "9123456789",
37209          ,
37210          ,
37211          [10],
37212        ],
37213        [, , , , , , , , , [-1]],
37214        [, , , , , , , , , [-1]],
37215        [, , , , , , , , , [-1]],
37216        [, , , , , , , , , [-1]],
37217        [, , , , , , , , , [-1]],
37218        "IR",
37219        98,
37220        "00",
37221        "0",
37222        ,
37223        ,
37224        "0",
37225        ,
37226        ,
37227        ,
37228        [
37229          [, "(\\d{4,5})", "$1", ["96"], "0$1"],
37230          [
37231            ,
37232            "(\\d{2})(\\d{4,5})",
37233            "$1 $2",
37234            [
37235              "(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]",
37236            ],
37237            "0$1",
37238          ],
37239          [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"],
37240          [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[1-8]"], "0$1"],
37241        ],
37242        ,
37243        [, , , , , , , , , [-1]],
37244        ,
37245        ,
37246        [
37247          ,
37248          ,
37249          "9(?:4440\\d{5}|6(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19]))",
37250          ,
37251          ,
37252          ,
37253          ,
37254          ,
37255          ,
37256          [4, 5, 10],
37257        ],
37258        [
37259          ,
37260          ,
37261          "96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])",
37262          ,
37263          ,
37264          ,
37265          "9601",
37266          ,
37267          ,
37268          [4, 5],
37269        ],
37270        ,
37271        ,
37272        [, , , , , , , , , [-1]],
37273      ],
37274      IS: [
37275        ,
37276        [, , "(?:38\\d|[4-9])\\d{6}", , , , , , , [7, 9]],
37277        [
37278          ,
37279          ,
37280          "(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-24589]|5[0-68]|6\\d|8[0-36-8])|5(?:05|[156]\\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|872)\\d{4}",
37281          ,
37282          ,
37283          ,
37284          "4101234",
37285          ,
37286          ,
37287          [7],
37288        ],
37289        [
37290          ,
37291          ,
37292          "(?:38[589]\\d\\d|6(?:1[1-8]|2[0-6]|3[026-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\d)|7(?:5[057]|[6-9]\\d)|8(?:2[0-59]|[3-69]\\d|8[238]))\\d{4}",
37293          ,
37294          ,
37295          ,
37296          "6111234",
37297        ],
37298        [, , "80[0-8]\\d{4}", , , , "8001234", , , [7]],
37299        [
37300          ,
37301          ,
37302          "90(?:0\\d|1[5-79]|2[015-79]|3[135-79]|4[125-7]|5[25-79]|7[1-37]|8[0-35-7])\\d{3}",
37303          ,
37304          ,
37305          ,
37306          "9001234",
37307          ,
37308          ,
37309          [7],
37310        ],
37311        [, , , , , , , , , [-1]],
37312        [, , , , , , , , , [-1]],
37313        [, , "49[0-24-79]\\d{4}", , , , "4921234", , , [7]],
37314        "IS",
37315        354,
37316        "00|1(?:0(?:01|[12]0)|100)",
37317        ,
37318        ,
37319        ,
37320        ,
37321        ,
37322        "00",
37323        ,
37324        [
37325          [, "(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]],
37326          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]],
37327        ],
37328        ,
37329        [, , , , , , , , , [-1]],
37330        ,
37331        ,
37332        [, , , , , , , , , [-1]],
37333        [, , "809\\d{4}", , , , "8091234", , , [7]],
37334        ,
37335        ,
37336        [, , "(?:689|8(?:7[18]|80)|95[48])\\d{4}", , , , "6891234", , , [7]],
37337      ],
37338      IT: [
37339        ,
37340        [
37341          ,
37342          ,
37343          "0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?",
37344          ,
37345          ,
37346          ,
37347          ,
37348          ,
37349          ,
37350          [6, 7, 8, 9, 10, 11, 12],
37351        ],
37352        [
37353          ,
37354          ,
37355          "0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}",
37356          ,
37357          ,
37358          ,
37359          "0212345678",
37360          ,
37361          ,
37362          [6, 7, 8, 9, 10, 11],
37363        ],
37364        [, , "3[1-9]\\d{8}|3[2-9]\\d{7}", , , , "3123456789", , , [9, 10]],
37365        [, , "80(?:0\\d{3}|3)\\d{3}", , , , "800123456", , , [6, 9]],
37366        [
37367          ,
37368          ,
37369          "(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}",
37370          ,
37371          ,
37372          ,
37373          "899123456",
37374          ,
37375          ,
37376          [6, 8, 9, 10],
37377        ],
37378        [, , "84(?:[08]\\d{3}|[17])\\d{3}", , , , "848123456", , , [6, 9]],
37379        [, , "1(?:78\\d|99)\\d{6}", , , , "1781234567", , , [9, 10]],
37380        [, , "55\\d{8}", , , , "5512345678", , , [10]],
37381        "IT",
37382        39,
37383        "00",
37384        ,
37385        ,
37386        ,
37387        ,
37388        ,
37389        ,
37390        ,
37391        [
37392          [, "(\\d{4,5})", "$1", ["1(?:0|9[246])", "1(?:0|9(?:2[2-9]|[46]))"]],
37393          [, "(\\d{6})", "$1", ["1(?:1|92)"]],
37394          [, "(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]],
37395          [
37396            ,
37397            "(\\d{3})(\\d{3,6})",
37398            "$1 $2",
37399            [
37400              "0[13-57-9][0159]|8(?:03|4[17]|9[2-5])",
37401              "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))",
37402            ],
37403          ],
37404          [, "(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]],
37405          [, "(\\d{4})(\\d{4})", "$1 $2", ["894"]],
37406          [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]],
37407          [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]"]],
37408          [, "(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]],
37409          [, "(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]],
37410          [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]],
37411          [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["3"]],
37412        ],
37413        [
37414          [, "(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]],
37415          [
37416            ,
37417            "(\\d{3})(\\d{3,6})",
37418            "$1 $2",
37419            [
37420              "0[13-57-9][0159]|8(?:03|4[17]|9[2-5])",
37421              "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))",
37422            ],
37423          ],
37424          [, "(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]],
37425          [, "(\\d{4})(\\d{4})", "$1 $2", ["894"]],
37426          [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]],
37427          [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]"]],
37428          [, "(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]],
37429          [, "(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]],
37430          [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]],
37431          [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["3"]],
37432        ],
37433        [, , , , , , , , , [-1]],
37434        1,
37435        ,
37436        [, , "848\\d{6}", , , , , , , [9]],
37437        [, , , , , , , , , [-1]],
37438        ,
37439        ,
37440        [, , "3[2-8]\\d{9,10}", , , , "33101234501", , , [11, 12]],
37441      ],
37442      JE: [
37443        ,
37444        [, , "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", , , , , , , [10], [6]],
37445        [, , "1534[0-24-8]\\d{5}", , , , "1534456789", , , , [6]],
37446        [
37447          ,
37448          ,
37449          "7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97[7-9]))\\d{5}",
37450          ,
37451          ,
37452          ,
37453          "7797712345",
37454        ],
37455        [, , "80(?:07(?:35|81)|8901)\\d{4}", , , , "8007354567"],
37456        [
37457          ,
37458          ,
37459          "(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}",
37460          ,
37461          ,
37462          ,
37463          "9018105678",
37464        ],
37465        [, , , , , , , , , [-1]],
37466        [, , "701511\\d{4}", , , , "7015115678"],
37467        [, , "56\\d{8}", , , , "5612345678"],
37468        "JE",
37469        44,
37470        "00",
37471        "0",
37472        ,
37473        ,
37474        "([0-24-8]\\d{5})$|0",
37475        "1534$1",
37476        ,
37477        ,
37478        ,
37479        ,
37480        [
37481          ,
37482          ,
37483          "76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",
37484          ,
37485          ,
37486          ,
37487          "7640123456",
37488        ],
37489        ,
37490        ,
37491        [, , , , , , , , , [-1]],
37492        [
37493          ,
37494          ,
37495          "(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}",
37496          ,
37497          ,
37498          ,
37499          "5512345678",
37500        ],
37501        ,
37502        ,
37503        [, , , , , , , , , [-1]],
37504      ],
37505      JM: [
37506        ,
37507        [, , "(?:[58]\\d\\d|658|900)\\d{7}", , , , , , , [10], [7]],
37508        [
37509          ,
37510          ,
37511          "8766060\\d{3}|(?:658(?:2(?:[0-8]\\d|9[0-46-9])|[3-9]\\d\\d)|876(?:52[35]|6(?:0[1-3579]|1[0235-9]|[23]\\d|40|5[06]|6[2-589]|7[025-9]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468])))\\d{4}",
37512          ,
37513          ,
37514          ,
37515          "8765230123",
37516          ,
37517          ,
37518          ,
37519          [7],
37520        ],
37521        [
37522          ,
37523          ,
37524          "(?:658295|876(?:2(?:0[1-9]|[13-9]\\d|2[013-9])|[348]\\d\\d|5(?:0[1-9]|[1-9]\\d)|6(?:4[89]|6[
3752467])|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\\d{4}",
37525          ,
37526          ,
37527          ,
37528          "8762101234",
37529          ,
37530          ,
37531          ,
37532          [7],
37533        ],
37534        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
37535        [, , "900[2-9]\\d{6}", , , , "9002123456"],
37536        [, , , , , , , , , [-1]],
37537        [
37538          ,
37539          ,
37540          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
37541          ,
37542          ,
37543          ,
37544          "5002345678",
37545        ],
37546        [, , , , , , , , , [-1]],
37547        "JM",
37548        1,
37549        "011",
37550        "1",
37551        ,
37552        ,
37553        "1",
37554        ,
37555        ,
37556        ,
37557        ,
37558        ,
37559        [, , , , , , , , , [-1]],
37560        ,
37561        "658|876",
37562        [, , , , , , , , , [-1]],
37563        [, , , , , , , , , [-1]],
37564        ,
37565        ,
37566        [, , , , , , , , , [-1]],
37567      ],
37568      JO: [
37569        ,
37570        [, , "(?:(?:[2689]|7\\d)\\d|32|53)\\d{6}", , , , , , , [8, 9]],
37571        [
37572          ,
37573          ,
37574          "87(?:000|90[01])\\d{3}|(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|4[0-3]|[5-7][023])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2(?:[05]0|22)|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:20|7[078]|99))\\d{4}",
37575          ,
37576          ,
37577          ,
37578          "62001234",
37579          ,
37580          ,
37581          [8],
37582        ],
37583        [, , "7(?:[78][0-25-9]|9\\d)\\d{6}", , , , "790123456", , , [9]],
37584        [, , "80\\d{6}", , , , "80012345", , , [8]],
37585        [, , "9\\d{7}", , , , "90012345", , , [8]],
37586        [, , "85\\d{6}", , , , "85012345", , , [8]],
37587        [, , "70\\d{7}", , , , "700123456", , , [9]],
37588        [, , , , , , , , , [-1]],
37589        "JO",
37590        962,
37591        "00",
37592        "0",
37593        ,
37594        ,
37595        "0",
37596        ,
37597        ,
37598        ,
37599        [
37600          [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2356]|87"], "(0$1)"],
37601          [, "(\\d{3})(\\d{5,6})", "$1 $2", ["[89]"], "0$1"],
37602          [, "(\\d{2})(\\d{7})", "$1 $2", ["70"], "0$1"],
37603          [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"],
37604        ],
37605        ,
37606        [, , "74(?:66|77)\\d{5}", , , , "746612345", , , [9]],
37607        ,
37608        ,
37609        [, , , , , , , , , [-1]],
37610        [, , "8(?:10|8\\d)\\d{5}", , , , "88101234", , , [8]],
37611        ,
37612        ,
37613        [, , , , , , , , , [-1]],
37614      ],
37615      JP: [
37616        ,
37617        [
37618          ,
37619          ,
37620          "00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",
37621          ,
37622          ,
37623          ,
37624          ,
37625          ,
37626          ,
37627          [8, 9, 10, 11, 12, 13, 14, 15, 16, 17],
37628        ],
37629        [
37630          ,
37631          ,
37632          "(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\\d|4(?:[2-578]\\d|6[02-8]|9[2-59])|5(?:[2-589]\\d|6[1-9]|7[2-8])|7(?:[25-9]\\d|3[4-9]|4[02-9])|8(?:[2679]\\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\\d|[679][1-9]))\\d{6}",
37633          ,
37634          ,
37635          ,
37636          "312345678",
37637          ,
37638          ,
37639          [9],
37640        ],
37641        [, , "[7-9]0[1-9]\\d{7}", , , , "9012345678", , , [10]],
37642        [
37643          ,
37644          ,
37645          "00777(?:[01]|5\\d)\\d\\d|(?:00(?:7778|882[1245])|(?:120|800\\d)\\d\\d)\\d{4}|00(?:37|66|78)\\d{6,13}",
37646          ,
37647          ,
37648          ,
37649          "120123456",
37650        ],
37651        [, , "990\\d{6}", , , , "990123456", , , [9]],
37652        [, , , , , , , , , [-1]],
37653        [, , "60\\d{7}", , , , "601234567", , , [9]],
37654        [, , "50[1-9]\\d{7}", , , , "5012345678", , , [10]],
37655        "JP",
37656        81,
37657        "010",
37658        "0",
37659        ,
37660        ,
37661        "0",
37662        ,
37663        ,
37664        ,
37665        [
37666          [
37667            ,
37668            "(\\d{4})(\\d{4})",
37669            "$1-$2",
37670            ["007", "0077", "00777", "00777[01]"],
37671          ],
37672          [, "(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"],
37673          [
37674            ,
37675            "(\\d{4})(\\d)(\\d{4})",
37676            "$1-$2-$3",
37677            [
37678              "1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:80|9[16])",
37679              "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2
37679-9]|636)|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]",
37680              "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]",
37681            ],
37682            "0$1",
37683          ],
37684          [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"],
37685          [
37686            ,
37687            "(\\d)(\\d{4})(\\d{4})",
37688            "$1-$2-$3",
37689            [
37690              "[36]|4(?:2[09]|7[01])",
37691              "[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))",
37692            ],
37693            "0$1",
37694          ],
37695          [
37696            ,
37697            "(\\d{2})(\\d{3})(\\d{4})",
37698            "$1-$2-$3",
37699            [
37700              "1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[27-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])",
37701              "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|49|51|6(?:[0-24]|36|5[0-3589]|72|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]",
37702              "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]",
37703              "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]",
37704            ],
37705            "0$1",
37706          ],
37707          [
37708            ,
37709            "(\\d{3})(\\d{2})(\\d{4})",
37710            "$1-$2-$3",
37711            ["[14]|[289][2-9]|5[3-9]|7[2-4679]"],
37712            "0$1",
37713          ],
37714          [, "(\\d{4})(\\d{2})(\\d{3,4})", "$1-$2-$3", ["007", "0077"]],
37715          [, "(\\d{4})(\\d{2})(\\d{4})", "$1-$2-$3", ["008"]],
37716          [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"],
37717          [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[257-9]"], "0$1"],
37718          [, "(\\d{4})(\\d{3})(\\d{3,4})", "$1-$2-$3", ["0"]],
37719          [, "(\\d{4})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["0"]],
37720          [, "(\\d{4})(\\d{5})(\\d{5,6})", "$1-$2-$3", ["0"]],
37721          [, "(\\d{4})(\\d{6})(\\d{6,7})", "$1-$2-$3", ["0"]],
37722        ],
37723        [
37724          [, "(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"],
37725          [
37726            ,
37727            "(\\d{4})(\\d)(\\d{4})",
37728            "$1-$2-$3",
37729            [
37730              "1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:80|9[16])",
37731              "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2
37731-9]|636)|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]",
37732              "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]",
37733            ],
37734            "0$1",
37735          ],
37736          [, "(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"],
37737          [
37738            ,
37739            "(\\d)(\\d{4})(\\d{4})",
37740            "$1-$2-$3",
37741            [
37742              "[36]|4(?:2[09]|7[01])",
37743              "[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))",
37744            ],
37745            "0$1",
37746          ],
37747          [
37748            ,
37749            "(\\d{2})(\\d{3})(\\d{4})",
37750            "$1-$2-$3",
37751            [
37752              "1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[27-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])",
37753              "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|49|51|6(?:[0-24]|36|5[0-3589]|72|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]",
37754              "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]",
37755              "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]",
37756            ],
37757            "0$1",
37758          ],
37759          [
37760            ,
37761            "(\\d{3})(\\d{2})(\\d{4})",
37762            "$1-$2-$3",
37763            ["[14]|[289][2-9]|5[3-9]|7[2-4679]"],
37764            "0$1",
37765          ],
37766          [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"],
37767          [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[257-9]"], "0$1"],
37768        ],
37769        [, , "20\\d{8}", , , , "2012345678", , , [10]],
37770        ,
37771        ,
37772        [
37773          ,
37774          ,
37775          "00(?:777(?:[01]|(?:5|8\\d)\\d)|882[1245]\\d\\d)\\d\\d|00(?:37|66|78)\\d{6,13}",
37776        ],
37777        [, , "570\\d{6}", , , , "570123456", , , [9]],
37778        ,
37779        ,
37780        [, , , , , , , , , [-1]],
37781      ],
37782      KE: [
37783        ,
37784        [
37785          ,
37786          ,
37787          "(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",
37788          ,
37789          ,
37790          ,
37791          ,
37792          ,
37793          ,
37794          [7, 8, 9, 10],
37795        ],
37796        [
37797          ,
37798          ,
37799          "(?:4[245]|5[1-79]|6[01457-9])\\d{5,7}|(?:4[136]|5[08]|62)\\d{7}|(?:[24]0|66)\\d{6,7}",
37800          ,
37801          ,
37802          ,
37803          "202012345",
37804          ,
37805          ,
37806          [7, 8, 9],
37807        ],
37808        [
37809          ,
37810          ,
37811          "(?:1(?:0[0-6]|1[0-5]|2[014]|30)|7\\d\\d)\\d{6}",
37812          ,
37813          ,
37814          ,
37815          "712123456",
37816          ,
37817          ,
37818          [9],
37819        ],
37820        [, , "800[2-8]\\d{5,6}", , , , "800223456", , , [9, 10]],
37821        [, , "900[02-9]\\d{5}", , , , "900223456", , , [9]],
37822        [, , , , , , , , , [-1]],
37823        [, , , , , , , , , [-1]],
37824        [, , , , , , , , , [-1]],
37825        "KE",
37826        254,
37827        "000",
37828        "0",
37829        ,
37830        ,
37831        "0",
37832        ,
37833        ,
37834        ,
37835        [
37836          [, "(\\d{2})(\\d{5,7})", "$1 $2", ["[24-6]"], "0$1"],
37837          [, "(\\d{3})(\\d{6})", "$1 $2", ["[17]"], "0$1"],
37838          [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"],
37839        ],
37840        ,
37841        [, , , , , , , , , [-1]],
37842        ,
37843        ,
37844        [, , , , , , , , , [-1]],
37845        [, , , , , , , , , [-1]],
37846        ,
37847        ,
37848        [, , , , , , , , , [-1]],
37849      ],
37850      KG: [
37851        ,
37852        [, , "8\\d{9}|(?:[235-8]\\d|99)\\d{7}", , , , , , , [9, 10], [5, 6]],
37853        [
37854          ,
37855          ,
37856          "312(?:5[0-79]\\d|9(?:[0-689]\\d|7[0-24-9]))\\d{3}|(?:3(?:1(?:2[0-46-8]|3[1-9]|47|[56]\\d)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\d)|5(?:22|3[4-7]|59|6\\d)|6(?:22|5[35-7]|6\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\d)|9(?:22|4[1-8]|6\\d))|6(?:09|12|2[2-4])\\d)\\d{5}",
37857          ,
37858          ,
37859          ,
37860          "312123456",
37861          ,
37862          ,
37863          [9],
37864          [5, 6],
37865        ],
37866        [
37867          ,
37868          ,
37869          "312(?:58\\d|973)\\d{3}|(?:2(?:0[0-35]|2\\d)|5[0-24-7]\\d|600|7(?:[07]\\d|55)|88[08]|99[05-9])\\d{6}",
37870          ,
37871          ,
37872          ,
37873          "700123456",
37874          ,
37875          ,
37876          [9],
37877        ],
37878        [, , "800\\d{6,7}", , , , "800123456"],
37879        [, , , , , , , , , [-1]],
37880        [, , , , , , , , , [-1]],
37881        [, , , , , , , , , [-1]],
37882        [, , , , , , , , , [-1]],
37883        "KG",
37884        996,
37885        "00",
37886        "0",
37887        ,
37888        ,
37889        "0",
37890        ,
37891        ,
37892        ,
37893        [
37894          [, "(\\d{4})(\\d{5})", "$1 $2", ["3(?:1[346]|[24-79])"], "0$1"],
37895          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-79]|88"], "0$1"],
37896          [, "(\\d{3})(\\d{3})(\\d)(\\d{2,3})", "$1 $2 $3 $4", ["8"], "0$1"],
37897        ],
37898        ,
37899        [, , , , , , , , , [-1]],
37900        ,
37901        ,
37902        [, , , , , , , , , [-1]],
37903        [, , , , , , , , , [-1]],
37904        ,
37905        ,
37906        [, , , , , , , , , [-1]],
37907      ],
37908      KH: [
37909        ,
37910        [, , "1\\d{9}|[1-9]\\d{7,8}", , , , , , , [8, 9, 10], [6, 7]],
37911        [
37912          ,
37913          ,
37914          "23(?:4(?:[2-4]|[56]\\d)|[568]\\d\\d)\\d{4}|23[236-9]\\d{5}
37914|(?:2[4-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:(?:[237-9]|4[56]|5\\d)\\d{5}|6\\d{5,6})",
37915          ,
37916          ,
37917          ,
37918          "23756789",
37919          ,
37920          ,
37921          [8, 9],
37922          [6, 7],
37923        ],
37924        [
37925          ,
37926          ,
37927          "(?:(?:1[28]|3[18]|9[67])\\d|6[016-9]|7(?:[07-9]|[16]\\d)|8(?:[013-79]|8\\d))\\d{6}|(?:1\\d|9[0-57-9])\\d{6}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])48\\d{5}",
37928          ,
37929          ,
37930          ,
37931          "91234567",
37932          ,
37933          ,
37934          [8, 9],
37935        ],
37936        [, , "1800(?:1\\d|2[019])\\d{4}", , , , "1800123456", , , [10]],
37937        [, , "1900(?:1\\d|2[09])\\d{4}", , , , "1900123456", , , [10]],
37938        [, , , , , , , , , [-1]],
37939        [, , , , , , , , , [-1]],
37940        [, , , , , , , , , [-1]],
37941        "KH",
37942        855,
37943        "00[14-9]",
37944        "0",
37945        ,
37946        ,
37947        "0",
37948        ,
37949        ,
37950        ,
37951        [
37952          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-9]"], "0$1"],
37953          [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]],
37954        ],
37955        ,
37956        [, , , , , , , , , [-1]],
37957        ,
37958        ,
37959        [, , , , , , , , , [-1]],
37960        [, , , , , , , , , [-1]],
37961        ,
37962        ,
37963        [, , , , , , , , , [-1]],
37964      ],
37965      KI: [
37966        ,
37967        [
37968          ,
37969          ,
37970          "(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",
37971          ,
37972          ,
37973          ,
37974          ,
37975          ,
37976          ,
37977          [5, 8],
37978        ],
37979        [
37980          ,
37981          ,
37982          "(?:[24]\\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\d\\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\\d{3}",
37983          ,
37984          ,
37985          ,
37986          "31234",
37987        ],
37988        [
37989          ,
37990          ,
37991          "(?:6200[01]|7(?:310[1-9]|5(?:02[03-9]|12[0-47-9]|22[0-7]|[34](?:0[1-9]|8[02-9])|50[1-9])))\\d{3}|(?:63\\d\\d|7(?:(?:[0146-9]\\d|2[0-689])\\d|3(?:[02-9]\\d|1[1-9])|5(?:[0-2][013-9]|[34][1-79]|5[1-9]|[6-9]\\d)))\\d{4}",
37992          ,
37993          ,
37994          ,
37995          "72001234",
37996          ,
37997          ,
37998          [8],
37999        ],
38000        [, , , , , , , , , [-1]],
38001        [, , , , , , , , , [-1]],
38002        [, , , , , , , , , [-1]],
38003        [, , , , , , , , , [-1]],
38004        [, , "30(?:0[01]\\d\\d|12(?:11|20))\\d\\d", , , , "30010000", , , [8]],
38005        "KI",
38006        686,
38007        "00",
38008        "0",
38009        ,
38010        ,
38011        "0",
38012        ,
38013        ,
38014        ,
38015        ,
38016        ,
38017        [, , , , , , , , , [-1]],
38018        ,
38019        ,
38020        [, , , , , , , , , [-1]],
38021        [, , , , , , , , , [-1]],
38022        ,
38023        ,
38024        [, , , , , , , , , [-1]],
38025      ],
38026      KM: [
38027        ,
38028        [, , "[3478]\\d{6}", , , , , , , [7], [4]],
38029        [, , "7[4-7]\\d{5}", , , , "7712345", , , , [4]],
38030        [, , "[34]\\d{6}", , , , "3212345"],
38031        [, , , , , , , , , [-1]],
38032        [, , "8\\d{6}", , , , "8001234"],
38033        [, , , , , , , , , [-1]],
38034        [, , , , , , , , , [-1]],
38035        [, , , , , , , , , [-1]],
38036        "KM",
38037        269,
38038        "00",
38039        ,
38040        ,
38041        ,
38042        ,
38043        ,
38044        ,
38045        ,
38046        [[, "(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[3478]"]]],
38047        ,
38048        [, , , , , , , , , [-1]],
38049        ,
38050        ,
38051        [, , , , , , , , , [-1]],
38052        [, , , , , , , , , [-1]],
38053        ,
38054        ,
38055        [, , , , , , , , , [-1]],
38056      ],
38057      KN: [
38058        ,
38059        [, , "(?:[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
38060        [
38061          ,
38062          ,
38063          "869(?:2(?:29|36)|302|4(?:6[015-9]|70)|56[5-7])\\d{4}",
38064          ,
38065          ,
38066          ,
38067          "8692361234",
38068          ,
38069          ,
38070          ,
38071          [7],
38072        ],
38073        [
38074          ,
38075          ,
38076          "869(?:48[89]|55[6-8]|66\\d|76[02-7])\\d{4}",
38077          ,
38078          ,
38079          ,
38080          "8697652917",
38081          ,
38082          ,
38083          ,
38084          [7],
38085        ],
38086        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
38087        [, , "900[2-9]\\d{6}", , , , "9002123456"],
38088        [, , , , , , , , , [-1]],
38089        [
38090          ,
38091          ,
38092          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
38093          ,
38094          ,
38095          ,
38096          "5002345678",
38097        ],
38098        [, , , , , , , , , [-1]],
38099        "KN",
38100        1,
38101        "011",
38102        "1",
38103        ,
38104        ,
38105        "([2-7]\\d{6})$|1",
38106        "869$1",
38107        ,
38108        ,
38109        ,
38110        ,
38111        [, , , , , , , , , [-1]],
38112        ,
38113        "869",
38114        [, , , , , , , , , [-1]],
38115        [, , , , , , , , , [-1]],
38116        ,
38117        ,
38118        [, , , , , , , , , [-1]],
38119      ],
38120      KP: [
38121        ,
38122        [, , "85\\d{6}|(?:19\\d|[2-7])\\d{7}", , , , , , , [8, 10], [6, 7]],
38123        [
38124          ,
38125          ,
38126          "(?:(?:195|2)\\d|3[19]|4[159]|5[37]|6[17]|7[39]|85)\\d{6}",
38127          ,
38128          ,
38129          ,
38130          "21234567",
38131          ,
38132          ,
38133          ,
38134          [6, 7],
38135        ],
38136        [, , "19[1-3]\\d{7}", , , , "1921234567", , , [10]],
38137        [, , , , , , , , , [-1]],
38138        [, , , , , , , , , [-1]],
38139        [, , , , , , , , , [-1]],
38140        [, , , , , , , , , [-1]],
38141        [, , , , , , , , , [-1]],
38142        "KP",
38143        850,
38144        "00|99",
38145        "0",
38146        ,
38147        ,
38148        "0",
38149        ,
38150        ,
38151        ,
38152        [
38153          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"],
38154          [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"],
38155          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"],
38156        ],
38157        ,
38158        [, , , , , , , , , [-1]],
38159        ,
38160        ,
38161        [, , "238[02-9]\\d{4}|2(?:[0-24-9]\\d|3[0-79])\\d{5}", , , , , , , [8]],
38162        [, , , , , , , , , [-1]],
38163        ,
38164        ,
38165        [, , , , , , , , , [-1]],
38166      ],
38167      KR: [
38168        ,
38169        [
38170          ,
38171          ,
38172          "00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",
38173          ,
38174          ,
38175          ,
38176          ,
38177          ,
38178          ,
38179          [5, 6, 8, 9, 10, 11, 12, 13, 14],
38180          [3, 4, 7],
38181        ],
38182        [
38183          ,
38184          ,
38185          "(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\\d{2,3}",
38186          ,
38187          ,
38188          ,
38189          "22123456",
38190          ,
38191          ,
38192          [5, 6, 8, 9, 10],
38193          [3, 4, 7],
38194        ],
38195        [
38196          ,
38197          ,
38198          "1(?:05(?:[0-8]\\d|9[0-6])|22[13]\\d)\\d{4,5}|1(?:0[1-46-9]|[16-9]\\d|2[013-9])\\d{6,7}",
38199          ,
38200          ,
38201          ,
38202          "1020000000",
38203          ,
38204          ,
38205          [9, 10],
38206        ],
38207        [
38208          ,
38209          ,
38210          "00(?:308\\d{6,7}|798\\d{7,9})|(?:00368|80)\\d{7}",
38211          ,
38212          ,
38213          ,
38214          "801234567",
38215          ,
38216          ,
38217          [9, 11, 12, 13, 14],
38218        ],
38219        [, , "60[2-9]\\d{6}", , , , "602345678", , , [9]],
38220        [, , , , , , , , , [-1]],
38221        [, , "50\\d{8,9}", , , , "5012345678", , , [10, 11]],
38222        [, , "70\\d{8}", , , , "7012345678", , , [10]],
38223        "KR",
38224        82,
38225        "00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))",
38226        "0",
38227        ,
38228        ,
38229        "0(8(?:[1-46-8]|5\\d\\d))?",
38230        ,
38231        ,
38232        ,
38233        [
38234          [
38235            ,
38236            "(\\d{5})",
38237            "$1",
38238            ["1[016-9]1", "1[016-9]11", "1[016-9]114"],
38239            "0$1",
38240          ],
38241          [
38242            ,
38243            "(\\d{2})(\\d{3,4})",
38244            "$1-$2",
38245            ["(?:3[1-3]|[46][1-4]|5[1-5])1"],
38246            "0$1",
38247            "0$CC-$1",
38248          ],
38249          [, "(\\d{4})(\\d{4})", "$1-$2", ["1"]],
38250          [, "(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1", "0$CC-$1"],
38251          [
38252            ,
38253            "(\\d{2})(\\d{3})(\\d{4})",
38254            "$1-$2-$3",
38255            ["60|8"],
38256            "0$1",
38257            "0$CC-$1",
38258          ],
38259          [
38260            ,
38261            "(\\d{2})(\\d{3,4})(\\d{4})",
38262            "$1-$2-$3",
38263            ["[1346]|5[1-5]"],
38264            "0$1",
38265            "0$CC-$1",
38266          ],
38267          [
38268            ,
38269            "(\\d{2})(\\d{4})(\\d{4})",
38270            "$1-$2-$3",
38271            ["[57]"],
38272            "0$1",
38273            "0$CC-$1",
38274          ],
38275          [, "(\\d{5})(\\d{3})(\\d{3})", "$1 $2 $3", ["003", "0030"]],
38276          [, "(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1", "0$CC-$1"],
38277          [, "(\\d{5})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0"]],
38278          [, "(\\d{5})(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["0"]],
38279        ],
38280        [
38281          [
38282            ,
38283            "(\\d{2})(\\d{3,4})",
38284            "$1-$2",
38285            ["(?:3[1-3]|[46][1-4]|5[1-5])1"],
38286            "0$1",
38287            "0$CC-$1",
38288          ],
38289          [, "(\\d{4})(\\d{4})", "$1-$2", ["1"]],
38290          [, "(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1", "0$CC-$1"],
38291          [
38292            ,
38293            "(\\d{2})(\\d{3})(\\d{4})",
38294            "$1-$2-$3",
38295            ["60|8"],
38296            "0$1",
38297            "0$CC-$1",
38298          ],
38299          [
38300            ,
38301            "(\\d{2})(\\d{3,4})(\\d{4})",
38302            "$1-$2-$3",
38303            ["[1346]|5[1-5]"],
38304            "0$1",
38305            "0$CC-$1",
38306          ],
38307          [
38308            ,
38309            "(\\d{2})(\\d{4})(\\d{4})",
38310            "$1-$2-$3",
38311            ["[57]"],
38312            "0$1",
38313            "0$CC-$1",
38314          ],
38315          [, "(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1", "0$CC-$1"],
38316        ],
38317        [, , "15\\d{7,8}", , , , "1523456789", , , [9, 10]],
38318        ,
38319        ,
38320        [
38321          ,
38322          ,
38323          "00(?:3(?:08\\d{6,7}|68\\d{7})|798\\d{7,9})",
38324          ,
38325          ,
38326          ,
38327          ,
38328          ,
38329          ,
38330          [11, 12, 13, 14],
38331        ],
38332        [
38333          ,
38334          ,
38335          "1(?:5(?:22|33|44|66|77|88|99)|6(?:[07]0|44|6[168]|88)|8(?:00|33|55|77|99))\\d{4}",
38336          ,
38337          ,
38338          ,
38339          "15441234",
38340          ,
38341          ,
38342          [8],
38343        ],
38344        ,
38345        ,
38346        [, , , , , , , , , [-1]],
38347      ],
38348      KW: [
38349        ,
38350        [, , "18\\d{5}|(?:[2569]\\d|41)\\d{6}", , , , , , , [7, 8]],
38351        [
38352          ,
38353          ,
38354          "2(?:[23]\\d\\d|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7]))\\d{4}",
38355          ,
38356          ,
38357          ,
38358          "22345678",
38359          ,
38360          ,
38361          [8],
38362        ],
38363        [
38364          ,
38365          ,
38366          "(?:41\\d\\d|5(?:(?:[05]\\d|1[0-7]|6[56])\\d|2(?:22|5[25])|7(?:55|77)|88[58])|6(?:(?:0[034679]|5[015-9]|6\\d)\\d|1(?:00|11|66)|222|3[36]3|444|7(?:0[013-9]|[67]\\d)|888|9(?:[069]\\d|3[039]))|9(?:(?:0[09]|[4679]\\d|8[057-9])\\d|1(?:1[01]|99)|2(?:00|2\\d)|3(?:00|3[03])|5(?:00|5\\d)))\\d{4}",
38367          ,
38368          ,
38369          ,
38370          "50012345",
38371          ,
38372          ,
38373          [8],
38374        ],
38375        [, , "18\\d{5}", , , , "1801234", , , [7]],
38376        [, , , , , , , , , [-1]],
38377        [, , , , , , , , , [-1]],
38378        [, , , , , , , , , [-1]],
38379        [, , , , , , , , , [-1]],
38380        "KW",
38381        965,
38382        "00",
38383        ,
38384        ,
38385        ,
38386        ,
38387        ,
38388        ,
38389        ,
38390        [
38391          [, "(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]],
38392          [, "(\\d{3})(\\d{5})", "$1 $2", ["[245]"]],
38393        ],
38394        ,
38395        [, , , , , , , , , [-1]],
38396        ,
38397        ,
38398        [, , , , , , , , , [-1]],
38399        [, , , , , , , , , [-1]],
38400        ,
38401        ,
38402        [, , , , , , , , , [-1]],
38403      ],
38404      KY: [
38405        ,
38406        [, , "(?:345|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
38407        [
38408          ,
38409          ,
38410          "345(?:2(?:22|3[23]|44|66)|333|444|6(?:23|38|40)|7(?:30|4[35-79]|6[6-9]|77)|8(?:00|1[45]|[48]8)|9(?:14|4[035-9]))\\d{4}",
38411          ,
38412          ,
38413          ,
38414          "3452221234",
38415          ,
38416          ,
38417          ,
38418          [7],
38419        ],
38420        [
38421          ,
38422          ,
38423          "345(?:32[1-9]|42[0-4]|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|82[56]|9(?:1[679]|2[2-9]|3[06-9]|90))\\d{4}",
38424          ,
38425          ,
38426          ,
38427          "3453231234",
38428          ,
38429          ,
38430          ,
38431          [7],
38432        ],
38433        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"],
38434        [, , "(?:345976|900[2-9]\\d\\d)\\d{4}", , , , "9002345678"],
38435        [, , , , , , , , , [-1]],
38436        [
38437          ,
38438          ,
38439          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
38440          ,
38441          ,
38442          ,
38443          "5002345678",
38444        ],
38445        [, , , , , , , , , [-1]],
38446        "KY",
38447        1,
38448        "011",
38449        "1",
38450        ,
38451        ,
38452        "([2-9]\\d{6})$|1",
38453        "345$1",
38454        ,
38455        ,
38456        ,
38457        ,
38458        [, , "345849\\d{4}", , , , "3458491234"],
38459        ,
38460        "345",
38461        [, , , , , , , , , [-1]],
38462        [, , , , , , , , , [-1]],
38463        ,
38464        ,
38465        [, , , , , , , , , [-1]],
38466      ],
38467      KZ: [
38468        ,
38469        [
38470          ,
38471          ,
38472          "(?:33622|8\\d{8})\\d{5}|[78]\\d{9}",
38473          ,
38474          ,
38475          ,
38476          ,
38477          ,
38478          ,
38479          [10, 14],
38480          [5, 6, 7],
38481        ],
38482        [
38483          ,
38484          ,
38485          "(?:33622|7(?:1(?:0(?:[23]\\d|4[0-3]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\d|3[013-9]|5[1-9]|97)|5(?:2\\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]|59))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[2-4]\\d|5[139])|4(?:2\\d|3[1-35-9]|59)|5(?:[23]\\d|4[0-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59))))\\d{5}",
38486          ,
38487          ,
38488          ,
38489          "7123456789",
38490          ,
38491          ,
38492          [10],
38493          [5, 6, 7],
38494        ],
38495        [
38496          ,
38497          ,
38498          "7(?:0[0-25-8]|47|6[0-4]|7[15-8]|85)\\d{7}",
38499          ,
38500          ,
38501          ,
38502          "7710009998",
38503          ,
38504          ,
38505          [10],
38506        ],
38507        [, , "8(?:00|108\\d{3})\\d{7}", , , , "8001234567"],
38508        [, , "809\\d{7}", , , , "8091234567", , , [10]],
38509        [, , , , , , , , , [-1]],
38510        [, , "808\\d{7}", , , , "8081234567", , , [10]],
38511        [, , "751\\d{7}", , , , "7511234567", , , [10]],
38512        "KZ",
38513        7,
38514        "810",
38515        "8",
38516        ,
38517        ,
38518        "8",
38519        ,
38520        "8~10",
38521        ,
38522        ,
38523        ,
38524        [, , , , , , , , , [-1]],
38525        ,
38526        "33|7",
38527        [, , "751\\d{7}", , , , , , , [10]],
38528        [, , , , , , , , , [-1]],
38529        ,
38530        ,
38531        [, , , , , , , , , [-1]],
38532      ],
38533      LA: [
38534        ,
38535        [
38536          ,
38537          ,
38538          "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}",
38539          ,
38540          ,
38541          ,
38542          ,
38543          ,
38544          ,
38545          [8, 9, 10],
38546          [6],
38547        ],
38548        [
38549          ,
38550          ,
38551          "(?:2[13]|[35-7][14]|41|8[1468])\\d{6}",
38552          ,
38553          ,
38554          ,
38555          "21212862",
38556          ,
38557          ,
38558          [8],
38559          [6],
38560        ],
38561        [
38562          ,
38563          ,
38564          "(?:20(?:[2359]\\d|7[6-8]|88)|302\\d)\\d{6}",
38565          ,
38566          ,
38567          ,
38568          "2023123456",
38569          ,
38570          ,
38571          [10],
38572        ],
38573        [, , , , , , , , , [-1]],
38574        [, , , , , , , , , [-1]],
38575        [, , , , , , , , , [-1]],
38576        [, , , , , , , , , [-1]],
38577        [, , , , , , , , , [-1]],
38578        "LA",
38579        856,
38580        "00",
38581        "0",
38582        ,
38583        ,�
38583
38584        "0",
38585        ,
38586        ,
38587        ,
38588        [
38589          [
38590            ,
38591            "(\\d{2})(\\d{3})(\\d{3})",
38592            "$1 $2 $3",
38593            ["2[13]|3[14]|[4-8]"],
38594            "0$1",
38595          ],
38596          [
38597            ,
38598            "(\\d{2})(\\d{2})(\\d{2})(\\d{3})",
38599            "$1 $2 $3 $4",
38600            ["30[013-9]"],
38601            "0$1",
38602          ],
38603          [
38604            ,
38605            "(\\d{2})(\\d{2})(\\d{3})(\\d{3})",
38606            "$1 $2 $3 $4",
38607            ["[23]"],
38608            "0$1",
38609          ],
38610        ],
38611        ,
38612        [, , , , , , , , , [-1]],
38613        ,
38614        ,
38615        [, , , , , , , , , [-1]],
38616        [, , "30[013-9]\\d{6}", , , , "301234567", , , [9]],
38617        ,
38618        ,
38619        [, , , , , , , , , [-1]],
38620      ],
38621      LB: [
38622        ,
38623        [, , "[27-9]\\d{7}|[13-9]\\d{6}", , , , , , , [7, 8]],
38624        [
38625          ,
38626          ,
38627          "7(?:62|8[0-7]|9[04-9])\\d{4}|(?:[14-69]\\d|2(?:[14-69]\\d|[78][1-9])|7[2-57]|8[02-9])\\d{5}",
38628          ,
38629          ,
38630          ,
38631          "1123456",
38632        ],
38633        [
38634          ,
38635          ,
38636          "793(?:[01]\\d|2[0-4])\\d{3}|(?:(?:3|81)\\d|7(?:[01]\\d|6[013-9]|8[89]|9[12]))\\d{5}",
38637          ,
38638          ,
38639          ,
38640          "71123456",
38641        ],
38642        [, , , , , , , , , [-1]],
38643        [, , "9[01]\\d{6}", , , , "90123456", , , [8]],
38644        [, , "80\\d{6}", , , , "80123456", , , [8]],
38645        [, , , , , , , , , [-1]],
38646        [, , , , , , , , , [-1]],
38647        "LB",
38648        961,
38649        "00",
38650        "0",
38651        ,
38652        ,
38653        "0",
38654        ,
38655        ,
38656        ,
38657        [
38658          [
38659            ,
38660            "(\\d)(\\d{3})(\\d{3})",
38661            "$1 $2 $3",
38662            ["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],
38663            "0$1",
38664          ],
38665          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27-9]"]],
38666        ],
38667        ,
38668        [, , , , , , , , , [-1]],
38669        ,
38670        ,
38671        [, , , , , , , , , [-1]],
38672        [, , , , , , , , , [-1]],
38673        ,
38674        ,
38675        [, , , , , , , , , [-1]],
38676      ],
38677      LC: [
38678        ,
38679        [, , "(?:[58]\\d\\d|758|900)\\d{7}", , , , , , , [10], [7]],
38680        [
38681          ,
38682          ,
38683          "758(?:234|4(?:30|5\\d|6[2-9]|8[0-2])|57[0-2]|(?:63|75)8)\\d{4}",
38684          ,
38685          ,
38686          ,
38687          "7584305678",
38688          ,
38689          ,
38690          ,
38691          [7],
38692        ],
38693        [
38694          ,
38695          ,
38696          "758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\\d|3[0-3])|812)\\d{4}",
38697          ,
38698          ,
38699          ,
38700          "7582845678",
38701          ,
38702          ,
38703          ,
38704          [7],
38705        ],
38706        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
38707        [, , "900[2-9]\\d{6}", , , , "9002123456"],
38708        [, , , , , , , , , [-1]],
38709        [
38710          ,
38711          ,
38712          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
38713          ,
38714          ,
38715          ,
38716          "5002345678",
38717        ],
38718        [, , , , , , , , , [-1]],
38719        "LC",
38720        1,
38721        "011",
38722        "1",
38723        ,
38724        ,
38725        "([2-8]\\d{6})$|1",
38726        "758$1",
38727        ,
38728        ,
38729        ,
38730        ,
38731        [, , , , , , , , , [-1]],
38732        ,
38733        "758",
38734        [, , , , , , , , , [-1]],
38735        [, , , , , , , , , [-1]],
38736        ,
38737        ,
38738        [, , , , , , , , , [-1]],
38739      ],
38740      LI: [
38741        ,
38742        [, , "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", , , , , , , [7, 9]],
38743        [
38744          ,
38745          ,
38746          "(?:2(?:01|1[27]|2[02]|3\\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\\d{4}",
38747          ,
38748          ,
38749          ,
38750          "2345678",
38751          ,
38752          ,
38753          [7],
38754        ],
38755        [
38756          ,
38757          ,
38758          "(?:6(?:(?:4[5-9]|5[0-4])\\d|6(?:[0245]\\d|[17]0|3[7-9]))\\d|7(?:[37-9]\\d|42|56))\\d{4}",
38759          ,
38760          ,
38761          ,
38762          "660234567",
38763        ],
38764        [, , "8002[28]\\d\\d|80(?:05\\d|9)\\d{4}", , , , "8002222"],
38765        [
38766          ,
38767          ,
38768          "90(?:02[258]|1(?:23|3[14])|66[136])\\d\\d",
38769          ,
38770          ,
38771          ,
38772          "9002222",
38773          ,
38774          ,
38775          [7],
38776        ],
38777        [, , , , , , , , , [-1]],
38778        [, , , , , , , , , [-1]],
38779        [, , , , , , , , , [-1]],
38780        "LI",
38781        423,
38782        "00",
38783        "0",
38784        ,
38785        ,
38786        "(1001)|0",
38787        ,
38788        ,
38789        ,
38790        [
38791          [
38792            ,
38793            "(\\d{3})(\\d{2})(\\d{2})",
38794            "$1 $2 $3",
38795            ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"],
38796            ,
38797            "$CC $1",
38798          ],
38799          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]],
38800          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"], , "$CC $1"],
38801          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"], , "$CC $1"],
38802        ],
38803        ,
38804        [, , , , , , , , , [-1]],
38805        ,
38806        ,
38807        [, , , , , , , , , [-1]],
38808        [, , "870(?:28|87)\\d\\d", , , , "8702812", , , [7]],
38809        ,
38810        ,
38811        [, , "697(?:42|56|[78]\\d)\\d{4}", , , , "697861234", , , [9]],
38812      ],
38813      LK: [
38814        ,
38815        [, , "[1-9]\\d{8}", , , , , , , [9], [7]],
38816        [
38817          ,
38818          ,
38819          "(?:12[2-9]|602|8[12]\\d|9(?:1\\d|22|9[245]))\\d{6}|(?:11|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\d{6}",
38820          ,
38821          ,
38822          ,
38823          "112345678",
38824          ,
38825          ,
38826          ,
38827          [7],
38828        ],
38829        [, , "7(?:[0-25-8]\\d|4[0-4])\\d{6}", , , , "712345678"],
38830        [, , , , , , , , , [-1]],
38831        [, , , , , , , , , [-1]],
38832        [, , , , , , , , , [-1]],
38833        [, , , , , , , , , [-1]],
38834        [, , , , , , , , , [-1]],
38835        "LK",
38836        94,
38837        "00",
38838        "0",
38839        ,
38840        ,
38841        "0",
38842        ,
38843        ,
38844        ,
38845        [
38846          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"],
38847          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[1-689]"], "0$1"],
38848        ],
38849        ,
38850        [, , , , , , , , , [-1]],
38851        ,
38852        ,
38853        [, , , , , , , , , [-1]],
38854        [, , "1973\\d{5}", , , , "197312345"],
38855        ,
38856        ,
38857        [, , , , , , , , , [-1]],
38858      ],
38859      LR: [
38860        ,
38861        [
38862          ,
38863          ,
38864          "(?:[25]\\d|33|77|88)\\d{7}|(?:2\\d|[4-6])\\d{6}",
38865          ,
38866          ,
38867          ,
38868          ,
38869          ,
38870          ,
38871          [7, 8, 9],
38872        ],
38873        [, , "2\\d{7}", , , , "21234567", , , [8]],
38874        [
38875          ,
38876          ,
38877          "(?:(?:(?:22|33)0|555|(?:77|88)\\d)\\d|4[67])\\d{5}|[56]\\d{6}",
38878          ,
38879          ,
38880          ,
38881          "770123456",
38882          ,
38883          ,
38884          [7, 9],
38885        ],
38886        [, , , , , , , , , [-1]],
38887        [, , "332(?:02|[34]\\d)\\d{4}", , , , "332021234", , , [9]],
38888        [, , , , , , , , , [-1]],
38889        [, , , , , , , , , [-1]],
38890        [, , , , , , , , , [-1]],
38891        "LR",
38892        231,
38893        "00",
38894        "0",
38895        ,
38896        ,
38897        "0",
38898        ,
38899        ,
38900        ,
38901        [
38902          [, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[4-6]"], "0$1"],
38903          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"],
38904          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23578]"], "0$1"],
38905        ],
38906        ,
38907        [, , , , , , , , , [-1]],
38908        ,
38909        ,
38910        [, , , , , , , , , [-1]],
38911        [, , , , , , , , , [-1]],
38912        ,
38913        ,
38914        [, , , , , , , , , [-1]],
38915      ],
38916      LS: [
38917        ,
38918        [, , "(?:[256]\\d\\d|800)\\d{5}", , , , , , , [8]],
38919        [, , "2\\d{7}", , , , "22123456"],
38920        [, , "[56]\\d{7}", , , , "50123456"],
38921        [, , "800[256]\\d{4}", , , , "80021234"],
38922        [, , , , , , , , , [-1]],
38923        [, , , , , , , , , [-1]],
38924        [, , , , , , , , , [-1]],
38925        [, , , , , , , , , [-1]],
38926        "LS",
38927        266,
38928        "00",
38929        ,
38930        ,
38931        ,
38932        ,
38933        ,
38934        ,
38935        ,
38936        [[, "(\\d{4})(\\d{4})", "$1 $2", ["[2568]"]]],
38937        ,
38938        [, , , , , , , , , [-1]],
38939        ,
38940        ,
38941        [, , , , , , , , , [-1]],
38942        [, , , , , , , , , [-1]],
38943        ,
38944        ,
38945        [, , , , , , , , , [-1]],
38946      ],
38947      LT: [
38948        ,
38949        [, , "(?:[3469]\\d|52|[78]0)\\d{6}", , , , , , , [8]],
38950        [, , "(?:3[1478]|4[124-6]|52)\\d{6}", , , , "31234567"],
38951        [, , "6\\d{7}", , , , "61234567"],
38952        [, , "80[02]\\d{5}", , , , "80012345"],
38953        [, , "9(?:0[0239]|10)\\d{5}", , , , "90012345"],
38954        [, , "808\\d{5}
38954", , , , "80812345"],
38955        [, , "70[05]\\d{5}", , , , "70012345"],
38956        [, , "[89]01\\d{5}", , , , "80123456"],
38957        "LT",
38958        370,
38959        "00",
38960        "8",
38961        ,
38962        ,
38963        "[08]",
38964        ,
38965        ,
38966        ,
38967        [
38968          [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["52[0-7]"], "(8-$1)", , 1],
38969          [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[7-9]"], "8 $1", , 1],
38970          [
38971            ,
38972            "(\\d{2})(\\d{6})",
38973            "$1 $2",
38974            ["37|4(?:[15]|6[1-8])"],
38975            "(8-$1)",
38976            ,
38977            1,
38978          ],
38979          [, "(\\d{3})(\\d{5})", "$1 $2", ["[3-6]"], "(8-$1)", , 1],
38980        ],
38981        ,
38982        [, , , , , , , , , [-1]],
38983        ,
38984        ,
38985        [, , , , , , , , , [-1]],
38986        [, , "70[67]\\d{5}", , , , "70712345"],
38987        ,
38988        ,
38989        [, , , , , , , , , [-1]],
38990      ],
38991      LU: [
38992        ,
38993        [
38994          ,
38995          ,
38996          "35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",
38997          ,
38998          ,
38999          ,
39000          ,
39001          ,
39002          ,
39003          [4, 5, 6, 7, 8, 9, 10, 11],
39004        ],
39005        [
39006          ,
39007          ,
39008          "(?:35[013-9]|80[2-9]|90[89])\\d{1,8}|(?:2[2-9]|3[0-46-9]|[457]\\d|8[13-9]|9[2-579])\\d{2,9}",
39009          ,
39010          ,
39011          ,
39012          "27123456",
39013        ],
39014        [
39015          ,
39016          ,
39017          "6(?:[269][18]|5[1568]|7[189]|81)\\d{6}",
39018          ,
39019          ,
39020          ,
39021          "628123456",
39022          ,
39023          ,
39024          [9],
39025        ],
39026        [, , "800\\d{5}", , , , "80012345", , , [8]],
39027        [, , "90[015]\\d{5}", , , , "90012345", , , [8]],
39028        [, , "801\\d{5}", , , , "80112345", , , [8]],
39029        [, , , , , , , , , [-1]],
39030        [
39031          ,
39032          ,
39033          "20(?:1\\d{5}|[2-689]\\d{1,7})",
39034          ,
39035          ,
39036          ,
39037          "20201234",
39038          ,
39039          ,
39040          [4, 5, 6, 7, 8, 9, 10],
39041        ],
39042        "LU",
39043        352,
39044        "00",
39045        ,
39046        ,
39047        ,
39048        "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)",
39049        ,
39050        ,
39051        ,
39052        [
39053          [
39054            ,
39055            "(\\d{2})(\\d{3})",
39056            "$1 $2",
39057            [
39058              "2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])",
39059            ],
39060            ,
39061            "$CC $1",
39062          ],
39063          [
39064            ,
39065            "(\\d{2})(\\d{2})(\\d{2})",
39066            "$1 $2 $3",
39067            [
39068              "2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])",
39069            ],
39070            ,
39071            "$CC $1",
39072          ],
39073          [, "(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["20[2-689]"], , "$CC $1"],
39074          [
39075            ,
39076            "(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})",
39077            "$1 $2 $3 $4",
39078            ["2(?:[0367]|4[3-8])"],
39079            ,
39080            "$CC $1",
39081          ],
39082          [
39083            ,
39084            "(\\d{3})(\\d{2})(\\d{3})",
39085            "$1 $2 $3",
39086            ["80[01]|90[015]"],
39087            ,
39088            "$CC $1",
39089          ],
39090          [
39091            ,
39092            "(\\d{2})(\\d{2})(\\d{2})(\\d{3})",
39093            "$1 $2 $3 $4",
39094            ["20"],
39095            ,
39096            "$CC $1",
39097          ],
39098          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"], , "$CC $1"],
39099          [
39100            ,
39101            "(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})",
39102            "$1 $2 $3 $4 $5",
39103            ["2(?:[0367]|4[3-8])"],
39104            ,
39105            "$CC $1",
39106          ],
39107          [
39108            ,
39109            "(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})",
39110            "$1 $2 $3 $4",
39111            ["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"],
39112            ,
39113            "$CC $1",
39114          ],
39115        ],
39116        ,
39117        [, , , , , , , , , [-1]],
39118        ,
39119        ,
39120        [, , , , , , , , , [-1]],
39121        [, , , , , , , , , [-1]],
39122        ,
39123        ,
39124        [, , , , , , , , , [-1]],
39125      ],
39126      LV: [
39127        ,
39128        [, , "(?:[268]\\d|90)\\d{6}", , , , , , , [8]],
39129        [, , "6\\d{7}", , , , "63123456"],
39130        [
39131          ,
39132          ,
39133          "23(?:23[0-57-9]|33[0238])\\d{3}|2(?:[0-24-9]\\d\\d|3(?:0[07]|[14-9]\\d|2[024-9]|3[0-24-9]))\\d{4}",
39134          ,
39135          ,
39136          ,
39137          "21234567",
39138        ],
39139        [, , "80\\d{6}", , , , "80123456"],
39140        [, , "90\\d{6}", , , , "90123456"],
39141        [, , "81\\d{6}", , , , "81123456"],
39142        [, , , , , , , , , [-1]],
39143        [, , , , , , , , , [-1]],
39144        "LV",
39145        371,
39146        "00",
39147        ,
39148        ,
39149        ,
39150        ,
39151        ,
39152        ,
39153        ,
39154        [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[269]|8[01]"]]],
39155        ,
39156        [, , , , , , , , , [-1]],
39157        ,
39158        ,
39159        [, , , , , , , , , [-1]],
39160        [, , , , , , , , , [-1]],
39161        ,
39162        ,
39163        [, , , , , , , , , [-1]],
39164      ],
39165      LY: [
39166        ,
39167        [, , "[2-9]\\d{8}", , , , , , , [9], [7]],
39168        [
39169          ,
39170          ,
39171          "(?:2(?:0[56]|[1-6]\\d|7[124579]|8[124])|3(?:1\\d|2[2356])|4(?:[17]\\d|2[1-357]|5[2-4]|8[124])|5(?:[1347]\\d|2[1-469]|5[13-5]|8[1-4])|6(?:[1-479]\\d|5[2-57]|8[1-5])|7(?:[13]\\d|2[13-79])|8(?:[124]\\d|5[124]|84))\\d{6}",
39172          ,
39173          ,
39174          ,
39175          "212345678",
39176          ,
39177          ,
39178          ,
39179          [7],
39180        ],
39181        [, , "9[1-6]\\d{7}", , , , "912345678"],
39182        [, , , , , , , , , [-1]],
39183        [, , , , , , , , , [-1]],
39184        [, , , , , , , , , [-1]],
39185        [, , , , , , , , , [-1]],
39186        [, , , , , , , , , [-1]],
39187        "LY",
39188        218,
39189        "00",
39190        "0",
39191        ,
39192        ,
39193        "0",
39194        ,
39195        ,
39196        ,
39197        [[, "(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]],
39198        ,
39199        [, , , , , , , , , [-1]],
39200        ,
39201        ,
39202        [, , , , , , , , , [-1]],
39203        [, , , , , , , , , [-1]],
39204        ,
39205        ,
39206        [, , , , , , , , , [-1]],
39207      ],
39208      MA: [
39209        ,
39210        [, , "[5-8]\\d{8}", , , , , , , [9]],
39211        [
39212          ,
39213          ,
39214          "5293[01]\\d{4}|5(?:2(?:[0-25-7]\\d|3[1-578]|4[02-46-8]|8[0235-7]|9[0-289])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[0189]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}",
39215          ,
39216          ,
39217          ,
39218          "520123456",
39219        ],
39220        [
39221          ,
39222          ,
39223          "(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[017]\\d|2[0-2]|6[0-8]|8[0-3]))\\d{6}",
39224          ,
39225          ,
39226          ,
39227          "650123456",
39228        ],
39229        [, , "80\\d{7}", , , , "801234567"],
39230        [, , "89\\d{7}", , , , "891234567"],
39231        [, , , , , , , , , [-1]],
39232        [, , , , , , , , , [-1]],
39233        [, , "592(?:4[0-2]|93)\\d{4}", , , , "592401234"],
39234        "MA",
39235        212,
39236        "00",
39237        "0",
39238        ,
39239        ,
39240        "0",
39241        ,
39242        ,
39243        ,
39244        [
39245          [
39246            ,
39247            "(\\d{5})(\\d{4})",
39248            "$1-$2",
39249            [
39250              "5(?:29|38)",
39251              "5(?:29[1289]|389)",
39252              "529(?:1[1-46-9]|2[013-8]|90)|5(?:298|389)[0-46-9]",
39253            ],
39254            "0$1",
39255          ],
39256          [
39257            ,
39258            "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
39259            "$1 $2 $3 $4",
39260            ["5[45]"],
39261            "0$1",
39262          ],
39263          [
39264            ,
39265            "(\\d{4})(\\d{5})",
39266            "$1-$2",
39267            [
39268              "5(?:2[2-489]|3[5-9]|9)|892",
39269              "5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|892",
39270            ],
39271            "0$1",
39272          ],
39273          [, "(\\d{2})(\\d{7})", "$1-$2", ["8"], "0$1"],
39274          [, "(\\d{3})(\\d{6})", "$1-$2", ["[5-7]"], "0$1"],
39275        ],
39276        ,
39277        [, , , , , , , , , [-1]],
39278        1,
39279        ,
39280        [, , , , , , , , , [-1]],
39281        [, , , , , , , , , [-1]],
39282        ,
39283        ,
39284        [, , , , , , , , , [-1]],
39285      ],
39286      MC: [
39287        ,
39288        [, , "(?:[3489]|6\\d)\\d{7}", , , , , , , [8, 9]],
39289        [, , "(?:870|9[2-47-9]\\d)\\d{5}", , , , "99123456", , , [8]],
39290        [, , "4(?:[46]\\d|5[1-9])\\d{5}|(?:3|6\\d)\\d{7}", , , , "612345678"],
39291        [, , "(?:800|90\\d)\\d{5}", , , , "90123456", , , [8]],
39292        [, , , , , , , , , [-1]],
39293        [, , , , , , , , , [-1]],
39294        [, , , , , , , , , [-1]],
39295        [, , , , , , , , , [-1]],
39296        "MC",
39297        377,
39298        "00",
39299        "0",
39300        ,
39301        ,
39302        "0",
39303        ,
39304        ,
39305        ,
39306        [
39307          [, "(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["87"]],
39308          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"],
39309          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]],
39310          [
39311            ,
39312            "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
39313            "$1 $2 $3 $4 $5",
39314            ["6"],
39315            "0$1",
39316          ],
39317        ],
39318        [
39319          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"],
39320          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]],
39321          [
39322            ,
39323            "(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
39324            "$1 $2 $3 $4 $5",
39325            ["6"],
39326            "0$1",
39327          ],
39328        ],
39329        [, , , , , , , , , [-1]],
39330        ,
39331        ,
39332        [, , "8[07]0\\d{5}", , , , , , , [8]],
39333        [, , , , , , , , , [-1]],
39334        ,
39335        ,
39336        [, , , , , , , , , [-1]],
39337      ],
39338      MD: [
39339        ,
39340        [, , "(?:[235-7]\\d|[89]0)\\d{6}", , , , , , , [8]],
39341        [
39342          ,
39343          ,
39344          "(?:(?:2[1-9]|3[1-79])\\d|5(?:33|5[257]))\\d{5}",
39345          ,
39346          ,
39347          ,
39348          "22212345",
39349        ],
39350        [, , "562\\d{5}|(?:6\\d|7[16-9])\\d{6}", , , , "62112345"],
39351        [, , "800\\d{5}", , , , "80012345"],
39352        [, , "90[056]\\d{5}", , , , "90012345"],
39353        [, , "808\\d{5}
39353", , , , "80812345"],
39354        [, , , , , , , , , [-1]],
39355        [, , "3[08]\\d{6}", , , , "30123456"],
39356        "MD",
39357        373,
39358        "00",
39359        "0",
39360        ,
39361        ,
39362        "0",
39363        ,
39364        ,
39365        ,
39366        [
39367          [, "(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"],
39368          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["22|3"], "0$1"],
39369          [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[25-7]"], "0$1"],
39370        ],
39371        ,
39372        [, , , , , , , , , [-1]],
39373        ,
39374        ,
39375        [, , , , , , , , , [-1]],
39376        [, , "803\\d{5}", , , , "80312345"],
39377        ,
39378        ,
39379        [, , , , , , , , , [-1]],
39380      ],
39381      ME: [
39382        ,
39383        [, , "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", , , , , , , [8, 9], [6]],
39384        [
39385          ,
39386          ,
39387          "(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\\d{5}",
39388          ,
39389          ,
39390          ,
39391          "30234567",
39392          ,
39393          ,
39394          [8],
39395          [6],
39396        ],
39397        [, , "6(?:[07-9]\\d|3[024]|6[0-25])\\d{5}", , , , "67622901", , , [8]],
39398        [, , "80(?:[0-2578]|9\\d)\\d{5}", , , , "80080002"],
39399        [, , "9(?:4[1568]|5[178])\\d{5}", , , , "94515151", , , [8]],
39400        [, , , , , , , , , [-1]],
39401        [, , , , , , , , , [-1]],
39402        [, , "78[1-49]\\d{5}", , , , "78108780", , , [8]],
39403        "ME",
39404        382,
39405        "00",
39406        "0",
39407        ,
39408        ,
39409        "0",
39410        ,
39411        ,
39412        ,
39413        [[, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]],
39414        ,
39415        [, , , , , , , , , [-1]],
39416        ,
39417        ,
39418        [, , , , , , , , , [-1]],
39419        [, , "77[1-9]\\d{5}", , , , "77273012", , , [8]],
39420        ,
39421        ,
39422        [, , , , , , , , , [-1]],
39423      ],
39424      MF: [
39425        ,
39426        [, , "590\\d{6}|(?:69|80|9\\d)\\d{7}", , , , , , , [9]],
39427        [
39428          ,
39429          ,
39430          "590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\d{4}",
39431          ,
39432          ,
39433          ,
39434          "590271234",
39435        ],
39436        [, , "69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))\\d{4}", , , , "690001234"],
39437        [, , "80[0-5]\\d{6}", , , , "800012345"],
39438        [, , , , , , , , , [-1]],
39439        [, , , , , , , , , [-1]],
39440        [, , , , , , , , , [-1]],
39441        [, , "9(?:(?:395|76[018])\\d|475[0-2])\\d{4}", , , , "976012345"],
39442        "MF",
39443        590,
39444        "00",
39445        "0",
39446        ,
39447        ,
39448        "0",
39449        ,
39450        ,
39451        ,
39452        ,
39453        ,
39454        [, , , , , , , , , [-1]],
39455        ,
39456        ,
39457        [, , , , , , , , , [-1]],
39458        [, , , , , , , , , [-1]],
39459        ,
39460        ,
39461        [, , , , , , , , , [-1]],
39462      ],
39463      MG: [
39464        ,
39465        [, , "[23]\\d{8}", , , , , , , [9], [7]],
39466        [
39467          ,
39468          ,
39469          "2072[29]\\d{4}|20(?:2\\d|4[47]|5[3467]|6[279]|7[35]|8[268]|9[245])\\d{5}",
39470          ,
39471          ,
39472          ,
39473          "202123456",
39474          ,
39475          ,
39476          ,
39477          [7],
39478        ],
39479        [, , "3[2-47-9]\\d{7}", , , , "321234567"],
39480        [, , , , , , , , , [-1]],
39481        [, , , , , , , , , [-1]],
39482        [, , , , , , , , , [-1]],
39483        [, , , , , , , , , [-1]],
39484        [, , "22\\d{7}", , , , "221234567"],
39485        "MG",
39486        261,
39487        "00",
39488        "0",
39489        ,
39490        ,
39491        "([24-9]\\d{6})$|0",
39492        "20$1",
39493        ,
39494        ,
39495        [
39496          [
39497            ,
39498            "(\\d{2})(\\d{2})(\\d{3})(\\d{2})",
39499            "$1 $2 $3 $4",
39500            ["[23]"],
39501            "0$1",
39502          ],
39503        ],
39504        ,
39505        [, , , , , , , , , [-1]],
39506        ,
39507        ,
39508        [, , , , , , , , , [-1]],
39509        [, , , , , , , , , [-1]],
39510        ,
39511        ,
39512        [, , , , , , , , , [-1]],
39513      ],
39514      MH: [
39515        ,
39516        [, , "329\\d{4}|(?:[256]\\d|45)\\d{5}", , , , , , , [7]],
39517        [, , "(?:247|45[78]|528|625)\\d{4}", , , , "2471234"],
39518        [, , "(?:(?:23|54)5|329|45[356])\\d{4}", , , , "2351234"],
39519        [, , , , , , , , , [-1]],
39520        [, , , , , , , , , [-1]],
39521        [, , , , , , , , , [-1]],
39522        [, , , , , , , , , [-1]],
39523        [, , "635\\d{4}", , , , "6351234"],
39524        "MH",
39525        692,
39526        "011",
39527        "1",
39528        ,
39529        ,
39530        "1",
39531        ,
39532        ,
39533        ,
39534        [[, "(\\d{3})(\\d{4})", "$1-$2", ["[2-6]"]]],
39535        ,
39536        [, , , , , , , , , [-1]],
39537        ,
39538        ,
39539        [, , , , , , , , , [-1]],
39540        [, , , , , , , , , [-1]],
39541        ,
39542        ,
39543        [, , , , , , , , , [-1]],
39544      ],
39545      MK: [
39546        ,
39547        [, , "[2-578]\\d{7}", , , , , , , [8], [6, 7]],
39548        [
39549          ,
39550          ,
39551          "(?:(?:2(?:62|77)0|3444)\\d|4[56]440)\\d{3}|(?:34|4[357])700\\d{3}|(?:2(?:[0-3]\\d|5[0-578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\\d{5}",
39552          ,
39553          ,
39554          ,
39555          "22012345",
39556          ,
39557          ,
39558          ,
39559          [6, 7],
39560        ],
39561        [
39562          ,
39563          ,
39564          "7(?:3555|(?:474|9[019]7)7)\\d{3}
39564|7(?:[0-25-8]\\d\\d|3(?:[1-48]\\d|7[01578])|4(?:2\\d|60|7[01578])|9(?:[2-4]\\d|5[01]|7[015]))\\d{4}",
39565          ,
39566          ,
39567          ,
39568          "72345678",
39569        ],
39570        [, , "800\\d{5}", , , , "80012345"],
39571        [, , "5\\d{7}", , , , "50012345"],
39572        [, , "8(?:0[1-9]|[1-9]\\d)\\d{5}", , , , "80123456"],
39573        [, , , , , , , , , [-1]],
39574        [, , , , , , , , , [-1]],
39575        "MK",
39576        389,
39577        "00",
39578        "0",
39579        ,
39580        ,
39581        "0",
39582        ,
39583        ,
39584        ,
39585        [
39586          [
39587            ,
39588            "(\\d)(\\d{3})(\\d{4})",
39589            "$1 $2 $3",
39590            ["2|34[47]|4(?:[37]7|5[47]|64)"],
39591            "0$1",
39592          ],
39593          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[347]"], "0$1"],
39594          [, "(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[58]"], "0$1"],
39595        ],
39596        ,
39597        [, , , , , , , , , [-1]],
39598        ,
39599        ,
39600        [, , , , , , , , , [-1]],
39601        [, , , , , , , , , [-1]],
39602        ,
39603        ,
39604        [, , , , , , , , , [-1]],
39605      ],
39606      ML: [
39607        ,
39608        [, , "[24-9]\\d{7}", , , , , , , [8]],
39609        [
39610          ,
39611          ,
39612          "2(?:07[0-8]|12[67])\\d{4}|(?:2(?:02|1[4-689])|4(?:0[0-4]|4[1-39]))\\d{5}",
39613          ,
39614          ,
39615          ,
39616          "20212345",
39617        ],
39618        [
39619          ,
39620          ,
39621          "2(?:0(?:01|79)|17\\d)\\d{4}|(?:5[01]|[679]\\d|8[2-49])\\d{6}",
39622          ,
39623          ,
39624          ,
39625          "65012345",
39626        ],
39627        [, , "80\\d{6}", , , , "80012345"],
39628        [, , , , , , , , , [-1]],
39629        [, , , , , , , , , [-1]],
39630        [, , , , , , , , , [-1]],
39631        [, , , , , , , , , [-1]],
39632        "ML",
39633        223,
39634        "00",
39635        ,
39636        ,
39637        ,
39638        ,
39639        ,
39640        ,
39641        ,
39642        [
39643          [
39644            ,
39645            "(\\d{4})",
39646            "$1",
39647            [
39648              "67[057-9]|74[045]",
39649              "67(?:0[09]|[59]9|77|8[89])|74(?:0[02]|44|55)",
39650            ],
39651          ],
39652          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]],
39653        ],
39654        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]],
39655        [, , , , , , , , , [-1]],
39656        ,
39657        ,
39658        [, , "80\\d{6}"],
39659        [, , , , , , , , , [-1]],
39660        ,
39661        ,
39662        [, , , , , , , , , [-1]],
39663      ],
39664      MM: [
39665        ,
39666        [
39667          ,
39668          ,
39669          "1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",
39670          ,
39671          ,
39672          ,
39673          ,
39674          ,
39675          ,
39676          [6, 7, 8, 9, 10],
39677          [5],
39678        ],
39679        [
39680          ,
39681          ,
39682          "(?:1(?:(?:2\\d|3[56]|[89][0-6])\\d|4(?:2[29]|62|7[0-2]|83)|6)|2(?:2(?:00|8[34])|4(?:0\\d|[26]2|7[0-2]|83)|51\\d\\d)|4(?:2(?:2\\d\\d|48[013])|3(?:20\\d|4(?:70|83)|56)|420\\d|5470)|6(?:0(?:[23]|88\\d)|(?:124|[56]2\\d)\\d|2472|3(?:20\\d|470)|4(?:2[04]\\d|472)|7(?:(?:3\\d|8[01459])\\d|4[67]0)))\\d{4}|5(?:2(?:2\\d{5,6}|47[02]\\d{4})|(?:3472|4(?:2(?:1|86)|470)|522\\d|6(?:20\\d|483)|7(?:20\\d|48[01])|8(?:20\\d|47[02])|9(?:20\\d|470))\\d{4})|7(?:(?:0470|4(?:25\\d|470)|5(?:202|470|96\\d))\\d{4}|1(?:20\\d{4,5}|4(?:70|83)\\d{4}))|8(?:1(?:2\\d{5,6}|4(?:10|7[01]\\d)\\d{3})|2(?:2\\d{5,6}|(?:320|490\\d)\\d{3})|(?:3(?:2\\d\\d|470)|4[24-7]|5(?:(?:2\\d|51)\\d|4(?:[1-35-9]\\d|4[0-57-9]))|6[23])\\d{4})|(?:1[2-6]\\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4])|8(?:1[2-689]|2[2-8]|[35]2\\d))\\d{4}|25\\d{5,6}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:3[24]|5[245]))\\d{4}",
39683          ,
39684          ,
39685          ,
39686          "1234567",
39687          ,
39688          ,
39689          [6, 7, 8, 9],
39690          [5],
39691        ],
39692        [
39693          ,
39694          ,
39695          "(?:17[01]|9(?:2(?:[0-4]|[56]\\d\\d)|(?:3(?:[0-36]|4\\d)|(?:6\\d|8[89]|9[4-8])\\d|7(?:3|40|[5-9]\\d))\\d|4(?:(?:[0245]\\d|[1379])\\d|88)|5[0-6])\\d)\\d{4}|9[69]1\\d{6}|9(?:[68]\\d|9[089])\\d{5}",
39696          ,
39697          ,
39698          ,
39699          "92123456",
39700          ,
39701          ,
39702          [7, 8, 9, 10],
39703        ],
39704        [, , "80080(?:0[1-9]|2\\d)\\d{3}", , , , "8008001234", , , [10]],
39705        [, , , , , , , , , [-1]],
39706        [, , , , , , , , , [-1]],
39707        [, , , , , , , , , [-1]],
39708        [, , "1333\\d{4}|[12]468\\d{4}", , , , "13331234", , , [8]],
39709        "MM",
39710        95,
39711        "00",
39712        "0",
39713        ,
39714        ,
39715        "0",
39716        ,
39717        ,
39718        ,
39719        [
39720          [, "(\\d)(\\d{2})(\\d{3})", "$1 $2 $3", ["16|2"], "0$1"],
39721          [
39722            ,
39723            "(\\d{2})(\\d{2})(\\d{3})",
39724            "$1 $2 $3",
39725            ["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"],
39726            "0$1",
39727          ],
39728          [, "(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]"], "0$1"],
39729          [
39730            ,
39731            "(\\d{2})(\\d{3})(\\d{3,4})",
39732            "$1 $2 $3",
39733            ["[4-7]|8[1-35]"],
39734            "0$1",
39735          ],
39736          [
39737            ,
39738            "(\\d)(\\d{3})(\\d{4,6})",
39739            "$1 $2 $3",
39740            ["9(?:2[0-4]|[35-9]|4[137-9])"],
39741            "0$1",
39742          ],
39743          [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "0$1"],
39744          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"],
39745          [, "(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["92"], "0$1"],
39746          [, "(\\d)(\\d{5})(\\d{4})", "$1 $2 $3", ["9"], "0$1"],
39747        ],
39748        ,
39749        [, , , , , , , , , [-1]],
39750        ,
39751        ,
39752        [, , , , , , , , , [-1]],
39753        [, , , , , , , , , [-1]],
39754        ,
39755        ,
39756        [, , , , , , , , , [-1]],
39757      ],
39758      MN: [
39759        ,
39760        [, , "[12]\\d{7,9}|[5-9]\\d{7}", , , , , , , [8, 9, 10], [4, 5, 6]],
39761        [
39762          ,
39763          ,
39764          "[12]2[1-3]\\d{5,6}|(?:(?:[12](?:1|27)|5[368])\\d\\d|7(?:0(?:[0-5]\\d|7[078]|80)|128))\\d{4}|[12](?:3[2-8]|4[2-68]|5[1-4689])\\d{6,7}",
39765          ,
39766          ,
39767          ,
39768          "53123456",
39769          ,
39770          ,
39771          ,
39772          [4, 5, 6],
39773        ],
39774        [
39775          ,
39776          ,
39777          "(?:83[01]|92[039])\\d{5}|(?:5[05]|6[069]|8[015689]|9[013-9])\\d{6}",
39778          ,
39779          ,
39780          ,
39781          "88123456",
39782          ,
39783          ,
39784          [8],
39785        ],
39786        [, , , , , , , , , [-1]],
39787        [, , , , , , , , , [-1]],
39788        [, , , , , , , , , [-1]],
39789        [, , , , , , , , , [-1]],
39790        [
39791          ,
39792          ,
39793          "712[0-79]\\d{4}|7(?:1[013-9]|[25-9]\\d)\\d{5}",
39794          ,
39795          ,
39796          ,
39797          "75123456",
39798          ,
39799          ,
39800          [8],
39801        ],
39802        "MN",
39803        976,
39804        "001",
39805        "0",
39806        ,
39807        ,
39808        "0",
39809        ,
39810        ,
39811        ,
39812        [
39813          [, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[12]1"], "0$1"],
39814          [, "(\\d{4})(\\d{4})", "$1 $2", ["[5-9]"]],
39815          [, "(\\d{3})(\\d{5,6})", "$1 $2", ["[12]2[1-3]"], "0$1"],
39816          [
39817            ,
39818            "(\\d{4})(\\d{5,6})",
39819            "$1 $2",
39820            [
39821              "[12](?:27|3[2-8]|4[2-68]|5[1-4689])",
39822              "[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]",
39823            ],
39824            "0$1",
39825          ],
39826          [, "(\\d{5})(\\d{4,5})", "$1 $2", ["[12]"], "0$1"],
39827        ],
39828        ,
39829        [, , , , , , , , , [-1]],
39830        ,
39831        ,
39832        [, , , , , , , , , [-1]],
39833        [, , , , , , , , , [-1]],
39834        ,
39835        ,
39836        [, , , , , , , , , [-1]],
39837      ],
39838      MO: [
39839        ,
39840        [, , "0800\\d{3}|(?:28|[68]\\d)\\d{6}", , , , , , , [7, 8]],
39841        [
39842          ,
39843          ,
39844          "(?:28[2-9]|8(?:11|[2-57-9]\\d))\\d{5}",
39845          ,
39846          ,
39847          ,
39848          "28212345",
39849          ,
39850          ,
39851          [8],
39852        ],
39853        [
39854          ,
39855          ,
39856          "6800[0-79]\\d{3}|6(?:[235]\\d\\d|6(?:0[0-5]|[1-9]\\d)|8(?:0[1-9]|[14-8]\\d|2[5-9]|[39][0-4]))\\d{4}",
39857          ,
39858          ,
39859          ,
39860          "66123456",
39861          ,
39862          ,
39863          [8],
39864        ],
39865        [, , "0800\\d{3}", , , , "0800501", , , [7]],
39866        [, , , , , , , , , [-1]],
39867        [, , , , , , , , , [-1]],
39868        [, , , , , , , , , [-1]],
39869        [, , , , , , , , , [-1]],
39870        "MO",
39871        853,
39872        "00",
39873        ,
39874        ,
39875        ,
39876        ,
39877        ,
39878        ,
39879        ,
39880        [
39881          [, "(\\d{4})(\\d{3})", "$1 $2", ["0"]],
39882          [, "(\\d{4})(\\d{4})", "$1 $2", ["[268]"]],
39883        ],
39884        ,
39885        [, , , , , , , , , [-1]],
39886        ,
39887        ,
39888        [, , , , , , , , , [-1]],
39889        [, , , , , , , , , [-1]],
39890        ,
39891        ,
39892        [, , , , , , , , , [-1]],
39893      ],
39894      MP: [
39895        ,
39896        [, , "[58]\\d{9}|(?:67|90)0\\d{7}", , , , , , , [10], [7]],
39897        [
39898          ,
39899          ,
39900          "670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}",
39901          ,
39902          ,
39903          ,
39904          "6702345678",
39905          ,
39906          ,
39907          ,
39908          [7],
39909        ],
39910        [
39911          ,
39912          ,
39913          "670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}",
39914          ,
39915          ,
39916          ,
39917          "6702345678",
39918          ,
39919          ,
39920          ,
39921          [7],
39922        ],
39923        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
39924        [, , "900[2-9]\\d{6}", , , , "9002123456"],
39925        [, , , , , , , , , [-1]],
39926        [
39927          ,
39928          ,
39929          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
39930          ,
39931          ,
39932          ,
39933          "5002345678",
39934        ],
39935        [, , , , , , , , , [-1]],
39936        "MP",
39937        1,
39938        "011",
39939        "1",
39940        ,
39941        ,
39942        "([2-9]\\d{6})$|1",
39943        "670$1",
39944        ,
39945        1,
39946        ,
39947        ,
39948        [, , , , , , , , , [-1]],
39949        ,
39950        "670",
39951        [, , , , , , , , , [-1]],
39952        [, , , , , , , , , [-1]],
39953        ,
39954        ,
39955        [, , , , , , , , , [-1]],
39956      ],
39957      MQ: [
39958        ,
39959        [, , "596\\d{6}|(?:69|80|9\\d)\\d{7}", , , , , , , [9]],
39960        [
39961          ,
39962          ,
39963          "596(?:[03-7]\\d|10|2[7-9]|8[09]|9[4-9])\\d{4}",
39964          ,
39965          ,
39966          ,
39967          "596301234",
39968        ],
39969        [, , "69(?:6(?:[0-46-9]\\d|5[0-6])|727)\\d{4}", , , , "696201234"],
39970        [, , "80[0-5]\\d{6}", , , , "800012345"],
39971        [, , , , , , , , , [-1]],
39972        [, , , , , , , , , [-1]],
39973        [, , , , , , , , , [-1]],
39974        [
39975          ,
39976          ,
39977          "9(?:397[01]|477[0-2]|76(?:6\\d|7[0-367]))\\d{4}",
39978          ,
39979          ,
39980          ,
39981          "976612345",
39982        ],
39983        "MQ",
39984        596,
39985        "00",
39986        "0",
39987        ,
39988        ,
39989        "0",
39990        ,
39991        ,
39992        ,
39993        [
39994          [
39995            ,
39996            "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
39997            "$1 $2 $3 $4",
39998            ["[569]"],
39999            "0$1",
40000          ],
40001          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"],
40002        ],
40003        ,
40004        [, , , , , , , , , [-1]],
40005        ,
40006        ,
40007        [, , , , , , , , , [-1]],
40008        [, , , , , , , , , [-1]],
40009        ,
40010        ,
40011        [, , , , , , , , , [-1]],
40012      ],
40013      MR: [
40014        ,
40015        [, , "(?:[2-4]\\d\\d|800)\\d{5}", , , , , , , [8]],
40016        [, , "(?:25[08]|35\\d|45[1-7])\\d{5}", , , , "35123456"],
40017        [, , "[2-4][0-46-9]\\d{6}", , , , "22123456"],
40018        [, , "800\\d{5}", , , , "80012345"],
40019        [, , , , , , , , , [-1]],
40020        [, , , , , , , , , [-1]],
40021        [, , , , , , , , , [-1]],
40022        [, , , , , , , , , [-1]],
40023        "MR",
40024        222,
40025        "00",
40026        ,
40027        ,
40028        ,
40029        ,
40030        ,
40031        ,
40032        ,
40033        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-48]"]]],
40034        ,
40035        [, , , , , , , , , [-1]],
40036        ,
40037        ,
40038        [, , , , , , , , , [-1]],
40039        [, , , , , , , , , [-1]],
40040        ,
40041        ,
40042        [, , , , , , , , , [-1]],
40043      ],
40044      MS: [
40045        ,
40046        [, , "(?:[58]\\d\\d|664|900)\\d{7}", , , , , , , [10], [7]],
40047        [, , "6644(?:1[0-3]|91)\\d{4}", , , , "6644912345", , , , [7]],
40048        [
40049          ,
40050          ,
40051          "664(?:3(?:49|9[1-6])|49[2-6])\\d{4}",
40052          ,
40053          ,
40054          ,
40055          "6644923456",
40056          ,
40057          ,
40058          ,
40059          [7],
40060        ],
40061        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
40062        [, , "900[2-9]\\d{6}", , , , "9002123456"],
40063        [, , , , , , , , , [-1]],
40064        [
40065          ,
40066          ,
40067          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
40068          ,
40069          ,
40070          ,
40071          "5002345678",
40072        ],
40073        [, , , , , , , , , [-1]],
40074        "MS",
40075        1,
40076        "011",
40077        "1",
40078        ,
40079        ,
40080        "([34]\\d{6})$|1",
40081        "664$1",
40082        ,
40083        ,
40084        ,
40085        ,
40086        [, , , , , , , , , [-1]],
40087        ,
40088        "664",
40089        [, , , , , , , , , [-1]],
40090        [, , , , , , , , , [-1]],
40091        ,
40092        ,
40093        [, , , , , , , , , [-1]],
40094      ],
40095      MT: [
40096        ,
40097        [, , "3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}", , , , , , , [8]],
40098        [
40099          ,
40100          ,
40101          "20(?:3[1-4]|6[059])\\d{4}|2(?:0[19]|[1-357]\\d|60)\\d{5}",
40102          ,
40103          ,
40104          ,
40105          "21001234",
40106        ],
40107        [
40108          ,
40109          ,
40110          "(?:7(?:210|[79]\\d\\d)|9(?:[29]\\d\\d|69[67]|8(?:1[1-3]|89|97)))\\d{4}",
40111          ,
40112          ,
40113          ,
40114          "96961234",
40115        ],
40116        [, , "800(?:02|[3467]\\d)\\d{3}", , , , "80071234"],
40117        [
40118          ,
40119          ,
40120          "5(?:0(?:0(?:37|43)|(?:6\\d|70|9[0168])\\d)|[12]\\d0[1-5])\\d{3}",
40121          ,
40122          ,
40123          ,
40124          "50037123",
40125        ],
40126        [, , , , , , , , , [-1]],
40127        [, , , , , , , , , [-1]],
40128        [, , "3550\\d{4}", , , , "35501234"],
40129        "MT",
40130        356,
40131        "00",
40132        ,
40133        ,
40134        ,
40135        ,
40136        ,
40137        ,
40138        ,
40139        [[, "(\\d{4})(\\d{4})", "$1 $2", ["[2357-9]"]]],
40140        ,
40141        [, , "7117\\d{4}", , , , "71171234"],
40142        ,
40143        ,
40144        [, , , , , , , , , [-1]],
40145        [, , "501\\d{5}", , , , "50112345"],
40146        ,
40147        ,
40148        [, , , , , , , , , [-1]],
40149      ],
40150      MU: [
40151        ,
40152        [, , "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", , , , , , , [7, 8, 10]],
40153        [
40154          ,
40155          ,
40156          "(?:2(?:[0346-8]\\d|1[0-7])|4(?:[013568]\\d|2[4-7])|54(?:[3-5]\\d|71)|6\\d\\d|8(?:14|3[129]))\\d{4}",
40157          ,
40158          ,
40159          ,
40160          "54480123",
40161          ,
40162          ,
40163          [7, 8],
40164        ],
40165        [
40166          ,
40167          ,
40168          "5(?:4(?:2[1-389]|7[1-9])|87[15-8])\\d{4}|(?:5(?:2[5-9]|4[3-689]|[57]\\d|8[0-689]|9[0-8])|7(?:0[0-2]|3[013]))\\d{5}",
40169          ,
40170          ,
40171          ,
40172          "52512345",
40173          ,
40174          ,
40175          [8],
40176        ],
40177        [, , "802\\d{7}|80[0-2]\\d{4}", , , , "8001234", , , [7, 10]],
40178        [, , "30\\d{5}", , , , "3012345", , , [7]],
40179        [, , , , , , , , , [-1]],
40180        [, , , , , , , , , [-1]],
40181        [, , "3(?:20|9\\d)\\d{4}", , , , "3201234", , , [7]],
40182        "MU",
40183        230,
40184        "0(?:0|[24-7]0|3[03])",
40185        ,
40186        ,
40187        ,
40188        ,
40189        ,
40190        "020",
40191        ,
40192        [
40193          [, "(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]],
40194          [, "(\\d{4})(\\d{4})", "$1 $2", ["[57]"]],
40195          [, "(\\d{5})(\\d{5})", "$1 $2", ["8"]],
40196        ],
40197        ,
40198        [, , , , , , , , , [-1]],
40199        ,
40200        ,
40201        [, , , , , , , , , [-1]],
40202        [, , , , , , , , , [-1]],
40203        ,
40204        ,
40205        [, , , , , , , , , [-1]],
40206      ],
40207      MV: [
40208        ,
40209        [, , "(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}", , , , , , , [7, 10]],
40210        [
40211          ,
40212          ,
40213          "(?:3(?:0[0-3]|3[0-59])|6(?:[58][024689]|6[024-68]|7[02468]))\\d{4}",
40214          ,
40215          ,
40216          ,
40217          "6701234",
40218          ,
40219          ,
40220          [7],
40221        ],
40222        [, , "(?:46[46]|[79]\\d\\d)\\d{4}", , , , "7712345", , , [7]],
40223        [, , "800\\d{7}", , , , "8001234567", , , [10]],
40224        [, , "900\\d{7}", , , , "9001234567", , , [10]],
40225        [, , , , , , , , , [-1]],
40226        [, , , , , , , , , [-1]],
40227        [, , , , , , , , , [-1]],
40228        "MV",
40229        960,
40230        "0(?:0|19)",
40231        ,
40232        ,
40233        ,
40234        ,
40235        ,
40236        "00",
40237        ,
40238        [
40239          [, "(\\d{3})(\\d{4})", "$1-$2", ["[34679]"]],
40240          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]],
40241        ],
40242        ,
40243        [, , , , , , , , , [-1]],
40244        ,
40245        ,
40246        [, , , , , , , , , [-1]],
40247        [, , "4(?:0[01]|50)\\d{4}", , , , "4001234", , , [7]],
40248        ,
40249        ,
40250        [, , , , , , , , , [-1]],
40251      ],
40252      MW: [
40253        ,
40254        [, , "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", , , , , , , [7, 9]],
40255        [, , "(?:1[2-9]|2[12]\\d\\d)\\d{5}", , , , "1234567"],
40256        [, , "111\\d{6}|(?:31|77|[89][89])\\d{7}", , , , "991234567", , , [9]],
40257        [, , , , , , , , , [-1]],
40258        [, , , , , , , , , [-1]],
40259        [, , , , , , , , , [-1]],
40260        [, , , , , , , , , [-1]],
40261        [, , , , , , , , , [-1]],
40262        "MW",
40263        265,
40264        "00",
40265        "0",
40266        ,
40267        ,
40268        "0",
40269        ,
40270        ,
40271        ,
40272        [
40273          [, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["1[2-9]"], "0$1"],
40274          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"],
40275          [
40276            ,
40277            "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
40278            "$1 $2 $3 $4",
40279            ["[137-9]"],
40280            "0$1",
40281          ],
40282        ],
40283        ,
40284        [, , , , , , , , , [-1]],
40285        ,
40286        ,
40287        [, , , , , , , , , [-1]],
40288        [, , , , , , , , , [-1]],
40289        ,
40290        ,
40291        [, , , , , , , , , [-1]],
40292      ],
40293      MX: [
40294        ,
40295        [
40296          ,
40297          ,
40298          "1(?:(?:[27]2|44|99)[1-9]|65[0-689])\\d{7}|(?:1(?:[01]\\d|2[13-9]|[35][1-9]|4[0-35-9]|6[0-46-9]|7[013-9]|8[1-79]|9[1-8])|[2-9]\\d)\\d{8}",
40299          ,
40300          ,
40301          ,
40302          ,
40303          ,
40304          ,
40305          [10, 11],
40306          [7, 8],
40307        ],
40308        [
40309          ,
40310          ,
40311          "657[12]\\d{6}|(?:2(?:0[01]|2\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-
4031157-9]|7[1-7]|8[67]|9[4-8])|7(?:[13467][1-9]|2\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|6[1-9]|7[12]|8[1-8]|9\\d))\\d{7}",
40312          ,
40313          ,
40314          ,
40315          "2001234567",
40316          ,
40317          ,
40318          [10],
40319          [7, 8],
40320        ],
40321        [
40322          ,
40323          ,
40324          "657[12]\\d{6}|(?:1(?:2(?:2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-7][1-9]|3[1-8]|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))|2(?:2\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[13467][1-9]|2\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|6[1-9]|7[12]|8[1-8]|9\\d))\\d{7}",
40325          ,
40326          ,
40327          ,
40328          "12221234567",
40329          ,
40330          ,
40331          ,
40332          [7, 8],
40333        ],
40334        [, , "8(?:00|88)\\d{7}", , , , "8001234567", , , [10]],
40335        [, , "900\\d{7}", , , , "9001234567", , , [10]],
40336        [, , "300\\d{7}", , , , "3001234567", , , [10]],
40337        [, , "500\\d{7}", , , , "5001234567", , , [10]],
40338        [, , , , , , , , , [-1]],
40339        "MX",
40340        52,
40341        "0[09]",
40342        "01",
40343        ,
40344        ,
40345        "0(?:[12]|4[45])|1",
40346        ,
40347        "00",
40348        ,
40349        [
40350          [, "(\\d{5})", "$1", ["53"]],
40351          [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"], , , 1],
40352          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"], , , 1],
40353          [
40354            ,
40355            "(\\d)(\\d{2})(\\d{4})(\\d{4})",
40356            "$2 $3 $4",
40357            ["1(?:33|5[56]|81)"],
40358            ,
40359            ,
40360            1,
40361          ],
40362          [, "(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 $3 $4", ["1"], , , 1],
40363        ],
40364        [
40365          [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"], , , 1],
40366          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"], , , 1],
40367          [
40368            ,
40369            "(\\d)(\\d{2})(\\d{4})(\\d{4})",
40370            "$2 $3 $4",
40371            ["1(?:33|5[56]|81)"],
40372            ,
40373            ,
40374            1,
40375          ],
40376          [, "(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 $3 $4", ["1"], , , 1],
40377        ],
40378        [, , , , , , , , , [-1]],
40379        ,
40380        ,
40381        [, , , , , , , , , [-1]],
40382        [, , , , , , , , , [-1]],
40383        ,
40384        ,
40385        [, , , , , , , , , [-1]],
40386      ],
40387      MY: [
40388        ,
40389        [, , "1\\d{8,9}|(?:3\\d|[4-9])\\d{7}", , , , , , , [8, 9, 10], [6, 7]],
40390        [
40391          ,
40392          ,
40393          "(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\d|9[0-57])\\d|4(?:2[0-689]|[3-79]\\d|8[1-35689])|5(?:2[0-589]|[3468]\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\d|[3489][0-8]))\\d{5}",
40394          ,
40395          ,
40396          ,
40397          "323856789",
40398          ,
40399          ,
40400          [8, 9],
40401          [6, 7],
40402        ],
40403        [
40404          ,
40405          ,
40406          "1(?:1888[689]|4400|8(?:47|8[27])[0-4])\\d{4}|1(?:0(?:[23568]\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\d\\d|6(?:0[5-9]|[1-9]\\d)|7(?:[0-4]\\d|5[0-6]))|(?:[269]\\d|[37][1-9]|4[235-9])\\d|5(?:31|9\\d\\d)|8(?:1[23]|[236]\\d|4[06]|5(?:46|[7-9])|7[016-9]|8[01]|9[0-8]))\\d{5}",
40407          ,
40408          ,
40409          ,
40410          "123456789",
40411          ,
40412          ,
40413          [9, 10],
40414        ],
40415        [, , "1[378]00\\d{6}", , , , "1300123456", , , [10]],
40416        [, , "1600\\d{6}", , , , "1600123456", , , [10]],
40417        [, , , , , , , , , [-1]],
40418        [, , , , , , , , , [-1]],
40419        [
40420          ,
40421          ,
40422          "15(?:4(?:6[0-4]\\d|8(?:0[125]|[17]\\d|21|3[01]|4[01589]|5[014]|6[02]))|6(?:32[0-6]|78\\d))\\d{4}",
40423          ,
40424          ,
40425          ,
40426          "1546012345",
40427          ,
40428          ,
40429          [10],
40430        ],
40431        "MY",
40432        60,
40433        "00",
40434        "0",
40435        ,
40436        ,
40437        "0",
40438        ,
40439        ,
40440        ,
40441        [
40442          [, "(\\d)(\\d{3})(\\d{4})", "$1-$2 $3", ["[4-79]"], "0$1"],
40443          [
40444            ,
40445            "(\\d{2})(\\d{3})(\\d{3,4})",
40446            "$1-$2 $3",
40447            [
40448              "1(?:[02469]|[378][1-9]|53)|8",
40449              "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8",
40450            ],
40451            "0$1",
40452          ],
40453          [, "(\\d)(\\d{4})(\\d{4})", "$1-$2 $3", ["3"], "0$1"],
40454          [, "(\\d)(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3-$4", ["1(?:[367]|80)"]],
40455          [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2 $3", ["15"], "0$1"],
40456          [, "(\\d{2})(\\d{4})(\\d{4})", "$1-$2 $3", ["1"], "0$1"],
40457        ],
40458        ,
40459        [, , , , , , , , , [-1]],
40460        ,
40461        ,
40462        [, , , , , , , , , [-1]],
40463        [, , , , , , , , , [-1]],
40464        ,
40465        ,
40466        [, , , , , , , , , [-1]],
40467      ],
40468      MZ: [
40469        ,
40470        [, , "(?:2|8\\d)\\d{7}", , , , , , , [8, 9]],
40471        [
40472          ,
40473          ,
40474          "2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}",
40475          ,
40476          ,
40477          ,
40478          "21123456",
40479          ,
40480          ,
40481          [8],
40482        ],
40483        [, , "8[2-79]\\d{7}", , , , "821234567", , , [9]],
40484        [, , "800\\d{6}", , , , "800123456", , , [9]],
40485        [, , , , , , , , , [-1]],
40486        [, , , , , , , , , [-1]],
40487        [, , , , , , , , , [-1]],
40488        [, , , , , , , , , [-1]],
40489        "MZ",
40490        258,
40491        "00",
40492        ,
40493        ,
40494        ,
40495        ,
40496        ,
40497        ,
40498        ,
40499        [
40500          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-79]"]],
40501          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]],
40502        ],
40503        ,
40504        [, , , , , , , , , [-1]],
40505        ,
40506        ,
40507        [, , , , , , , , , [-1]],
40508        [, , , , , , , , , [-1]],
40509        ,
40510        ,
40511        [, , , , , , , , , [-1]],
40512      ],
40513      NA: [
40514        ,
40515        [, , "[68]\\d{7,8}", , , , , , , [8, 9]],
40516        [
40517          ,
40518          ,
40519          "64426\\d{3}|6(?:1(?:2[2-7]|3[01378]|4[0-4])|254|32[0237]|4(?:27|41|5[25])|52[236-8]|626|7(?:2[2-4]|30))\\d{4,5}|6(?:1(?:(?:0\\d|2[0189]|3[24-69]|4[5-9])\\d|17|69|7[014])|2(?:17|5[0-36-8]|69|70)|3(?:17|2[14-689]|34|6[289]|7[01]|81)|4(?:17|2[0-2]|4[06
40519]|5[0137]|69|7[01])|5(?:17|2[0459]|69|7[01])|6(?:17|25|38|42|69|7[01])|7(?:17|2[569]|3[13]|6[89]|7[01]))\\d{4}",
40520          ,
40521          ,
40522          ,
40523          "61221234",
40524        ],
40525        [, , "(?:60|8[1245])\\d{7}", , , , "811234567", , , [9]],
40526        [, , "80\\d{7}", , , , "800123456", , , [9]],
40527        [, , "8701\\d{5}", , , , "870123456", , , [9]],
40528        [, , , , , , , , , [-1]],
40529        [, , , , , , , , , [-1]],
40530        [, , "8(?:3\\d\\d|86)\\d{5}", , , , "88612345"],
40531        "NA",
40532        264,
40533        "00",
40534        "0",
40535        ,
40536        ,
40537        "0",
40538        ,
40539        ,
40540        ,
40541        [
40542          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["88"], "0$1"],
40543          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6"], "0$1"],
40544          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["87"], "0$1"],
40545          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"],
40546        ],
40547        ,
40548        [, , , , , , , , , [-1]],
40549        ,
40550        ,
40551        [, , , , , , , , , [-1]],
40552        [, , , , , , , , , [-1]],
40553        ,
40554        ,
40555        [, , , , , , , , , [-1]],
40556      ],
40557      NC: [
40558        ,
40559        [, , "(?:050|[2-57-9]\\d\\d)\\d{3}", , , , , , , [6]],
40560        [, , "(?:2[03-9]|3[0-5]|4[1-7]|88)\\d{4}", , , , "201234"],
40561        [, , "(?:5[0-4]|[79]\\d|8[0-79])\\d{4}", , , , "751234"],
40562        [, , "050\\d{3}", , , , "050012"],
40563        [, , "36\\d{4}", , , , "366711"],
40564        [, , , , , , , , , [-1]],
40565        [, , , , , , , , , [-1]],
40566        [, , , , , , , , , [-1]],
40567        "NC",
40568        687,
40569        "00",
40570        ,
40571        ,
40572        ,
40573        ,
40574        ,
40575        ,
40576        ,
40577        [
40578          [, "(\\d{3})", "$1", ["5[6-8]"]],
40579          [, "(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]],
40580        ],
40581        [[, "(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]],
40582        [, , , , , , , , , [-1]],
40583        ,
40584        ,
40585        [, , , , , , , , , [-1]],
40586        [, , , , , , , , , [-1]],
40587        ,
40588        ,
40589        [, , , , , , , , , [-1]],
40590      ],
40591      NE: [
40592        ,
40593        [, , "[027-9]\\d{7}", , , , , , , [8]],
40594        [
40595          ,
40596          ,
40597          "2(?:0(?:20|3[1-8]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}",
40598          ,
40599          ,
40600          ,
40601          "20201234",
40602        ],
40603        [, , "(?:23|7[047]|[89]\\d)\\d{6}", , , , "93123456"],
40604        [, , "08\\d{6}", , , , "08123456"],
40605        [, , "09\\d{6}", , , , "09123456"],
40606        [, , , , , , , , , [-1]],
40607        [, , , , , , , , , [-1]],
40608        [, , , , , , , , , [-1]],
40609        "NE",
40610        227,
40611        "00",
40612        ,
40613        ,
40614        ,
40615        ,
40616        ,
40617        ,
40618        ,
40619        [
40620          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["08"]],
40621          [
40622            ,
40623            "(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
40624            "$1 $2 $3 $4",
40625            ["[089]|2[013]|7[047]"],
40626          ],
40627        ],
40628        ,
40629        [, , , , , , , , , [-1]],
40630        ,
40631        ,
40632        [, , , , , , , , , [-1]],
40633        [, , , , , , , , , [-1]],
40634        ,
40635        ,
40636        [, , , , , , , , , [-1]],
40637      ],
40638      NF: [
40639        ,
40640        [, , "[13]\\d{5}", , , , , , , [6], [5]],
40641        [, , "(?:1(?:06|17|28|39)|3[0-2]\\d)\\d{3}", , , , "106609", , , , [5]],
40642        [, , "(?:14|3[58])\\d{4}", , , , "381234", , , , [5]],
40643        [, , , , , , , , , [-1]],
40644        [, , , , , , , , , [-1]],
40645        [, , , , , , , , , [-1]],
40646        [, , , , , , , , , [-1]],
40647        [, , , , , , , , , [-1]],
40648        "NF",
40649        672,
40650        "00",
40651        ,
40652        ,
40653        ,
40654        "([0-258]\\d{4})$",
40655        "3$1",
40656        ,
40657        ,
40658        [
40659          [, "(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]],
40660          [, "(\\d)(\\d{5})", "$1 $2", ["[13]"]],
40661        ],
40662        ,
40663        [, , , , , , , , , [-1]],
40664        ,
40665        ,
40666        [, , , , , , , , , [-1]],
40667        [, , , , , , , , , [-1]],
40668        ,
40669        ,
40670        [, , , , , , , , , [-1]],
40671      ],
40672      NG: [
40673        ,
40674        [
40675          ,
40676          ,
40677          "(?:[124-7]|9\\d{3})\\d{6}|[1-9]\\d{7}|[78]\\d{9,13}",
40678          ,
40679          ,
40680          ,
40681          ,
40682          ,
40683          ,
40684          [7, 8, 10, 11, 12, 13, 14],
40685          [5, 6],
40686        ],
40687        [
40688          ,
40689          ,
40690          "(?:(?:[1-356]\\d|4[02-8]|8[2-9])\\d|9(?:0[3-9]|[1-9]\\d))\\d{5}|7(?:0(?:[013-689]\\d|2[0-24-9])\\d{3,4}|[1-79]\\d{6})|(?:[12]\\d|4[147]|5[14579]|6[1578]|7[1-3578])\\d{5}",
40691          ,
40692          ,
40693          ,
40694          "18040123",
40695          ,
40696          ,
40697          [7, 8],
40698          [5, 6],
40699        ],
40700        [
40701          ,
40702          ,
40703          "(?:702[0-24-9]|819[01])\\d{6}|(?:70[13-689]|8(?:0[1-9]|1[0-8])|9(?:0[1-9]|1[1-356]))\\d{7}",
40704          ,
40705          ,
40706          ,
40707          "8021234567",
40708          ,
40709          ,
40710          [10],
40711        ],
40712        [, , "800\\d{7,11}", , , , "80017591759", , , [10, 11, 12, 13, 14]],
40713        [, , , , , , , , , [-1]],
40714        [, , , , , , , , , [-1]],
40715        [, , , , , , , , , [-1]],
40716        [, , , , , , , , , [-1]],
40717        "NG",
40718        234,
40719        "009",
40720        "0",
40721        ,
40722        ,
40723        "0",
40724        ,
40725        ,
40726        ,
40727        [
40728          [, "(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["78"], "0$1"],
40729          [
40730            ,
40731            "(\\d)(\\d{3})(\\d{3,4})",
40732            "$1 $2 $3",
40733            ["[12]|9(?:0[3-9]|[1-9])"],
40734            "0$1",
40735          ],
40736          [, "(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[3-7]|8[2-9]"], "0$1"],
40737          [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[7-9]"], "0$1"],
40738          [, "(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"],
40739          [, "(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"],
40740        ],
40741        ,
40742        [, , , , , , , , , [-1]],
40743        ,
40744        ,
40745        [, , , , , , , , , [-1]],
40746        [, , "700\\d{7,11}", , , , "7001234567", , , [10, 11, 12, 13, 14]],
40747        ,
40748        ,
40749        [, , , , , , , , , [-1]],
40750      ],
40751      NI: [
40752        ,
40753        [, , "(?:1800|[25-8]\\d{3})\\d{4}", , , , , , , [8]],
40754        [, , "2\\d{7}", , , , "21234567"],
40755        [
40756          ,
40757          ,
40758          "(?:5(?:5[0-7]|[78]\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\\d)\\d)\\d{5}",
40759          ,
40760          ,
40761          ,
40762          "81234567",
40763        ],
40764        [, , "1800\\d{4}", , , , "18001234"],
40765        [, , , , , , , , , [-1]],
40766        [, , , , , , , , , [-1]],
40767        [, , , , , , , , , [-1]],
40768        [, , , , , , , , , [-1]],
40769        "NI",
40770        505,
40771        "00",
40772        ,
40773        ,
40774        ,
40775        ,
40776        ,
40777        ,
40778        ,
40779        [[, "(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]],
40780        ,
40781        [, , , , , , , , , [-1]],
40782        ,
40783        ,
40784        [, , , , , , , , , [-1]],
40785        [, , , , , , , , , [-1]],
40786        ,
40787        ,
40788        [, , , , , , , , , [-1]],
40789      ],
40790      NL: [
40791        ,
40792        [
40793          ,
40794          ,
40795          "(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}",
40796          ,
40797          ,
40798          ,
40799          ,
40800          ,
40801          ,
40802          [5, 6, 7, 8, 9, 10, 11],
40803        ],
40804        [
40805          ,
40806          ,
40807          "(?:1(?:[035]\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\d\\d)\\d{6}",
40808          ,
40809          ,
40810          ,
40811          "101234567",
40812          ,
40813          ,
40814          [9],
40815        ],
40816        [, , "(?:6[1-58]|970\\d)\\d{7}", , , , "612345678", , , [9, 11]],
40817        [, , "800\\d{4,7}", , , , "8001234", , , [7, 8, 9, 10]],
40818        [, , "90[069]\\d{4,7}", , , , "9061234", , , [7, 8, 9, 10]],
40819        [, , , , , , , , , [-1]],
40820        [, , , , , , , , , [-1]],
40821        [, , "(?:85|91)\\d{7}", , , , "851234567", , , [9]],
40822        "NL",
40823        31,
40824        "00",
40825        "0",
40826        ,
40827        ,
40828        "0",
40829        ,
40830        ,
40831        ,
40832        [
40833          [, "(\\d{4})", "$1", ["1[238]|[34]"]],
40834          [, "(\\d{2})(\\d{3,4})", "$1 $2", ["14"]],
40835          [, "(\\d{6})", "$1", ["1"]],
40836          [, "(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"],
40837          [, "(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"],
40838          [, "(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"],
40839          [
40840            ,
40841            "(\\d{3})(\\d{3})(\\d{3})",
40842            "$1 $2 $3",
40843            ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],
40844            "0$1",
40845          ],
40846          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"],
40847          [, "(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"],
40848        ],
40849        [
40850          [, "(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"],
40851          [, "(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"],
40852          [, "(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"],
40853          [
40854            ,
40855            "(\\d{3})(\\d{3})(\\d{3})",
40856            "$1 $2 $3",
40857            ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],
40858            "0$1",
40859          ],
40860          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"],
40861          [, "(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"],
40862        ],
40863        [, , "66\\d{7}", , , , "662345678", , , [9]],
40864        ,
40865        ,
40866        [
40867          ,
40868          ,
40869          "140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)\\d",
40870          ,
40871          ,
40872          ,
40873          ,
40874          ,
40875          ,
40876          [5, 6],
40877        ],
40878        [
40879          ,
40880          ,
40881          "140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|(?:140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)|8[478]\\d{6})\\d",
40882          ,
40883          ,
40884          ,
40885          "14020",
40886          ,
40887          ,
40888          [5, 6, 9],
40889        ],
40890        ,
40891        ,
40892        [, , , , , , , , , [-1]],
40893      ],
40894      NO: [
40895        ,
40896        [, , "(?:0|[2-9]\\d{3})\\d{4}", , , , , , , [5, 8]],
40897        [
40898          ,
40899          ,
40900          "(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\d{6}",
40901          ,
40902          ,
40903          ,
40904          "21234567",
40905          ,
40906          ,
40907          [8],
40908        ],
40909        [, , "(?:4[015-8]|59|9\\d)\\d{6}", , , , "40612345", , , [8]],
40910        [, , "80[01]\\d{5}", , , , "80012345", , , [8]],
40911        [, , "82[09]\\d{5}", , , , "82012345", , , [8]],
40912        [, , "810(?:0[0-6]|[2-8]\\d)\\d{3}", , , , "81021234", , , [8]],
40913        [, , "880\\d{5}", , , , "88012345", , , [8]],
40914        [, , "85[0-5]\\d{5}", , , , "85012345", , , [8]],
40915        "NO",
40916        47,
40917        "00",
40918        ,
40919        ,
40920        ,
40921        ,
40922        ,
40923        ,
40924        ,
40925        [
40926          [, "(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]],
40927          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]],
40928        ],
40929        ,
40930        [, , , , , , , , , [-1]],
40931        1,
40932        "[02-689]|7[0-8]",
40933        [, , , , , , , , , [-1]],
40934        [, , "(?:0[2-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}", , , , "02000"],
40935        ,
40936        ,
40937        [, , "81[23]\\d{5}", , , , "81212345", , , [8]],
40938      ],
40939      NP: [
40940        ,
40941        [, , "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", , , , , , , [8, 10, 11], [6, 7]],
40942        [
40943          ,
40944          ,
40945          "(?:1[0-6]\\d|99[02-6])\\d{5}|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-7])[2-6]\\d{5}",
40946          ,
40947          ,
40948          ,
40949          "14567890",
40950          ,
40951          ,
40952          [8],
40953          [6, 7],
40954        ],
40955        [
40956          ,
40957          ,
40958          "9(?:6[0-3]|7[024-6]|8[0-24-68])\\d{7}",
40959          ,
40960          ,
40961          ,
40962          "9841234567",
40963          ,
40964          ,
40965          [10],
40966        ],
40967        [, , "1(?:66001|800\\d\\d)\\d{5}", , , , "16600101234", , , [11]],
40968        [, , , , , , , , , [-1]],
40969        [, , , , , , , , , [-1]],
40970        [, , , , , , , , , [-1]],
40971        [, , , , , , , , , [-1]],
40972        "NP",
40973        977,
40974        "00",
40975        "0",
40976        ,
40977        ,
40978        "0",
40979        ,
40980        ,
40981        ,
40982        [
40983          [, "(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"],
40984          [
40985            ,
40986            "(\\d{2})(\\d{6})",
40987            "$1-$2",
40988            ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"],
40989            "0$1",
40990          ],
40991          [, "(\\d{3})(\\d{7})", "$1-$2", ["9"]],
40992          [, "(\\d{4})(\\d{2})(\\d{5})", "$1-$2-$3", ["1"]],
40993        ],
40994        [
40995          [, "(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"],
40996          [
40997            ,
40998            "(\\d{2})(\\d{6})",
40999            "$1-$2",
41000            ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"],
41001            "0$1",
41002          ],
41003          [, "(\\d{3})(\\d{7})", "$1-$2", ["9"]],
41004        ],
41005        [, , , , , , , , , [-1]],
41006        ,
41007        ,
41008        [, , , , , , , , , [-1]],
41009        [, , , , , , , , , [-1]],
41010        ,
41011        ,
41012        [, , , , , , , , , [-1]],
41013      ],
41014      NR: [
41015        ,
41016        [, , "(?:444|(?:55|8\\d)\\d|666)\\d{4}", , , , , , , [7]],
41017        [, , "444\\d{4}", , , , "4441234"],
41018        [, , "(?:55[3-9]|666|8\\d\\d)\\d{4}", , , , "5551234"],
41019        [, , , , , , , , , [-1]],
41020        [, , , , , , , , , [-1]],
41021        [, , , , , , , , , [-1]],
41022        [, , , , , , , , , [-1]],
41023        [, , , , , , , , , [-1]],
41024        "NR",
41025        674,
41026        "00",
41027        ,
41028        ,
41029        ,
41030        ,
41031        ,
41032        ,
41033        ,
41034        [[, "(\\d{3})(\\d{4})", "$1 $2", ["[4-68]"]]],
41035        ,
41036        [, , , , , , , , , [-1]],
41037        ,
41038        ,
41039        [, , , , , , , , , [-1]],
41040        [, , , , , , , , , [-1]],
41041        ,
41042        ,
41043        [, , , , , , , , , [-1]],
41044      ],
41045      NU: [
41046        ,
41047        [, , "(?:[47]|888\\d)\\d{3}", , , , , , , [4, 7]],
41048        [, , "[47]\\d{3}", , , , "7012", , , [4]],
41049        [, , "888[4-9]\\d{3}", , , , "8884012", , , [7]],
41050        [, , , , , , , , , [-1]],
41051        [, , , , , , , , , [-1]],
41052        [, , , , , , , , , [-1]],
41053        [, , , , , , , , , [-1]],
41054        [, , , , , , , , , [-1]],
41055        "NU",
41056        683,
41057        "00",
41058        ,
41059        ,
41060        ,
41061        ,
41062        ,
41063        ,
41064        ,
41065        [[, "(\\d{3})(\\d{4})", "$1 $2", ["8"]]],
41066        ,
41067        [, , , , , , , , , [-1]],
41068        ,
41069        ,
41070        [, , , , , , , , , [-1]],
41071        [, , , , , , , , , [-1]],
41072        ,
41073        ,
41074        [, , , , , , , , , [-1]],
41075      ],
41076      NZ: [
41077        ,
41078        [
41079          ,
41080          ,
41081          "[29]\\d{7,9}|50\\d{5}(?:\\d{2,3})?|6[0-35-9]\\d{6}|7\\d{7,8}|8\\d{4,9}|(?:11\\d|[34])\\d{7}",
41082          ,
41083          ,
41084          ,
41085          ,
41086          ,
41087          ,
41088          [5, 6, 7, 8, 9, 10],
41089        ],
41090        [
41091          ,
41092          ,
41093          "24099\\d{3}|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\d{6}",
41094          ,
41095          ,
41096          ,
41097          "32345678",
41098          ,
41099          ,
41100          [8],
41101          [7],
41102        ],
41103        [
41104          ,
41105          ,
41106          "2[0-27-9]\\d{7,8}|2(?:1\\d|75)\\d{5}",
41107          ,
41108          ,
41109          ,
41110          "211234567",
41111          ,
41112          ,
41113          [8, 9, 10],
41114        ],
41115        [, , "508\\d{6,7}|80\\d{6,8}", , , , "800123456", , , [8, 9, 10]],
41116        [
41117          ,
41118          ,
41119          "(?:11\\d{5}|50(?:0[08]|30|66|77|88))\\d{3}|90\\d{6,8}",
41120          ,
41121          ,
41122          ,
41123          "900123456",
41124          ,
41125          ,
41126          [7, 8, 9, 10],
41127        ],
41128        [, , , , , , , , , [-1]],
41129        [, , "70\\d{7}", , , , "701234567", , , [9]],
41130        [, , , , , , , , , [-1]],
41131        "NZ",
41132        64,
41133        "0(?:0|161)",
41134        "0",
41135        ,
41136        ,
41137        "0",
41138        ,
41139        "00",
41140        ,
41141        [
41142          [, "(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-579]"], "0$1"],
41143          [
41144            ,
41145            "(\\d{3})(\\d{2})(\\d{2,3})",
41146            "$1 $2 $3",
41147            ["50[036-8]|[89]0", "50(?:[0367]|88)|[89]0"],
41148            "0$1",
41149          ],
41150          [
41151            ,
41152            "(\\d)(\\d{3})(\\d{4})",
41153            "$1 $2 $3",
41154            ["24|[346]|7[2-57-9]|9[2-9]"],
41155            "0$1",
41156          ],
41157          [
41158            ,
41159            "(\\d{3})(\\d{3})(\\d{3,4})",
41160            "$1 $2 $3",
41161            ["2(?:10|74)|[59]|80"],
41162            "0$1",
41163          ],
41164          [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"],
41165          [
41166            ,
41167            "(\\d{2})(\\d{3})(\\d{3,5})",
41168            "$1 $2 $3",
41169            ["2(?:[169]|7[0-35-9])|7|86"],
41170            "0$1",
41171          ],
41172        ],
41173        ,
41174        [, , "[28]6\\d{6,7}", , , , "26123456", , , [8, 9]],
41175        ,
41176        ,
41177        [, , , , , , , , , [-1]],
41178        [
41179          ,
41180          ,
41181          "8(?:1[6-9]|22|3\\d|4[045]|5[459]|7[0-3579]|90)\\d{2,7}",
41182          ,
41183          ,
41184          ,
41185          "83012378",
41186        ],
41187        ,
41188        ,
41189        [, , , , , , , , , [-1]],
41190      ],
41191      OM: [
41192        ,
41193        [
41194          ,
41195          ,
41196          "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}",
41197          ,
41198          ,
41199          ,
41200          ,
41201          ,
41202          ,
41203          [7, 8, 9],
41204        ],
41205        [, , "2[1-6]\\d{6}", , , , "23123456", , , [8]],
41206        [
41207          ,
41208          ,
41209          "1505\\d{4}|(?:7(?:[1289]\\d|69|7[0-5])|9(?:0[1-9]|[1-9]\\d))\\d{5}",
41210          ,
41211          ,
41212          ,
41213          "92123456",
41214          ,
41215          ,
41216          [8],
41217        ],
41218        [, , "8007\\d{4,5}|(?:500|800[05])\\d{4}", , , , "80071234"],
41219        [, , "900\\d{5}", , , , "90012345", , , [8]],
41220        [, , , , , , , , , [-1]],
41221        [, , , , , , , , , [-1]],
41222        [, , , , , , , , , [-1]],
41223        "OM",
41224        968,
41225        "00",
41226        ,
41227        ,
41228        ,
41229        ,
41230        ,
41231        ,
41232        ,
41233        [
41234          [, "(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]],
41235          [, "(\\d{2})(\\d{6})", "$1 $2", ["2"]],
41236          [, "(\\d{4})(\\d{4})", "$1 $2", ["[179]"]],
41237        ],
41238        ,
41239        [, , , , , , , , , [-1]],
41240        ,
41241        ,
41242        [, , , , , , , , , [-1]],
41243        [, , , , , , , , , [-1]],
41244        ,
41245        ,
41246        [, , , , , , , , , [-1]],
41247      ],
41248      PA: [
41249        ,
41250        [
41251          ,
41252          ,
41253          "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}",
41254          ,
41255          ,
41256          ,
41257          ,
41258          ,
41259          ,
41260          [7, 8, 10, 11],
41261        ],
41262        [
41263          ,
41264          ,
41265          "(?:1(?:0\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|6[58]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[089]\\d|1[0-7]|2[0-5]|33|4[0-79]|5[0-35]|6[068]|7[0-8])|4(?:00|3[0-579]|4\\d|7[0-57-9])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[056]|7[0-24-9]|8[5-9]|90)|8(?:09|2[89]|3\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\d))\\d{4}",
41266          ,
41267          ,
41268          ,
41269          "2001234",
41270          ,
41271          ,
41272          [7],
41273        ],
41274        [
41275          ,
41276          ,
41277          "(?:1[16]1|21[89]|6\\d{3}|8(?:1[01]|7[23]))\\d{4}",
41278          ,
41279          ,
41280          ,
41281          "61234567",
41282          ,
41283          ,
41284          [7, 8],
41285        ],
41286        [, , "800\\d{4,5}|(?:00800|800\\d)\\d{6}", , , , "8001234"],
41287        [
41288          ,
41289          ,
41290          "(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\d{4}",
41291          ,
41292          ,
41293          ,
41294          "8601234",
41295          ,
41296          ,
41297          [7],
41298        ],
41299        [, , , , , , , , , [-1]],
41300        [, , , , , , , , , [-1]],
41301        [, , , , , , , , , [-1]],
41302        "PA",
41303        507,
41304        "00",
41305        ,
41306        ,
41307        ,
41308        ,
41309        ,
41310        ,
41311        ,
41312        [
41313          [, "(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]],
41314          [, "(\\d{4})(\\d{4})", "$1-$2", ["[68]"]],
41315          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]],
41316        ],
41317        ,
41318        [, , , , , , , , , [-1]],
41319        ,
41320        ,
41321        [, , , , , , , , , [-1]],
41322        [, , , , , , , , , [-1]],
41323        ,
41324        ,
41325        [, , , , , , , , , [-1]],
41326      ],
41327      PE: [
41328        ,
41329        [, , "(?:[14-8]|9\\d)\\d{7}", , , , , , , [8, 9], [6, 7]],
41330        [
41331          ,
41332          ,
41333          "(?:(?:4[34]|5[14])[0-8]\\d|7(?:173|3[0-8]\\d)|8(?:10[05689]|6(?:0[06-9]|1[6-9]|29)|7(?:0[569]|[56]0)))\\d{4}|(?:1[0-8]|4[12]|5[236]|6[1-7]|7[246]|8[2-4])\\d{6}",
41334          ,
41335          ,
41336          ,
41337          "11234567",
41338          ,
41339          ,
41340          [8],
41341          [6, 7],
41342        ],
41343        [, , "9\\d{8}", , , , "912345678", , , [9]],
41344        [, , "800\\d{5}", , , , "80012345", , , [8]],
41345        [, , "805\\d{5}", , , , "80512345", , , [8]],
41346        [, , "801\\d{5}", , , , "80112345", , , [8]],
41347        [, , "80[24]\\d{5}", , , , "80212345", , , [8]],
41348        [, , , , , , , , , [-1]],
41349        "PE",
41350        51,
41351        "00|19(?:1[124]|77|90)00",
41352        "0",
41353        " Anexo ",
41354        ,
41355        "0",
41356        ,
41357        "00",
41358        ,
41359        [
41360          [, "(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"],
41361          [, "(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"],
41362          [, "(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"],
41363          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]],
41364        ],
41365        ,
41366        [, , , , , , , , , [-1]],
41367        ,
41368        ,
41369        [, , , , , , , , , [-1]],
41370        [, , , , , , , , , [-1]],
41371        ,
41372        ,
41373        [, , , , , , , , , [-1]],
41374      ],
41375      PF: [
41376        ,
41377        [, , "4\\d{5}(?:\\d{2})?|8\\d{7,8}", , , , , , , [6, 8, 9]],
41378        [, , "4(?:0[4-689]|9[4-68])\\d{5}", , , , "40412345", , , [8]],
41379        [, , "8[7-9]\\d{6}", , , , "87123456", , , [8]],
41380        [, , "80[0-5]\\d{6}", , , , "800012345", , , [9]],
41381        [, , , , , , , , , [-1]],
41382        [, , , , , , , , , [-1]],
41383        [, , , , , , , , , [-1]],
41384        [, , "499\\d{5}", , , , "49901234", , , [8]],
41385        "PF",
41386        689,
41387        "00",
41388        ,
41389        ,
41390        ,
41391        ,
41392        ,
41393        ,
41394        ,
41395        [
41396          [, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]],
41397          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]],
41398          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]],
41399        ],
41400        ,
41401        [, , , , , , , , , [-1]],
41402        ,
41403        ,
41404        [, , "44\\d{4}", , , , , , , [6]],
41405        [, , "44\\d{4}", , , , "440123", , , [6]],
41406        ,
41407        ,
41408        [, , , , , , , , , [-1]],
41409      ],
41410      PG: [
41411        ,
41412        [
41413          ,
41414          ,
41415          "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",
41416          ,
41417          ,
41418          ,
41419          ,
41420          ,
41421          ,
41422          [7, 8],
41423        ],
41424        [
41425          ,
41426          ,
41427          "(?:(?:3[0-2]|4[257]|5[34]|9[78])\\d|64[1-9]|85[02-46-9])\\d{4}",
41428          ,
41429          ,
41430          ,
41431          "3123456",
41432          ,
41433          ,
41434          [7],
41435        ],
41436        [, , "(?:7\\d|8[128])\\d{6}", , , , "70123456", , , [8]],
41437        [, , "180\\d{4}", , , , "1801234", , , [7]],
41438        [, , , , , , , , , [-1]],
41439        [, , , , , , , , , [-1]],
41440        [, , , , , , , , , [-1]],
41441        [, , "2(?:0[0-57]|7[568])\\d{4}", , , , "2751234", , , [7]],
41442        "PG",
41443        675,
41444        "00|140[1-3]",
41445        ,
41446        ,
41447        ,
41448        ,
41449        ,
41450        "00",
41451        ,
41452        [
41453          [, "(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85"]],
41454          [, "(\\d{4})(\\d{4})", "$1 $2", ["[78]"]],
41455        ],
41456        ,
41457        [, , "27[01]\\d{4}", , , , "2700123", , , [7]],
41458        ,
41459        ,
41460        [, , , , , , , , , [-1]],
41461        [, , , , , , , , , [-1]],
41462        ,
41463        ,
41464        [, , , , , , , , , [-1]],
41465      ],
41466      PH: [
41467        ,
41468        [
41469          ,
41470          ,
41471          "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}",
41472          ,
41473          ,
41474          ,
41475          ,
41476          ,
41477          ,
41478          [6, 8, 9, 10, 11, 12, 13],
41479          [4, 5, 7],
41480        ],
41481        [
41482          ,
41483          ,
41484          "(?:(?:2[3-8]|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\\d{3}|88(?:22\\d\\d|42))\\d{4}|(?:2|8[2-8]\\d\\d)\\d{5}",
41485          ,
41486          ,
41487          ,
41488          "232345678",
41489          ,
41490          ,
41491          [6, 8, 9, 10],
41492          [4, 5, 7],
41493        ],
41494        [
41495          ,
41496          ,
41497          "(?:8(?:1[37]|9[5-8])|9(?:0[5-9]|1[0-24-9]|[235-7]\\d|4[2-9]|8[135-9]|9[1-9]))\\d{7}",
41498          ,
41499          ,
41500          ,
41501          "9051234567",
41502          ,
41503          ,
41504          [10],
41505        ],
41506        [, , "1800\\d{7,9}", , , , "180012345678", , , [11, 12, 13]],
41507        [, , , , , , , , , [-1]],
41508        [, , , , , , , , , [-1]],
41509        [, , , , , , , , , [-1]],
41510        [, , , , , , , , , [-1]],
41511        "PH",
41512        63,
41513        "00",
41514        "0",
41515        ,
41516        ,
41517        "0",
41518        ,
41519        ,
41520        ,
41521        [
41522          [, "(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"],
41523          [
41524            ,
41525            "(\\d{4})(\\d{4,6})",
41526            "$1 $2",
41527            [
41528              "3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2",
41529              "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))",
41530            ],
41531            "(0$1)",
41532          ],
41533          [
41534            ,
41535            "(\\d{5})(\\d{4})",
41536            "$1 $2",
41537            ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"],
41538            "(0$1)",
41539          ],
41540          [, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"],
41541          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"],
41542          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"],
41543          [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]],
41544          [, "(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]],
41545        ],
41546        ,
41547        [, , , , , , , , , [-1]],
41548        ,
41549        ,
41550        [, , , , , , , , , [-1]],
41551        [, , , , , , , , , [-1]],
41552        ,
41553        ,
41554        [, , , , , , , , , [-1]],
41555      ],
41556      PK: [
41557        ,
41558        [
41559          ,
41560          ,
41561          "122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",
41562          ,
41563          ,
41564          ,
41565          ,
41566          ,
41567          ,
41568          [8, 9, 10, 11, 12],
41569          [5, 6, 7],
41570        ],
41571        [
41572          ,
41573          ,
41574          "(?:(?:21|42)[2-9]|58[126])\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6,7}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}",
41575          ,
41576          ,
41577          ,
41578          "2123456789",
41579          ,
41580          ,
41581          [9, 10],
41582          [5, 6, 7, 8],
41583        ],
41584        [, , "3(?:[0-24]\\d|3[0-7]|55|64)\\d{7}", , , , "3012345678", , , [10]],
41585        [, , "800\\d{5}(?:\\d{3})?", , , , "80012345", , , [8, 11]],
41586        [, , "900\\d{5}", , , , "90012345", , , [8]],
41587        [, , , , , , , , , [-1]],
41588        [, , "122\\d{6}", , , , "122044444", , , [9]],
41589        [, , , , , , , , , [-1]],
41590        "PK",
41591        92,
41592        "00",
41593        "0",
41594        ,
41595        ,
41596        "0",
41597        ,
41598        ,
41599        ,
41600        [
41601          [, "(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"],
41602          [, "(\\d{4})(\\d{5})", "$1 $2", ["1"]],
41603          [
41604            ,
41605            "(\\d{3})(\\d{6,7})",
41606            "$1 $2",
41607            [
41608              "2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])",
41609              "9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]",
41610            ],
41611            "(0$1)",
41612          ],
41613          [
41614            ,
41615            "(\\d{2})(\\d{7,8})",
41616            "$1 $2",
41617            ["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],
41618            "(0$1)",
41619          ],
41620          [, "(\\d{5})(\\d{5})", "$1 $2", ["58"], "(0$1)"],
41621          [, "(\\d{3})(\\d{7})", "$1 $2", ["3"], "0$1"],
41622          [
41623            ,
41624            "(\\d{2})(\\d{3})(\\d{3})(\\d{3})",
41625            "$1 $2 $3 $4",
41626            ["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],
41627            "(0$1)",
41628          ],
41629          [
41630            ,
41631            "(\\d{3})(\\d{3})(\\d{3})(\\d{3})",
41632            "$1 $2 $3 $4",
41633            ["[24-9]"],
41634            "(0$1)",
41635          ],
41636        ],
41637        ,
41638        [, , , , , , , , , [-1]],
41639        ,
41640        ,
41641        [, , , , , , , , , [-1]],
41642        [
41643          ,
41644          ,
41645          "(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}",
41646          ,
41647          ,
41648          ,
41649          "21111825888",
41650          ,
41651          ,
41652          [11, 12],
41653        ],
41654        ,
41655        ,
41656        [, , , , , , , , , [-1]],
41657      ],
41658      PL: [
41659        ,
41660        [
41661          ,
41662          ,
41663          "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}",
41664          ,
41665          ,
41666          ,
41667          ,
41668          ,
41669          ,
41670          [6, 7, 8, 9, 10],
41671        ],
41672        [
41673          ,
41674          ,
41675          "47\\d{7}|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])(?:[02-9]\\d{6}|1(?:[0-8]\\d{5}|9\\d{3}(?:\\d{2})?))",
41676          ,
41677          ,
41678          ,
41679          "123456789",
41680          ,
41681          ,
41682          [7, 9],
41683        ],
41684        [
41685          ,
41686          ,
41687          "21(?:1(?:[145]\\d|3[1-5])|2[0-4]\\d)\\d{4}|(?:45|5[0137]|6[069]|7[2389]|88)\\d{7}",
41688          ,
41689          ,
41690          ,
41691          "512345678",
41692          ,
41693          ,
41694          [9],
41695        ],
41696        [, , "800\\d{6,7}", , , , "800123456", , , [9, 10]],
41697        [, , "70[01346-8]\\d{6}", , , , "701234567", , , [9]],
41698        [, , "801\\d{6}", , , , "801234567", , , [9]],
41699        [, , , , , , , , , [-1]],
41700        [, , "39\\d{7}", , , , "391234567", , , [9]],
41701        "PL",
41702        48,
41703        "00",
41704        ,
41705        ,
41706        ,
41707        ,
41708        ,
41709        ,
41710        ,
41711        [
41712          [, "(\\d{5})", "$1", ["19"]],
41713          [, "(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]],
41714          [
41715            ,
41716            "(\\d{2})(\\d{2})(\\d{3})",
41717            "$1 $2 $3",
41718            [
41719              "(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1",
41720              "(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19",
41721            ],
41722          ],
41723          [, "(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]],
41724          [
41725            ,
41726            "(\\d{3})(\\d{3})(\\d{3})",
41727            "$1 $2 $3",
41728            ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"],
41729          ],
41730          [
41731            ,
41732            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
41733            "$1 $2 $3 $4",
41734            ["1[2-8]|[2-7]|8[1-79]|9[145]"],
41735          ],
41736          [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]],
41737        ],
41738        ,
41739        [, , "64\\d{4,7}", , , , "641234567", , , [6, 7, 8, 9]],
41740        ,
41741        ,
41742        [, , , , , , , , , [-1]],
41743        [, , "804\\d{6}", , , , "804123456", , , [9]],
41744        ,
41745        ,
41746        [, , , , , , , , , [-1]],
41747      ],
41748      PM: [
41749        ,
41750        [, , "[45]\\d{5}|(?:708|80\\d)\\d{6}", , , , , , , [6, 9]],
41751        [, , "(?:4[1-356]|50)\\d{4}", , , , "430123", , , [6]],
41752        [, , "(?:4[02-4]|5[056]|708[45][0-5])\\d{4}", , , , "551234"],
41753        [, , "80[0-5]\\d{6}", , , , "800012345", , , [9]],
41754        [, , , , , , , , , [-1]],
41755        [, , , , , , , , , [-1]],
41756        [, , , , , , , , , [-1]],
41757        [, , , , , , , , , [-1]],
41758        "PM",
41759        508,
41760        "00",
41761        "0",
41762        ,
41763        ,
41764        "0",
41765        ,
41766        ,
41767        ,
41768        [
41769          [, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[45]"], "0$1"],
41770          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]],
41771          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"],
41772        ],
41773        ,
41774        [, , , , , , , , , [-1]],
41775        ,
41776        ,
41777        [, , , , , , , , , [-1]],
41778        [, , , , , , , , , [-1]],
41779        ,
41780        ,
41781        [, , , , , , , , , [-1]],
41782      ],
41783      PR: [
41784        ,
41785        [, , "(?:[589]\\d\\d|787)\\d{7}", , , , , , , [10], [7]],
41786        [, , "(?:787|939)[2-9]\\d{6}", , , , "7872345678", , , , [7]],
41787        [, , "(?:787|939)[2-9]\\d{6}", , , , "7872345678", , , , [7]],
41788        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"],
41789        [, , "900[2-9]\\d{6}", , , , "9002345678"],
41790        [, , , , , , , , , [-1]],
41791        [
41792          ,
41793          ,
41794          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
41795          ,
41796          ,
41797          ,
41798          "5002345678",
41799        ],
41800        [, , , , , , , , , [-1]],
41801        "PR",
41802        1,
41803        "011",
41804        "1",
41805        ,
41806        ,
41807        "1",
41808        ,
41809        ,
41810        1,
41811        ,
41812        ,
41813        [, , , , , , , , , [-1]],
41814        ,
41815        "787|939",
41816        [, , , , , , , , , [-1]],
41817        [, , , , , , , , , [-1]],
41818        ,
41819        ,
41820        [, , , , , , , , , [-1]],
41821      ],
41822      PS: [
41823        ,
41824        [, , "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", , , , , , , [8, 9, 10], [7]],
41825        [
41826          ,
41827          ,
41828          "(?:22[2-47-9]|42[45]|82[014-68]|92[3569])\\d{5}",
41829          ,
41830          ,
41831          ,
41832          "22234567",
41833          ,
41834          ,
41835          [8],
41836          [7],
41837        ],
41838        [, , "5[69]\\d{7}", , , , "599123456", , , [9]],
41839        [, , "1800\\d{6}", , , , "1800123456", , , [10]],
41840        [, , , , , , , , , [-1]],
41841        [, , "1700\\d{6}", , , , "1700123456", , , [10]],
41842        [, , , , , , , , , [-1]],
41843        [, , , , , , , , , [-1]],
41844        "PS",
41845        970,
41846        "00",
41847        "0",
41848        ,
41849        ,
41850        "0",
41851        ,
41852        ,
41853        ,
41854        [
41855          [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2489]"], "0$1"],
41856          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["5"], "0$1"],
41857          [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]],
41858        ],
41859        ,
41860        [, , , , , , , , , [-1]],
41861        ,
41862        ,
41863        [, , , , , , , , , [-1]],
41864        [, , , , , , , , , [-1]],
41865        ,
41866        ,
41867        [, , , , , , , , , [-1]],
41868      ],
41869      PT: [
41870        ,
41871        [, , "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", , , , , , , [9]],
41872        [
41873          ,
41874          ,
41875          "2(?:[12]\\d|3[1-689]|4[1-59]|[57][1-9]|6[1-35689]|8[1-69]|9[1256])\\d{6}",
41876          ,
41877          ,
41878          ,
41879          "212345678",
41880        ],
41881        [
41882          ,
41883          ,
41884          "6(?:[06]92(?:30|9\\d)|[35]92(?:3[03]|9\\d))\\d{3}|(?:(?:16|6[0356])93|9(?:[1-36]\\d\\d|480))\\d{5}",
41885          ,
41886          ,
41887          ,
41888          "912345678",
41889        ],
41890        [, , "80[02]\\d{6}", , , , "800123456"],
41891        [
41892          ,
41893          ,
41894          "(?:6(?:0[178]|4[68])\\d|76(?:0[1-57]|1[2-47]|2[237]))\\d{5}",
41895          ,
41896          ,
41897          ,
41898          "760123456",
41899        ],
41900        [, , "80(?:8\\d|9[1579])\\d{5}", , , , "808123456"],
41901        [, , "884[0-4689]\\d{5}", , , , "884123456"],
41902        [, , "30\\d{7}", , , , "301234567"],
41903        "PT",
41904        351,
41905        "00",
41906        ,
41907        ,
41908        ,
41909        ,
41910        ,
41911        ,
41912        ,
41913        [
41914          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]],
41915          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]],
41916        ],
41917        ,
41918        [, , "6222\\d{5}", , , , "622212345"],
41919        ,
41920        ,
41921        [, , , , , , , , , [-1]],
41922        [, , "70(?:38[01]|596|(?:7\\d|8[17])\\d)\\d{4}", , , , "707123456"],
41923        ,
41924        ,
41925        [, , "600\\d{6}|6[06]9233\\d{3}", , , , "600110000"],
41926      ],
41927      PW: [
41928        ,
41929        [, , "(?:[24-8]\\d\\d|345|900)\\d{4}", , , , , , , [7]],
41930        [
41931          ,
41932          ,
41933          "(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\\d{4}",
41934          ,
41935          ,
41936          ,
41937          "2771234",
41938        ],
41939        [
41940          ,
41941          ,
41942          "(?:(?:46|83)[0-5]|6[2-4689]0)\\d{4}|(?:45|77|88)\\d{5}",
41943          ,
41944          ,
41945          ,
41946          "6201234",
41947        ],
41948        [, , , , , , , , , [-1]],
41949        [, , , , , , , , , [-1]],
41950        [, , , , , , , , , [-1]],
41951        [, , , , , , , , , [-1]],
41952        [, , , , , , , , , [-1]],
41953        "PW",
41954        680,
41955        "01[12]",
41956        ,
41957        ,
41958        ,
41959        ,
41960        ,
41961        ,
41962        ,
41963        [[, "(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]],
41964        ,
41965        [, , , , , , , , , [-1]],
41966        ,
41967        ,
41968        [, , , , , , , , , [-1]],
41969        [, , , , , , , , , [-1]],
41970        ,
41971        ,
41972        [, , , , , , , , , [-1]],
41973      ],
41974      PY: [
41975        ,
41976        [
41977          ,
41978          ,
41979          "59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}",
41980          ,
41981          ,
41982          ,
41983          ,
41984          ,
41985          ,
41986          [6, 7, 8, 9, 10, 11],
41987          [5],
41988        ],
41989        [
41990          ,
41991          ,
41992          "(?:[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36])\\d{5,7}|(?:2(?:2[4-68]|[4-68]\\d|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51|[67]\\d)|4(?:3[12]|5[13]|9[1-47])|5(?:[1-4]\\d|5[02-4])|6(?:3[1-3]|44|7[1-8])|7(?:4[0-4]|5\\d|6[1-
41992578]|75|8[0-8])|858)\\d{5,6}",
41993          ,
41994          ,
41995          ,
41996          "212345678",
41997          ,
41998          ,
41999          [7, 8, 9],
42000          [5, 6],
42001        ],
42002        [
42003          ,
42004          ,
42005          "9(?:51|6[129]|[78][1-6]|9[1-5])\\d{6}",
42006          ,
42007          ,
42008          ,
42009          "961456789",
42010          ,
42011          ,
42012          [9],
42013        ],
42014        [, , "9800\\d{5,7}", , , , "98000123456", , , [9, 10, 11]],
42015        [, , , , , , , , , [-1]],
42016        [, , , , , , , , , [-1]],
42017        [, , , , , , , , , [-1]],
42018        [, , "8700[0-4]\\d{4}", , , , "870012345", , , [9]],
42019        "PY",
42020        595,
42021        "00",
42022        "0",
42023        ,
42024        ,
42025        "0",
42026        ,
42027        ,
42028        ,
42029        [
42030          [, "(\\d{3})(\\d{3,6})", "$1 $2", ["[2-9]0"], "0$1"],
42031          [
42032            ,
42033            "(\\d{2})(\\d{5})",
42034            "$1 $2",
42035            ["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],
42036            "(0$1)",
42037          ],
42038          [
42039            ,
42040            "(\\d{3})(\\d{4,5})",
42041            "$1 $2",
42042            ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"],
42043            "(0$1)",
42044          ],
42045          [
42046            ,
42047            "(\\d{2})(\\d{3})(\\d{3,4})",
42048            "$1 $2 $3",
42049            ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"],
42050            "(0$1)",
42051          ],
42052          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]],
42053          [, "(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-6])"], "0$1"],
42054          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"],
42055          [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]],
42056        ],
42057        ,
42058        [, , , , , , , , , [-1]],
42059        ,
42060        ,
42061        [, , , , , , , , , [-1]],
42062        [, , "[2-9]0\\d{4,7}", , , , "201234567", , , [6, 7, 8, 9]],
42063        ,
42064        ,
42065        [, , , , , , , , , [-1]],
42066      ],
42067      QA: [
42068        ,
42069        [
42070          ,
42071          ,
42072          "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}",
42073          ,
42074          ,
42075          ,
42076          ,
42077          ,
42078          ,
42079          [7, 8, 9, 11],
42080        ],
42081        [
42082          ,
42083          ,
42084          "4(?:1111|2022)\\d{3}|4(?:[04]\\d\\d|14[0-6]|999)\\d{4}",
42085          ,
42086          ,
42087          ,
42088          "44123456",
42089          ,
42090          ,
42091          [8],
42092        ],
42093        [, , "[35-7]\\d{7}", , , , "33123456", , , [8]],
42094        [
42095          ,
42096          ,
42097          "800\\d{4}|(?:0080[01]|800)\\d{6}",
42098          ,
42099          ,
42100          ,
42101          "8001234",
42102          ,
42103          ,
42104          [7, 9, 11],
42105        ],
42106        [, , , , , , , , , [-1]],
42107        [, , , , , , , , , [-1]],
42108        [, , , , , , , , , [-1]],
42109        [, , , , , , , , , [-1]],
42110        "QA",
42111        974,
42112        "00",
42113        ,
42114        ,
42115        ,
42116        ,
42117        ,
42118        ,
42119        ,
42120        [
42121          [, "(\\d{3})(\\d{4})", "$1 $2", ["2[16]|8"]],
42122          [, "(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]],
42123        ],
42124        ,
42125        [, , "2[16]\\d{5}", , , , "2123456", , , [7]],
42126        ,
42127        ,
42128        [, , , , , , , , , [-1]],
42129        [, , , , , , , , , [-1]],
42130        ,
42131        ,
42132        [, , , , , , , , , [-1]],
42133      ],
42134      RE: [
42135        ,
42136        [, , "(?:26|[689]\\d)\\d{7}", , , , , , , [9]],
42137        [, , "26(?:2\\d\\d|3(?:0\\d|1[0-3]))\\d{4}", , , , "262161234"],
42138        [
42139          ,
42140          ,
42141          "(?:69(?:2\\d\\d|3(?:0[0-46]|1[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|6[0-6]|7[0-27]|8[0-8]|9[0-479]))|9(?:399[0-3]|479[0-2]|76(?:2[27]|3[0-37]|9\\d)))\\d{4}",
42142          ,
42143          ,
42144          ,
42145          "692123456",
42146        ],
42147        [, , "80\\d{7}", , , , "801234567"],
42148        [, , "89[1-37-9]\\d{6}", , , , "891123456"],
42149        [, , "8(?:1[019]|2[0156]|84|90)\\d{6}", , , , "810123456"],
42150        [, , , , , , , , , [-1]],
42151        [, , , , , , , , , [-1]],
42152        "RE",
42153        262,
42154        "00",
42155        "0",
42156        ,
42157        ,
42158        "0",
42159        ,
42160        ,
42161        ,
42162        [
42163          [
42164            ,
42165            "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
42166            "$1 $2 $3 $4",
42167            ["[2689]"],
42168            "0$1",
42169          ],
42170        ],
42171        ,
42172        [, , , , , , , , , [-1]],
42173        1,
42174        ,
42175        [, , , , , , , , , [-1]],
42176        [, , , , , , , , , [-1]],
42177        ,
42178        ,
42179        [, , , , , , , , , [-1]],
42180      ],
42181      RO: [
42182        ,
42183        [, , "(?:[2378]\\d|90)\\d{7}|[23]\\d{5}", , , , , , , [6, 9]],
42184        [
42185          ,
42186          ,
42187          "[23][13-6]\\d{7}|(?:2(?:19\\d|[3-6]\\d9)|31\\d\\d)\\d\\d",
42188          ,
42189          ,
42190          ,
42191          "211234567",
42192        ],
42193        [
42194          ,
42195          ,
42196          "7020\\d{5}|7(?:0[013-9]|1[0-3]|[2-7]\\d|8[03-8]|9[0-29])\\d{6}",
42197          ,
42198          ,
42199          ,
42200          "712034567",
42201          ,
42202          ,
42203          [9],
42204        ],
42205        [, , "800\\d{6}", , , , "800123456", , , [9]],
42206        [, , "90[0136]\\d{6}", , , , "900123456", , , [9]],
42207        [, , "801\\d{6}", , , , "801123456", , , [9]],
42208        [, , , , , , , , , [-1]],
42209        [, , , , , , , , , [-1]],
42210        "RO",
42211        40,
42212        "00",
42213        "0",
42214        " int ",
42215        ,
42216        "0",
42217        ,
42218        ,
42219        ,
42220        [
42221          [, "(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"],
42222          [, "(\\d{2})(\\d{4})", "$1 $2", ["219|31"], "0$1"],
42223          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23]1"], "0$1"],
42224          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[237-9]"], "0$1"],
42225        ],
42226        ,
42227        [, , , , , , , , , [-1]],
42228        ,
42229        ,
42230        [, , , , , , , , , [-1]],
42231        [, , "(?:37\\d|80[578])\\d{6}", , , , "372123456", , , [9]],
42232        ,
42233        ,
42234        [, , , , , , , , , [-1]],
42235      ],
42236      RS: [
42237        ,
42238        [
42239          ,
42240          ,
42241          "38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",
42242          ,
42243          ,
42244          ,
42245          ,
42246          ,
42247          ,
42248          [6, 7, 8, 9, 10, 11, 12],
42249          [4, 5],
42250        ],
42251        [
42252          ,
42253          ,
42254          "(?:11[1-9]\\d|(?:2[389]|39)(?:0[2-9]|[2-9]\\d))\\d{3,8}|(?:1[02-9]|2[0-24-7]|3[0-8])[2-9]\\d{4,9}",
42255          ,
42256          ,
42257          ,
42258          "10234567",
42259          ,
42260          ,
42261          [7, 8, 9, 10, 11, 12],
42262          [4, 5, 6],
42263        ],
42264        [, , "6(?:[0-689]|7\\d)\\d{6,7}", , , , "601234567", , , [8, 9, 10]],
42265        [, , "800\\d{3,9}", , , , "80012345"],
42266        [
42267          ,
42268          ,
42269          "(?:78\\d|90[0169])\\d{3,7}",
42270          ,
42271          ,
42272          ,
42273          "90012345",
42274          ,
42275          ,
42276          [6, 7, 8, 9, 10],
42277        ],
42278        [, , , , , , , , , [-1]],
42279        [, , , , , , , , , [-1]],
42280        [, , , , , , , , , [-1]],
42281        "RS",
42282        381,
42283        "00",
42284        "0",
42285        ,
42286        ,
42287        "0",
42288        ,
42289        ,
42290        ,
42291        [
42292          [, "(\\d{3})(\\d{3,9})", "$1 $2", ["(?:2[389]|39)0|[7-9]"], "0$1"],
42293          [, "(\\d{2})(\\d{5,10})", "$1 $2", ["[1-36]"], "0$1"],
42294        ],
42295        ,
42296        [, , , , , , , , , [-1]],
42297        ,
42298        ,
42299        [, , , , , , , , , [-1]],
42300        [, , "7[06]\\d{4,10}", , , , "700123456"],
42301        ,
42302        ,
42303        [, , , , , , , , , [-1]],
42304      ],
42305      RU: [
42306        ,
42307        [, , "8\\d{13}|[347-9]\\d{9}", , , , , , , [10, 14], [7]],
42308        [
42309          ,
42310          ,
42311          "(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8
42311(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\d{7}",
42312          ,
42313          ,
42314          ,
42315          "3011234567",
42316          ,
42317          ,
42318          [10],
42319          [7],
42320        ],
42321        [, , "9\\d{9}", , , , "9123456789", , , [10]],
42322        [, , "8(?:0[04]|108\\d{3})\\d{7}", , , , "8001234567"],
42323        [, , "80[39]\\d{7}", , , , "8091234567", , , [10]],
42324        [, , , , , , , , , [-1]],
42325        [, , "808\\d{7}", , , , "8081234567", , , [10]],
42326        [, , , , , , , , , [-1]],
42327        "RU",
42328        7,
42329        "810",
42330        "8",
42331        ,
42332        ,
42333        "8",
42334        ,
42335        "8~10",
42336        ,
42337        [
42338          [, "(\\d{3})(\\d{2})(\\d{2})", "$1-$2-$3", ["[0-79]"]],
42339          [
42340            ,
42341            "(\\d{4})(\\d{2})(\\d{2})(\\d{2})",
42342            "$1 $2 $3 $4",
42343            [
42344              "7(?:1[0-8]|2[1-9])",
42345              "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))",
42346              "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2",
42347            ],
42348            "8 ($1)",
42349            ,
42350            1,
42351          ],
42352          [
42353            ,
42354            "(\\d{5})(\\d)(\\d{2})(\\d{2})",
42355            "$1 $2 $3 $4",
42356            [
42357              "7(?:1[0-68]|2[1-9])",
42358              "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))",
42359              "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]",
42360            ],
42361            "8 ($1)",
42362            ,
42363            1,
42364          ],
42365          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", , 1],
42366          [
42367            ,
42368            "(\\d{3})(\\d{3})(\\d{2})(\\d{2})",
42369            "$1 $2-$3-$4",
42370            ["[349]|8(?:[02-7]|1[1-8])"],
42371            "8 ($1)",
42372            ,
42373            1,
42374          ],
42375          [
42376            ,
42377            "(\\d{4})(\\d{4})(\\d{3})(\\d{3})",
42378            "$1 $2 $3 $4",
42379            ["8"],
42380            "8 ($1)",
42381          ],
42382        ],
42383        [
42384          [
42385            ,
42386            "(\\d{4})(\\d{2})(\\d{2})(\\d{2})",
42387            "$1 $2 $3 $4",
42388            [
42389              "7(?:1[0-8]|2[1-9])",
42390              "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))",
42391              "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2",
42392            ],
42393            "8 ($1)",
42394            ,
42395            1,
42396          ],
42397          [
42398            ,
42399            "(\\d{5})(\\d)(\\d{2})(\\d{2})",
42400            "$1 $2 $3 $4",
42401            [
42402              "7(?:1[0-68]|2[1-9])",
42403              "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))",
42404              "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]",
42405            ],
42406            "8 ($1)",
42407            ,
42408            1,
42409          ],
42410          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", , 1],
42411          [
42412            ,
42413            "(\\d{3})(\\d{3})(\\d{2})(\\d{2})",
42414            "$1 $2-$3-$4",
42415            ["[349]|8(?:[02-7]|1[1-8])"],
42416            "8 ($1)",
42417            ,
42418            1,
42419          ],
42420          [
42421            ,
42422            "(\\d{4})(\\d{4})(\\d{3})(\\d{3})",
42423            "$1 $2 $3 $4",
42424            ["8"],
42425            "8 ($1)",
42426          ],
42427        ],
42428        [, , , , , , , , , [-1]],
42429        1,
42430        "3[04-689]|[489]",
42431        [, , , , , , , , , [-1]],
42432        [, , , , , , , , , [-1]],
42433        ,
42434        ,
42435        [, , , , , , , , , [-1]],
42436      ],
42437      RW: [
42438        ,
42439        [, , "(?:06|[27]\\d\\d|[89]00)\\d{6}", , , , , , , [8, 9]],
42440        [, , "(?:06|2[23568]\\d)\\d{6}", , , , "250123456"],
42441        [, , "7[2389]\\d{7}", , , , "720123456", , , [9]],
42442        [, , "800\\d{6}", , , , "800123456", , , [9]],
42443        [, , "900\\d{6}", , , , "900123456", , , [9]],
42444        [, , , , , , , , , [-1]],
42445        [, , , , , , , , , [-1]],
42446        [, , , , , , , , , [-1]],
42447        "RW",
42448        250,
42449        "00",
42450        "0",
42451        ,
42452        ,
42453        "0",
42454        ,
42455        ,
42456        ,
42457        [
42458          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]],
42459          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"],
42460          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]],
42461        ],
42462        ,
42463        [, , , , , , , , , [-1]],
42464        ,
42465        ,
42466        [, , , , , , , , , [-1]],
42467        [, , , , , , , , , [-1]],
42468        ,
42469        ,
42470        [, , , , , , , , , [-1]],
42471      ],
42472      SA: [
42473        ,
42474        [, , "92\\d{7}|(?:[15]|8\\d)\\d{8}", , , , , , , [9, 10], [7]],
42475        [
42476          ,
42477          ,
42478          "1(?:1\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\d{6}",
42479          ,
42480          ,
42481          ,
42482          "112345678",
42483          ,
42484          ,
42485          [9],
42486          [7],
42487        ],
42488        [
42489          ,
42490          ,
42491          "579[01]\\d{5}|5(?:[013-689]\\d|7[0-35-8])\\d{6}",
42492          ,
42493          ,
42494          ,
42495          "512345678",
42496          ,
42497          ,
42498          [9],
42499        ],
42500        [, , "800\\d{7}", , , , "8001234567", , , [10]],
42501        [, , "925\\d{6}", , , , "925012345", , , [9]],
42502        [, , "920\\d{6}", , , , "920012345", , , [9]],
42503        [, , , , , , , , , [-1]],
42504        [, , , , , , , , , [-1]],
42505        "SA",
42506        966,
42507        "00",
42508        "0",
42509        ,
42510        ,
42511        "0",
42512        ,
42513        ,
42514        ,
42515        [
42516          [, "(\\d{4})(\\d{5})", "$1 $2", ["9"]],
42517          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"],
42518          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"],
42519          [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["81"], "0$1"],
42520          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]],
42521        ],
42522        ,
42523        [, , , , , , , , , [-1]],
42524        ,
42525        ,
42526        [, , , , , , , , , [-1]],
42527        [, , "811\\d{7}", , , , "8110123456", , , [10]],
42528        ,
42529        ,
42530        [, , , , , , , , , [-1]],
42531      ],
42532      SB: [
42533        ,
42534        [, , "(?:[1-6]|[7-9]\\d\\d)\\d{4}", , , , , , , [5, 7]],
42535        [
42536          ,
42537          ,
42538          "(?:1[4-79]|[23]\\d|4[0-2]|5[03]|6[0-37])\\d{3}",
42539          ,
42540          ,
42541          ,
42542          "40123",
42543          ,
42544          ,
42545          [5],
42546        ],
42547        [
42548          ,
42549          ,
42550          "48\\d{3}|(?:(?:7[1-9]|8[4-9])\\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\\d{4}",
42551          ,
42552          ,
42553          ,
42554          "7421234",
42555        ],
42556        [, , "1[38]\\d{3}", , , , "18123", , , [5]],
42557        [, , , , , , , , , [-1]],
42558        [, , , , , , , , , [-1]],
42559        [, , , , , , , , , [-1]],
42560        [, , "5[12]\\d{3}", , , , "51123", , , [5]],
42561        "SB",
42562        677,
42563        "0[01]",
42564        ,
42565        ,
42566        ,
42567        ,
42568        ,
42569        ,
42570        ,
42571        [[, "(\\d{2})(\\d{5})", "$1 $2", ["7|8[4-9]|9(?:[1-8]|9[0-8])"]]],
42572        ,
42573        [, , , , , , , , , [-1]],
42574        ,
42575        ,
42576        [, , , , , , , , , [-1]],
42577        [, , , , , , , , , [-1]],
42578        ,
42579        ,
42580        [, , , , , , , , , [-1]],
42581      ],
42582      SC: [
42583        ,
42584        [, , "800\\d{4}|(?:[249]\\d|64)\\d{5}", , , , , , , [7]],
42585        [, , "4[2-46]\\d{5}", , , , "4217123"],
42586        [, , "2[125-8]\\d{5}", , , , "2510123"],
42587        [, , "800[08]\\d{3}", , , , "8000000"],
42588        [, , , , , , , , , [-1]],
42589        [, , , , , , , , , [-1]],
42590        [, , , , , , , , , [-1]],
42591        [, , "971\\d{4}|(?:64|95)\\d{5}", , , , "6412345"],
42592        "SC",
42593        248,
42594        "010|0[0-2]",
42595        ,
42596        ,
42597        ,
42598        ,
42599        ,
42600        "00",
42601        ,
42602        [[, "(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[246]|9[57]"]]],
42603        ,
42604        [, , , , , , , , , [-1]],
42605        ,
42606        ,
42607        [, , , , , , , , , [-1]],
42608        [, , , , , , , , , [-1]],
42609        ,
42610        ,
42611        [, , , , , , , , , [-1]],
42612      ],
42613      SD: [
42614        ,
42615        [, , "[19]\\d{8}", , , , , , , [9]],
42616        [, , "1(?:5\\d|8[35-7])\\d{6}", , , , "153123456"],
42617        [, , "(?:1[0-2]|9[0-3569])\\d{7}", , , , "911231234"],
42618        [, , , , , , , , , [-1]],
42619        [, , , , , , , , , [-1]],
42620        [, , , , , , , , , [-1]],
42621        [, , , , , , , , , [-1]],
42622        [, , , , , , , , , [-1]],
42623        "SD",
42624        249,
42625        "00",
42626        "0",
42627        ,
42628        ,
42629        "0",
42630        ,
42631        ,
42632        ,
42633        [[, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[19]"], "0$1"]],
42634        ,
42635        [, , , , , , , , , [-1]],
42636        ,
42637        ,
42638        [, , , , , , , , , [-1]],
42639        [, , , , , , , , , [-1]],
42640        ,
42641        ,
42642        [, , , , , , , , , [-1]],
42643      ],
42644      SE: [
42645        ,
42646        [
42647          ,
42648          ,
42649          "(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",
42650          ,
42651          ,
42652          ,
42653          ,
42654          ,
42655          ,
42656          [6, 7, 8, 9, 10, 12],
42657        ],
42658        [
42659          ,
42660          ,
42661          "(?:(?:[12][136]|3[356]|4[0246]|6[03]|8\\d)\\d|90[1-9])\\d{4,6}|(?:1(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)|2(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|4(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\d|6[03-5]|7[013]|8[0-79]|9[01])|6(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])|9(?:1[0-68]|2\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8]))\\d{5,6}",
42662          ,
42663          ,
42664          ,
42665          "8123456",
42666          ,
42667          ,
42668          [7, 8, 9],
42669        ],
42670        [, , "7[02369]\\d{7}", , , , "701234567", , , [9]],
42671        [, , "20\\d{4,7}", , , , "20123456", , , [6, 7, 8, 9]],
42672        [
42673          ,
42674          ,
42675          "649\\d{6}|99[1-59]\\d{4}(?:\\d{3})?|9(?:00|39|44)[1-8]\\d{3,6}",
42676          ,
42677          ,
42678          ,
42679          "9001234567",
42680          ,
42681          ,
42682          [7, 8, 9, 10],
42683        ],
42684        [, , "77[0-7]\\d{6}", , , , "771234567", , , [9]],
42685        [, , "75[1-8]\\d{6}", , , , "751234567", , , [9]],
42686        [, , , , , , , , , [-1]],
42687        "SE",
42688        46,
42689        "00",
42690        "0",
42691        ,
42692        ,
42693        "0",
42694        ,
42695        ,
42696        ,
42697        [
42698          [, "(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1"],
42699          [, "(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1"],
42700          [
42701            ,
42702            "(\\d{2})(\\d{3})(\\d{2})",
42703            "$1-$2 $3",
42704            ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],
42705            "0$1",
42706          ],
42707          [, "(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1"],
42708          [
42709            ,
42710            "(\\d{3})(\\d{2,3})(\\d{2})",
42711            "$1-$2 $3",
42712            [
42713              "1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])",
42714            ],
42715            "0$1",
42716          ],
42717          [
42718            ,
42719            "(\\d{3})(\\d{2,3})(\\d{3})",
42720            "$1-$2 $3",
42721            ["9(?:00|39|44)"],
42722            "0$1",
42723          ],
42724          [
42725            ,
42726            "(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})",
42727            "$1-$2 $3 $4",
42728            ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],
42729            "0$1",
42730          ],
42731          [
42732            ,
42733            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
42734            "$1-$2 $3 $4",
42735            ["10|7"],
42736            "0$1",
42737          ],
42738          [, "(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1"],
42739          [
42740            ,
42741            "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
42742            "$1-$2 $3 $4",
42743            [
42744              "[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])",
42745            ],
42746            "0$1",
42747          ],
42748          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1"],
42749          [
42750            ,
42751            "(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
42752            "$1-$2 $3 $4 $5",
42753            ["[26]"],
42754            "0$1",
42755          ],
42756        ],
42757        [
42758          [, "(\\d{2})(\\d{2,3})(\\d{2})", "$1 $2 $3", ["20"]],
42759          [, "(\\d{3})(\\d{4})", "$1 $2", ["9(?:00|39|44|9)"]],
42760          [
42761            ,
42762            "(\\d{2})(\\d{3})(\\d{2})",
42763            "$1 $2 $3",
42764            ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],
42765          ],
42766          [, "(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]],
42767          [
42768            ,
42769            "(\\d{3})(\\d{2,3})(\\d{2})",
42770            "$1 $2 $3",
42771            [
42772              "1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])",
42773            ],
42774          ],
42775          [, "(\\d{3})(\\d{2,3})(\\d{3})", "$1 $2 $3", ["9(?:00|39|44)"]],
42776          [
42777            ,
42778            "(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})",
42779            "$1 $2 $3 $4",
42780            ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],
42781          ],
42782          [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["10|7"]],
42783          [, "(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["8"]],
42784          [
42785            ,
42786            "(\\d{3})(\\d{2})(\\d{2})(\\d{2})",
42787            "$1 $2 $3 $4",
42788            [
42789              "[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])",
42790            ],
42791          ],
42792          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["9"]],
42793          [
42794            ,
42795            "(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
42796            "$1 $2 $3 $4 $5",
42797            ["[26]"],
42798          ],
42799        ],
42800        [, , "74[02-9]\\d{6}", , , , "740123456", , , [9]],
42801        ,
42802        ,
42803        [, , , , , , , , , [-1]],
42804        [, , "10[1-8]\\d{6}", , , , "102345678", , , [9]],
42805        ,
42806        ,
42807        [, , "(?:25[245]|67[3-68])\\d{9}", , , , "254123456789", , , [12]],
42808      ],
42809      SG: [
42810        ,
42811        [
42812          ,
42813          ,
42814          "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",
42815          ,
42816          ,
42817          ,
42818          ,
42819          ,
42820          ,
42821          [8, 10, 11],
42822        ],
42823        [
42824          ,
42825          ,
42826          "662[0-24-9]\\d{4}|6(?:[0-578]\\d|6[013-57-9]|9[0-35-9])\\d{5}",
42827          ,
42828          ,
42829          ,
42830          "61234567",
42831          ,
42832          ,
42833          [8],
42834        ],
42835        [
42836          ,
42837          ,
42838          "8(?:06[0-689]|95[0-2])\\d{4}|(?:8(?:0[1-5]|[1-8]\\d|9[0-4])|9[0-8]\\d)\\d{5}",
42839          ,
42840          ,
42841          ,
42842          "81234567",
42843          ,
42844          ,
42845          [8],
42846        ],
42847        [, , "(?:18|8)00\\d{7}", , , , "18001234567", , , [10, 11]],
42848        [, , "1900\\d{7}", , , , "19001234567", , , [11]],
42849        [, , , , , , , , , [-1]],
42850        [, , , , , , , , , [-1]],
42851        [, , "(?:3[12]\\d|666)\\d{5}", , , , "31234567", , , [8]],
42852        "SG",
42853        65,
42854        "0[0-3]\\d",
42855        ,
42856        ,
42857        ,
42858        ,
42859        ,
42860        ,
42861        ,
42862        [
42863          [
42864            ,
42865            "(\\d{4,5})",
42866            "$1",
42867            ["1[013-9]|77", "1(?:[013-8]|9(?:0[1-9]|[1-9]))|77"],
42868          ],
42869          [, "(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-6]|[1-9])"]],
42870          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]],
42871          [, "(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]],
42872          [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]],
42873        ],
42874        [
42875          [, "(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-6]|[1-9])"]],
42876          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]],
42877          [, "(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]],
42878          [, "(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]],
42879        ],
42880        [, , , , , , , , , [-1]],
42881        ,
42882        ,
42883        [, , , , , , , , , [-1]],
42884        [, , "7000\\d{7}", , , , "70001234567", , , [11]],
42885        ,
42886        ,
42887        [, , , , , , , , , [-1]],
42888      ],
42889      SH: [
42890        ,
42891        [, , "(?:[256]\\d|8)\\d{3}", , , , , , , [4, 5]],
42892        [, , "2(?:[0-57-9]\\d|6[4-9])\\d\\d", , , , "22158"],
42893        [, , "[56]\\d{4}", , , , "51234", , , [5]],
42894        [, , , , , , , , , [-1]],
42895        [, , , , , , , , , [-1]],
42896        [, , , , , , , , , [-1]],
42897        [, , , , , , , , , [-1]],
42898        [, , "262\\d\\d", , , , "26212", , , [5]],
42899        "SH",
42900        290,
42901        "00",
42902        ,
42903        ,
42904        ,
42905        ,
42906        ,
42907        ,
42908        ,
42909        ,
42910        ,
42911        [, , , , , , , , , [-1]],
42912        1,
42913        "[256]",
42914        [, , , , , , , , , [-1]],
42915        [, , , , , , , , , [-1]],
42916        ,
42917        ,
42918        [, , , , , , , , , [-1]],
42919      ],
42920      SI: [
42921        ,
42922        [, , "[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}", , , , , , , [5, 6, 7, 8]],
42923        [, , "(?:[1-357][2-8]|4[24-8])\\d{6}", , , , "12345678", , , [8], [7]],
42924        [
42925          ,
42926          ,
42927          "65(?:[178]\\d|5[56]|6[01])\\d{4}|(?:[37][01]|4[0139]|51|6[489])\\d{6}",
42928          ,
42929          ,
42930          ,
42931          "31234567",
42932          ,
42933          ,
42934          [8],
42935        ],
42936        [, , "80\\d{4,6}", , , , "80123456", , , [6, 7, 8]],
42937        [, , "89[1-3]\\d{2,5}|90\\d{4,6}", , , , "90123456"],
42938        [, , , , , , , , , [-1]],
42939        [, , , , , , , , , [-1]],
42940        [
42941          ,
42942          ,
42943          "(?:59\\d\\d|8(?:1(?:[67]\\d|8[0-589])|2(?:0\\d|2[0-37-9]|8[0-2489])|3[389]\\d))\\d{4}",
42944          ,
42945          ,
42946          ,
42947          "59012345",
42948          ,
42949          ,
42950          [8],
42951        ],
42952        "SI",
42953        386,
42954        "00|10(?:22|66|88|99)",
42955        "0",
42956        ,
42957        ,
42958        "0",
42959        ,
42960        "00",
42961        ,
42962        [
42963          [, "(\\d{2})(\\d{3,6})", "$1 $2", ["8[09]|9"], "0$1"],
42964          [, "(\\d{3})(\\d{5})", "$1 $2", ["59|8"], "0$1"],
42965          [
42966            ,
42967            "(\\d{2})(\\d{3})(\\d{3})",
42968            "$1 $2 $3",
42969            ["[37][01]|4[0139]|51|6"],
42970            "0$1",
42971          ],
42972          [
42973            ,
42974            "(\\d)(\\d{3})(\\d{2})(\\d{2})",
42975            "$1 $2 $3 $4",
42976            ["[1-57]"],
42977            "(0$1)",
42978          ],
42979        ],
42980        ,
42981        [, , , , , , , , , [-1]],
42982        ,
42983        ,
42984        [, , , , , , , , , [-1]],
42985        [, , , , , , , , , [-1]],
42986        ,
42987        ,
42988        [, , , , , , , , , [-1]],
42989      ],
42990      SJ: [
42991        ,
42992        [, , "0\\d{4}|(?:[489]\\d|[57]9)\\d{6}", , , , , , , [5, 8]],
42993        [, , "79\\d{6}", , , , "79123456", , , [8]],
42994        [, , "(?:4[015-8]|59|9\\d)\\d{6}", , , , "41234567", , , [8]],
42995        [, , "80[01]\\d{5}", , , , "80012345", , , [8]],
42996        [, , "82[09]\\d{5}", , , , "82012345", , , [8]],
42997        [, , "810(?:0[0-6]|[2-8]\\d)\\d{3}", , , , "81021234", , , [8]],
42998        [, , "880\\d{5}", , , , "88012345", , , [8]],
42999        [, , "85[0-5]\\d{5}", , , , "85012345", , , [8]],
43000        "SJ",
43001        47,
43002        "00",
43003        ,
43004        ,
43005        ,
43006        ,
43007        ,
43008        ,
43009        ,
43010        ,
43011        ,
43012        [, , , , , , , , , [-1]],
43013        ,
43014        "79",
43015        [, , , , , , , , , [-1]],
43016        [, , "(?:0[2-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}", , , , "02000"],
43017        ,
43018        ,
43019        [, , "81[23]\\d{5}", , , , "81212345", , , [8]],
43020      ],
43021      SK: [
43022        ,
43023        [, , "[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}", , , , , , , [6, 7, 9]],
43024        [
43025          ,
43026          ,
43027          "(?:2(?:16|[2-9]\\d{3})|(?:(?:[3-5][1-8]\\d|819)\\d|601[1-5])\\d)\\d{4}|(?:2|[3-5][1-8])1[67]\\d{3}|[3-5][1-8]16\\d\\d",
43028          ,
43029          ,
43030          ,
43031          "221234567",
43032        ],
43033        [
43034          ,
43035          ,
43036          "909[1-9]\\d{5}|9(?:0[1-8]|1[0-24-9]|4[03-57-9]|5\\d)\\d{6}",
43037          ,
43038          ,
43039          ,
43040          "912123456",
43041          ,
43042          ,
43043          [9],
43044        ],
43045        [, , "800\\d{6}", , , , "800123456", , , [9]],
43046        [, , "9(?:00|[78]\\d)\\d{6}", , , , "900123456", , , [9]],
43047        [, , "8[5-9]\\d{7}", , , , "850123456", , , [9]],
43048        [, , , , , , , , , [-1]],
43049        [, , "6(?:02|5[0-4]|9[0-6])\\d{6}", , , , "690123456", , , [9]],
43050        "SK",
43051        421,
43052        "00",
43053        "0",
43054        ,
43055        ,
43056        "0",
43057        ,
43058        ,
43059        ,
43060        [
43061          [, "(\\d)(\\d{2})(\\d{3,4})", "$1 $2 $3", ["21"], "0$1"],
43062          [
43063            ,
43064            "(\\d{2})(\\d{2})(\\d{2,3})",
43065            "$1 $2 $3",
43066            ["[3-5][1-8]1", "[3-5][1-8]1[67]"],
43067            "0$1",
43068          ],
43069          [, "(\\d{4})(\\d{3})", "$1 $2", ["909", "9090"], "0$1"],
43070          [, "(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1/$2 $3 $4", ["2"], "0$1"],
43071          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"],
43072          [
43073            ,
43074            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
43075            "$1/$2 $3 $4",
43076            ["[3-5]"],
43077            "0$1",
43078          ],
43079        ],
43080        [
43081          [, "(\\d)(\\d{2})(\\d{3,4})", "$1 $2 $3", ["21"], "0$1"],
43082          [
43083            ,
43084            "(\\d{2})(\\d{2})(\\d{2,3})",
43085            "$1 $2 $3",
43086            ["[3-5][1-8]1", "[3-5][1-8]1[67]"],
43087            "0$1",
43088          ],
43089          [, "(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1/$2 $3 $4", ["2"], "0$1"],
43090          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"],
43091          [
43092            ,
43093            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
43094            "$1/$2 $3 $4",
43095            ["[3-5]"],
43096            "0$1",
43097          ],
43098        ],
43099        [, , "9090\\d{3}", , , , "9090123", , , [7]],
43100        ,
43101        ,
43102        [
43103          ,
43104          ,
43105          "9090\\d{3}|(?:602|8(?:00|[5-9]\\d)|9(?:00|[78]\\d))\\d{6}",
43106          ,
43107          ,
43108          ,
43109          ,
43110          ,
43111          ,
43112          [7, 9],
43113        ],
43114        [, , "96\\d{7}", , , , "961234567", , , [9]],
43115        ,
43116        ,
43117        [, , , , , , , , , [-1]],
43118      ],
43119      SL: [
43120        ,
43121        [, , "(?:[237-9]\\d|66)\\d{6}", , , , , , , [8], [6]],
43122        [, , "22[2-4][2-9]\\d{4}", , , , "22221234", , , , [6]],
43123        [, , "(?:25|3[0-5]|66|7[2-9]|8[08]|9[09])\\d{6}", , , , "25123456"],
43124        [, , , , , , , , , [-1]],
43125        [, , , , , , , , , [-1]],
43126        [, , , , , , , , , [-1]],
43127        [, , , , , , , , , [-1]],
43128        [, , , , , , , , , [-1]],
43129        "SL",
43130        232,
43131        "00",
43132        "0",
43133        ,
43134        ,
43135        "0",
43136        ,
43137        ,
43138        ,
43139        [[, "(\\d{2})(\\d{6})", "$1 $2", ["[236-9]"], "(0$1)"]],
43140        ,
43141        [, , , , , , , , , [-1]],
43142        ,
43143        ,
43144        [, , , , , , , , , [-1]],
43145        [, , , , , , , , , [-1]],
43146        ,
43147        ,
43148        [, , , , , , , , , [-1]],
43149      ],
43150      SM: [
43151        ,
43152        [, , "(?:0549|[5-7]\\d)\\d{6}", , , , , , , [8, 10], [6]],
43153        [, , "0549(?:8[0157-9]|9\\d)\\d{4}", , , , "0549886377", , , [10], [6]],
43154        [, , "6[16]\\d{6}", , , , "66661212", , , [8]],
43155        [, , , , , , , , , [-1]],
43156        [, , "7[178]\\d{6}", , , , "71123456", , , [8]],
43157        [, , , , , , , , , [-1]],
43158        [, , , , , , , , , [-1]],
43159        [, , "5[158]\\d{6}", , , , "58001110", , , [8]],
43160        "SM",
43161        378,
43162        "00",
43163        ,
43164        ,
43165        ,
43166        "([89]\\d{5})$",
43167        "0549$1",
43168        ,
43169        ,
43170        [
43171          [, "(\\d{6})", "$1", ["[89]"]],
43172          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]],
43173          [, "(\\d{4})(\\d{6})", "$1 $2", ["0"]],
43174        ],
43175        [
43176          [, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]],
43177          [, "(\\d{4})(\\d{6})", "$1 $2", ["0"]],
43178        ],
43179        [, , , , , , , , , [-1]],
43180        ,
43181        ,
43182        [, , , , , , , , , [-1]],
43183        [, , , , , , , , , [-1]],
43184        ,
43185        ,
43186        [, , , , , , , , , [-1]],
43187      ],
43188      SN: [
43189        ,
43190        [, , "(?:[378]\\d|93)\\d{7}", , , , , , , [9]],
43191        [
43192          ,
43193          ,
43194          "3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\d{5}",
43195          ,
43196          ,
43197          ,
43198          "301012345",
43199        ],
43200        [
43201          ,
43202          ,
43203          "7(?:(?:[06-8]\\d|21|90)\\d|5(?:01|[19]0|25|[38]3|[4-7]\\d))\\d{5}",
43204          ,
43205          ,
43206          ,
43207          "701234567",
43208        ],
43209        [, , "800\\d{6}", , , , "800123456"],
43210        [, , "88[4689]\\d{6}", , , , "884123456"],
43211        [, , "81[02468]\\d{6}", , , , "810123456"],
43212        [, , , , , , , , , [-1]],
43213        [
43214          ,
43215          ,
vendor: 16,384 bytes, lines 43216-43899
43216          "(?:3(?:392|9[01]\\d)\\d|93(?:3[13]0|929))\\d{4}",
43217          ,
43218          ,
43219          ,
43220          "933301234",
43221        ],
43222        "SN",
43223        221,
43224        "00",
43225        ,
43226        ,
43227        ,
43228        ,
43229        ,
43230        ,
43231        ,
43232        [
43233          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]],
43234          [, "(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[379]"]],
43235        ],
43236        ,
43237        [, , , , , , , , , [-1]],
43238        ,
43239        ,
43240        [, , , , , , , , , [-1]],
43241        [, , , , , , , , , [-1]],
43242        ,
43243        ,
43244        [, , , , , , , , , [-1]],
43245      ],
43246      SO: [
43247        ,
43248        [
43249          ,
43250          ,
43251          "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}",
43252          ,
43253          ,
43254          ,
43255          ,
43256          ,
43257          ,
43258          [6, 7, 8, 9],
43259        ],
43260        [
43261          ,
43262          ,
43263          "(?:1\\d|2[0-79]|3[0-46-8]|4[0-7]|5[57-9])\\d{5}|(?:[134]\\d|8[125])\\d{4}",
43264          ,
43265          ,
43266          ,
43267          "4012345",
43268          ,
43269          ,
43270          [6, 7],
43271        ],
43272        [
43273          ,
43274          ,
43275          "(?:(?:15|(?:3[59]|4[89]|6\\d|79|8[08])\\d|9(?:0\\d|[2-9]))\\d|2(?:4\\d|8))\\d{5}|(?:[67]\\d\\d|904)\\d{5}",
43276          ,
43277          ,
43278          ,
43279          "71123456",
43280          ,
43281          ,
43282          [7, 8, 9],
43283        ],
43284        [, , , , , , , , , [-1]],
43285        [, , , , , , , , , [-1]],
43286        [, , , , , , , , , [-1]],
43287        [, , , , , , , , , [-1]],
43288        [, , , , , , , , , [-1]],
43289        "SO",
43290        252,
43291        "00",
43292        "0",
43293        ,
43294        ,
43295        "0",
43296        ,
43297        ,
43298        ,
43299        [
43300          [, "(\\d{2})(\\d{4})", "$1 $2", ["8[125]"]],
43301          [, "(\\d{6})", "$1", ["[134]"]],
43302          [, "(\\d)(\\d{6})", "$1 $2", ["[15]|2[0-79]|3[0-46-8]|4[0-7]"]],
43303          [, "(\\d)(\\d{7})", "$1 $2", ["(?:2|90)4|[67]"]],
43304          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[3478]|64|90"]],
43305          [, "(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|6[0-35-9]|9[2-9]"]],
43306        ],
43307        ,
43308        [, , , , , , , , , [-1]],
43309        ,
43310        ,
43311        [, , , , , , , , , [-1]],
43312        [, , , , , , , , , [-1]],
43313        ,
43314        ,
43315        [, , , , , , , , , [-1]],
43316      ],
43317      SR: [
43318        ,
43319        [, , "(?:[2-5]|68|[78]\\d)\\d{5}", , , , , , , [6, 7]],
43320        [, , "(?:2[1-3]|3[0-7]|(?:4|68)\\d|5[2-58])\\d{4}", , , , "211234"],
43321        [, , "(?:7[124-7]|8[124-9])\\d{5}", , , , "7412345", , , [7]],
43322        [, , , , , , , , , [-1]],
43323        [, , , , , , , , , [-1]],
43324        [, , , , , , , , , [-1]],
43325        [, , , , , , , , , [-1]],
43326        [, , "56\\d{4}", , , , "561234", , , [6]],
43327        "SR",
43328        597,
43329        "00",
43330        ,
43331        ,
43332        ,
43333        ,
43334        ,
43335        ,
43336        ,
43337        [
43338          [, "(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]],
43339          [, "(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]],
43340          [, "(\\d{3})(\\d{4})", "$1-$2", ["[6-8]"]],
43341        ],
43342        ,
43343        [, , , , , , , , , [-1]],
43344        ,
43345        ,
43346        [, , , , , , , , , [-1]],
43347        [, , , , , , , , , [-1]],
43348        ,
43349        ,
43350        [, , , , , , , , , [-1]],
43351      ],
43352      SS: [
43353        ,
43354        [, , "[19]\\d{8}", , , , , , , [9]],
43355        [, , "1[89]\\d{7}", , , , "181234567"],
43356        [, , "(?:12|9[1257-9])\\d{7}", , , , "977123456"],
43357        [, , , , , , , , , [-1]],
43358        [, , , , , , , , , [-1]],
43359        [, , , , , , , , , [-1]],
43360        [, , , , , , , , , [-1]],
43361        [, , , , , , , , , [-1]],
43362        "SS",
43363        211,
43364        "00",
43365        "0",
43366        ,
43367        ,
43368        "0",
43369        ,
43370        ,
43371        ,
43372        [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]],
43373        ,
43374        [, , , , , , , , , [-1]],
43375        ,
43376        ,
43377        [, , , , , , , , , [-1]],
43378        [, , , , , , , , , [-1]],
43379        ,
43380        ,
43381        [, , , , , , , , , [-1]],
43382      ],
43383      ST: [
43384        ,
43385        [, , "(?:22|9\\d)\\d{5}", , , , , , , [7]],
43386        [, , "22\\d{5}", , , , "2221234"],
43387        [, , "900[5-9]\\d{3}|9(?:0[1-9]|[89]\\d)\\d{4}", , , , "9812345"],
43388        [, , , , , , , , , [-1]],
43389        [, , , , , , , , , [-1]],
43390        [, , , , , , , , , [-1]],
43391        [, , , , , , , , , [-1]],
43392        [, , , , , , , , , [-1]],
43393        "ST",
43394        239,
43395        "00",
43396        ,
43397        ,
43398        ,
43399        ,
43400        ,
43401        ,
43402        ,
43403        [[, "(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]],
43404        ,
43405        [, , , , , , , , , [-1]],
43406        ,
43407        ,
43408        [, , , , , , , , , [-1]],
43409        [, , , , , , , , , [-1]],
43410        ,
43411        ,
43412        [, , , , , , , , , [-1]],
43413      ],
43414      SV: [
43415        ,
43416        [, , "[267]\\d{7}|[89]00\\d{4}(?:\\d{4})?", , , , , , , [7, 8, 11]],
43417        [
43418          ,
43419          ,
43420          "2(?:(?:[1-6]\\d\\d|990)\\d|790[034]|890[0245])\\d{3}",
43421          ,
43422          ,
43423          ,
43424          "21234567",
43425          ,
43426          ,
43427          [8],
43428        ],
43429        [
43430          ,
43431          ,
43432          "66(?:[02-9]\\d\\d|1(?:[02-9]\\d|16))\\d{3}|(?:6[0-57-9]|7\\d)\\d{6}",
43433          ,
43434          ,
43435          ,
43436          "70123456",
43437          ,
43438          ,
43439          [8],
43440        ],
43441        [, , "800\\d{4}(?:\\d{4})?", , , , "8001234", , , [7, 11]],
43442        [, , "900\\d{4}(?:\\d{4})?", , , , "9001234", , , [7, 11]],
43443        [, , , , , , , , , [-1]],
43444        [, , , , , , , , , [-1]],
43445        [, , , , , , , , , [-1]],
43446        "SV",
43447        503,
43448        "00",
43449        ,
43450        ,
43451        ,
43452        ,
43453        ,
43454        ,
43455        ,
43456        [
43457          [, "(\\d{3})(\\d{4})", "$1 $2", ["[89]"]],
43458          [, "(\\d{4})(\\d{4})", "$1 $2", ["[267]"]],
43459          [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[89]"]],
43460        ],
43461        ,
43462        [, , , , , , , , , [-1]],
43463        ,
43464        ,
43465        [, , , , , , , , , [-1]],
43466        [, , , , , , , , , [-1]],
43467        ,
43468        ,
43469        [, , , , , , , , , [-1]],
43470      ],
43471      SX: [
43472        ,
43473        [, , "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
43474        [
43475          ,
43476          ,
43477          "7215(?:4[2-8]|8[239]|9[056])\\d{4}",
43478          ,
43479          ,
43480          ,
43481          "7215425678",
43482          ,
43483          ,
43484          ,
43485          [7],
43486        ],
43487        [
43488          ,
43489          ,
43490          "7215(?:1[02]|2\\d|5[034679]|8[014-8])\\d{4}",
43491          ,
43492          ,
43493          ,
43494          "7215205678",
43495          ,
43496          ,
43497          ,
43498          [7],
43499        ],
43500        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002123456"],
43501        [, , "900[2-9]\\d{6}", , , , "9002123456"],
43502        [, , , , , , , , , [-1]],
43503        [
43504          ,
43505          ,
43506          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
43507          ,
43508          ,
43509          ,
43510          "5002345678",
43511        ],
43512        [, , , , , , , , , [-1]],
43513        "SX",
43514        1,
43515        "011",
43516        "1",
43517        ,
43518        ,
43519        "(5\\d{6})$|1",
43520        "721$1",
43521        ,
43522        ,
43523        ,
43524        ,
43525        [, , , , , , , , , [-1]],
43526        ,
43527        "721",
43528        [, , , , , , , , , [-1]],
43529        [, , , , , , , , , [-1]],
43530        ,
43531        ,
43532        [, , , , , , , , , [-1]],
43533      ],
43534      SY: [
43535        ,
43536        [, , "[1-39]\\d{8}|[1-5]\\d{7}", , , , , , , [8, 9], [6, 7]],
43537        [
43538          ,
43539          ,
43540          "21\\d{6,7}|(?:1(?:[14]\\d|[2356])|2[235]|3(?:[13]\\d|4)|4[134]|5[1-3])\\d{6}",
43541          ,
43542          ,
43543          ,
43544          "112345678",
43545          ,
43546          ,
43547          ,
43548          [6, 7],
43549        ],
43550        [, , "9[1-689]\\d{7}", , , , "944567890", , , [9]],
43551        [, , , , , , , , , [-1]],
43552        [, , , , , , , , , [-1]],
43553        [, , , , , , , , , [-1]],
43554        [, , , , , , , , , [-1]],
43555        [, , , , , , , , , [-1]],
43556        "SY",
43557        963,
43558        "00",
43559        "0",
43560        ,
43561        ,
43562        "0",
43563        ,
43564        ,
43565        ,
43566        [
43567          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-5]"], "0$1", , 1],
43568          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1", , 1],
43569        ],
43570        ,
43571        [, , , , , , , , , [-1]],
43572        ,
43573        ,
43574        [, , , , , , , , , [-1]],
43575        [, , , , , , , , , [-1]],
43576        ,
43577        ,
43578        [, , , , , , , , , [-1]],
43579      ],
43580      SZ: [
43581        ,
43582        [, , "0800\\d{4}|(?:[237]\\d|900)\\d{6}", , , , , , , [8, 9]],
43583        [, , "[23][2-5]\\d{6}", , , , "22171234", , , [8]],
43584        [, , "7[6-9]\\d{6}", , , , "76123456", , , [8]],
43585        [, , "0800\\d{4}", , , , "08001234", , , [8]],
43586        [, , "900\\d{6}", , , , "900012345", , , [9]],
43587        [, , , , , , , , , [-1]],
43588        [, , , , , , , , , [-1]],
43589        [, , "70\\d{6}", , , , "70012345", , , [8]],
43590        "SZ",
43591        268,
43592        "00",
43593        ,
43594        ,
43595        ,
43596        ,
43597        ,
43598        ,
43599        ,
43600        [
43601          [, "(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]],
43602          [, "(\\d{5})(\\d{4})", "$1 $2", ["9"]],
43603        ],
43604        ,
43605        [, , , , , , , , , [-1]],
43606        ,
43607        ,
43608        [, , "0800\\d{4}", , , , , , , [8]],
43609        [, , , , , , , , , [-1]],
43610        ,
43611        ,
43612        [, , , , , , , , , [-1]],
43613      ],
43614      TA: [
43615        ,
43616        [, , "8\\d{3}", , , , , , , [4]],
43617        [, , "8\\d{3}", , , , "8999"],
43618        [, , , , , , , , , [-1]],
43619        [, , , , , , , , , [-1]],
43620        [, , , , , , , , , [-1]],
43621        [, , , , , , , , , [-1]],
43622        [, , , , , , , , , [-1]],
43623        [, , , , , , , , , [-1]],
43624        "TA",
43625        290,
43626        "00",
43627        ,
43628        ,
43629        ,
43630        ,
43631        ,
43632        ,
43633        ,
43634        ,
43635        ,
43636        [, , , , , , , , , [-1]],
43637        ,
43638        "8",
43639        [, , , , , , , , , [-1]],
43640        [, , , , , , , , , [-1]],
43641        ,
43642        ,
43643        [, , , , , , , , , [-1]],
43644      ],
43645      TC: [
43646        ,
43647        [, , "(?:[58]\\d\\d|649|900)\\d{7}", , , , , , , [10], [7]],
43648        [
43649          ,
43650          ,
43651          "649(?:266|712|9(?:4\\d|50))\\d{4}",
43652          ,
43653          ,
43654          ,
43655          "6497121234",
43656          ,
43657          ,
43658          ,
43659          [7],
43660        ],
43661        [
43662          ,
43663          ,
43664          "649(?:2(?:3[129]|4[1-79])|3\\d\\d|4[34][1-3])\\d{4}",
43665          ,
43666          ,
43667          ,
43668          "6492311234",
43669          ,
43670          ,
43671          ,
43672          [7],
43673        ],
43674        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"],
43675        [, , "900[2-9]\\d{6}", , , , "9002345678"],
43676        [, , , , , , , , , [-1]],
43677        [
43678          ,
43679          ,
43680          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
43681          ,
43682          ,
43683          ,
43684          "5002345678",
43685        ],
43686        [, , "649(?:71[01]|966)\\d{4}", , , , "6497101234", , , , [7]],
43687        "TC",
43688        1,
43689        "011",
43690        "1",
43691        ,
43692        ,
43693        "([2-479]\\d{6})$|1",
43694        "649$1",
43695        ,
43696        ,
43697        ,
43698        ,
43699        [, , , , , , , , , [-1]],
43700        ,
43701        "649",
43702        [, , , , , , , , , [-1]],
43703        [, , , , , , , , , [-1]],
43704        ,
43705        ,
43706        [, , , , , , , , , [-1]],
43707      ],
43708      TD: [
43709        ,
43710        [, , "(?:22|[69]\\d|77)\\d{6}", , , , , , , [8]],
43711        [, , "22(?:[37-9]0|5[0-5]|6[89])\\d{4}", , , , "22501234"],
43712        [, , "(?:6[0235689]|77|9\\d)\\d{6}", , , , "63012345"],
43713        [, , , , , , , , , [-1]],
43714        [, , , , , , , , , [-1]],
43715        [, , , , , , , , , [-1]],
43716        [, , , , , , , , , [-1]],
43717        [, , , , , , , , , [-1]],
43718        "TD",
43719        235,
43720        "00|16",
43721        ,
43722        ,
43723        ,
43724        ,
43725        ,
43726        "00",
43727        ,
43728        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2679]"]]],
43729        ,
43730        [, , , , , , , , , [-1]],
43731        ,
43732        ,
43733        [, , , , , , , , , [-1]],
43734        [, , , , , , , , , [-1]],
43735        ,
43736        ,
43737        [, , , , , , , , , [-1]],
43738      ],
43739      TG: [
43740        ,
43741        [, , "[279]\\d{7}", , , , , , , [8]],
43742        [, , "2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\d{5}", , , , "22212345"],
43743        [, , "(?:7[019]|9[0-36-9])\\d{6}", , , , "90112345"],
43744        [, , , , , , , , , [-1]],
43745        [, , , , , , , , , [-1]],
43746        [, , , , , , , , , [-1]],
43747        [, , , , , , , , , [-1]],
43748        [, , , , , , , , , [-1]],
43749        "TG",
43750        228,
43751        "00",
43752        ,
43753        ,
43754        ,
43755        ,
43756        ,
43757        ,
43758        ,
43759        [[, "(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[279]"]]],
43760        ,
43761        [, , , , , , , , , [-1]],
43762        ,
43763        ,
43764        [, , , , , , , , , [-1]],
43765        [, , , , , , , , , [-1]],
43766        ,
43767        ,
43768        [, , , , , , , , , [-1]],
43769      ],
43770      TH: [
43771        ,
43772        [
43773          ,
43774          ,
43775          "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}",
43776          ,
43777          ,
43778          ,
43779          ,
43780          ,
43781          ,
43782          [8, 9, 10, 13],
43783        ],
43784        [
43785          ,
43786          ,
43787          "(?:1[0689]|2\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\d{6}",
43788          ,
43789          ,
43790          ,
43791          "21234567",
43792          ,
43793          ,
43794          [8],
43795        ],
43796        [
43797          ,
43798          ,
43799          "671[0-8]\\d{5}|(?:14|6[1-6]|[89]\\d)\\d{7}",
43800          ,
43801          ,
43802          ,
43803          "812345678",
43804          ,
43805          ,
43806          [9],
43807        ],
43808        [, , "(?:001800\\d|1800)\\d{6}", , , , "1800123456", , , [10, 13]],
43809        [, , "1900\\d{6}", , , , "1900123456", , , [10]],
43810        [, , , , , , , , , [-1]],
43811        [, , , , , , , , , [-1]],
43812        [, , "6[08]\\d{7}", , , , "601234567", , , [9]],
43813        "TH",
43814        66,
43815        "00[1-9]",
43816        "0",
43817        ,
43818        ,
43819        "0",
43820        ,
43821        ,
43822        ,
43823        [
43824          [, "(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2"], "0$1"],
43825          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[13-9]"], "0$1"],
43826          [, "(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]],
43827        ],
43828        ,
43829        [, , , , , , , , , [-1]],
43830        ,
43831        ,
43832        [, , , , , , , , , [-1]],
43833        [, , , , , , , , , [-1]],
43834        ,
43835        ,
43836        [, , , , , , , , , [-1]],
43837      ],
43838      TJ: [
43839        ,
43840        [, , "[0-57-9]\\d{8}", , , , , , , [9], [3, 5, 6, 7]],
43841        [
43842          ,
43843          ,
43844          "(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}",
43845          ,
43846          ,
43847          ,
43848          "372123456",
43849          ,
43850          ,
43851          ,
43852          [3, 5, 6, 7],
43853        ],
43854        [
43855          ,
43856          ,
43857          "41[18]\\d{6}|(?:0[0-27]|1[017]|2[02]|[34]0|5[05]|7[0178]|8[078]|9\\d)\\d{7}",
43858          ,
43859          ,
43860          ,
43861          "917123456",
43862        ],
43863        [, , , , , , , , , [-1]],
43864        [, , , , , , , , , [-1]],
43865        [, , , , , , , , , [-1]],
43866        [, , , , , , , , , [-1]],
43867        [, , , , , , , , , [-1]],
43868        "TJ",
43869        992,
43870        "810",
43871        ,
43872        ,
43873        ,
43874        ,
43875        ,
43876        "8~10",
43877        ,
43878        [
43879          [, "(\\d{6})(\\d)(\\d{2})", "$1 $2 $3", ["331", "3317"]],
43880          [, "(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["[34]7|91[78]"]],
43881          [, "(\\d{4})(\\d)(\\d{4})", "$1 $2 $3", ["3[1-5]"]],
43882          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[0-57-9]"]],
43883        ],
43884        ,
43885        [, , , , , , , , , [-1]],
43886        ,
43887        ,
43888        [, , , , , , , , , [-1]],
43889        [, , , , , , , , , [-1]],
43890        ,
43891        ,
43892        [, , , , , , , , , [-1]],
43893      ],
43894      TK: [
43895        ,
43896        [, , "[2-47]\\d{3,6}", , , , , , , [4, 5, 6, 7]],
43897        [, , "(?:2[2-4]|[34]\\d)\\d{2,5}", , , , "3101"],
43898        [, , "7[2-4]\\d{2,5}", , , , "7290"],
43899       
43899 [, , , , , , , , , [-1]],
43900        [, , , , , , , , , [-1]],
43901        [, , , , , , , , , [-1]],
43902        [, , , , , , , , , [-1]],
43903        [, , , , , , , , , [-1]],
43904        "TK",
43905        690,
43906        "00",
43907        ,
43908        ,
43909        ,
43910        ,
43911        ,
43912        ,
43913        ,
43914        ,
43915        ,
43916        [, , , , , , , , , [-1]],
43917        ,
43918        ,
43919        [, , , , , , , , , [-1]],
43920        [, , , , , , , , , [-1]],
43921        ,
43922        ,
43923        [, , , , , , , , , [-1]],
43924      ],
43925      TL: [
43926        ,
43927        [, , "7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}", , , , , , , [7, 8]],
43928        [, , "(?:2[1-5]|3[1-9]|4[1-4])\\d{5}", , , , "2112345", , , [7]],
43929        [, , "7[2-8]\\d{6}", , , , "77212345", , , [8]],
43930        [, , "80\\d{5}", , , , "8012345", , , [7]],
43931        [, , "90\\d{5}", , , , "9012345", , , [7]],
43932        [, , , , , , , , , [-1]],
43933        [, , "70\\d{5}", , , , "7012345", , , [7]],
43934        [, , , , , , , , , [-1]],
43935        "TL",
43936        670,
43937        "00",
43938        ,
43939        ,
43940        ,
43941        ,
43942        ,
43943        ,
43944        ,
43945        [
43946          [, "(\\d{3})(\\d{4})", "$1 $2", ["[2-489]|70"]],
43947          [, "(\\d{4})(\\d{4})", "$1 $2", ["7"]],
43948        ],
43949        ,
43950        [, , , , , , , , , [-1]],
43951        ,
43952        ,
43953        [, , , , , , , , , [-1]],
43954        [, , , , , , , , , [-1]],
43955        ,
43956        ,
43957        [, , , , , , , , , [-1]],
43958      ],
43959      TM: [
43960        ,
43961        [, , "[1-6]\\d{7}", , , , , , , [8]],
43962        [
43963          ,
43964          ,
43965          "(?:1(?:2\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\d{5}",
43966          ,
43967          ,
43968          ,
43969          "12345678",
43970        ],
43971        [, , "6\\d{7}", , , , "66123456"],
43972        [, , , , , , , , , [-1]],
43973        [, , , , , , , , , [-1]],
43974        [, , , , , , , , , [-1]],
43975        [, , , , , , , , , [-1]],
43976        [, , , , , , , , , [-1]],
43977        "TM",
43978        993,
43979        "810",
43980        "8",
43981        ,
43982        ,
43983        "8",
43984        ,
43985        "8~10",
43986        ,
43987        [
43988          [
43989            ,
43990            "(\\d{2})(\\d{2})(\\d{2})(\\d{2})",
43991            "$1 $2-$3-$4",
43992            ["12"],
43993            "(8 $1)",
43994          ],
43995          [
43996            ,
43997            "(\\d{3})(\\d)(\\d{2})(\\d{2})",
43998            "$1 $2-$3-$4",
43999            ["[1-5]"],
44000            "(8 $1)",
44001          ],
44002          [, "(\\d{2})(\\d{6})", "$1 $2", ["6"], "8 $1"],
44003        ],
44004        ,
44005        [, , , , , , , , , [-1]],
44006        ,
44007        ,
44008        [, , , , , , , , , [-1]],
44009        [, , , , , , , , , [-1]],
44010        ,
44011        ,
44012        [, , , , , , , , , [-1]],
44013      ],
44014      TN: [
44015        ,
44016        [, , "[2-57-9]\\d{7}", , , , , , , [8]],
44017        [, , "81200\\d{3}|(?:3[0-2]|7\\d)\\d{6}", , , , "30010123"],
44018        [
44019          ,
44020          ,
44021          "3(?:001|[12]40)\\d{4}|(?:(?:[259]\\d|4[0-7])\\d|3(?:1[1-35]|6[0-4]|91))\\d{5}",
44022          ,
44023          ,
44024          ,
44025          "20123456",
44026        ],
44027        [, , "8010\\d{4}", , , , "80101234"],
44028        [, , "88\\d{6}", , , , "88123456"],
44029        [, , "8[12]10\\d{4}", , , , "81101234"],
44030        [, , , , , , , , , [-1]],
44031        [, , , , , , , , , [-1]],
44032        "TN",
44033        216,
44034        "00",
44035        ,
44036        ,
44037        ,
44038        ,
44039        ,
44040        ,
44041        ,
44042        [[, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-57-9]"]]],
44043        ,
44044        [, , , , , , , , , [-1]],
44045        ,
44046        ,
44047        [, , , , , , , , , [-1]],
44048        [, , , , , , , , , [-1]],
44049        ,
44050        ,
44051        [, , , , , , , , , [-1]],
44052      ],
44053      TO: [
44054        ,
44055        [
44056          ,
44057          ,
44058          "(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}",
44059          ,
44060          ,
44061          ,
44062          ,
44063          ,
44064          ,
44065          [5, 7],
44066        ],
44067        [
44068          ,
44069          ,
44070          "(?:2\\d|3[0-8]|4[0-4]|50|6[09]|7[0-24-69]|8[05])\\d{3}",
44071          ,
44072          ,
44073          ,
44074          "20123",
44075          ,
44076          ,
44077          [5],
44078        ],
44079        [
44080          ,
44081          ,
44082          "(?:55[4-6]|6(?:[09]\\d|3[02]|8[15-9])|(?:7\\d|8[46-9])\\d|999)\\d{4}",
44083          ,
44084          ,
44085          ,
44086          "7715123",
44087          ,
44088          ,
44089          [7],
44090        ],
44091        [, , "0800\\d{3}", , , , "0800222", , , [7]],
44092        [, , , , , , , , , [-1]],
44093        [, , , , , , , , , [-1]],
44094        [, , , , , , , , , [-1]],
44095        [, , "55[0-37-9]\\d{4}", , , , "5510123", , , [7]],
44096        "TO",
44097        676,
44098        "00",
44099        ,
44100        ,
44101        ,
44102        ,
44103        ,
44104        ,
44105        ,
44106        [
44107          [, "(\\d{2})(\\d{3})", "$1-$2", ["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],
44108          [, "(\\d{4})(\\d{3})", "$1 $2", ["0"]],
44109          [, "(\\d{3})(\\d{4})", "$1 $2", ["[5-9]"]],
44110        ],
44111        ,
44112        [, , , , , , , , , [-1]],
44113        ,
44114        ,
44115        [, , , , , , , , , [-1]],
44116        [, , , , , , , , , [-1]],
44117        ,
44118        ,
44119        [, , , , , , , , , [-1]],
44120      ],
44121      TR: [
44122        ,
44123        [
44124          ,
44125          ,
44126          "4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}",
44127          ,
44128          ,
44129          ,
44130          ,
44131          ,
44132          ,
44133          [7, 10, 12, 13],
44134        ],
44135        [
44136          ,
44137          ,
44138          "(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\d{7}",
44139          ,
44140          ,
44141          ,
44142          "2123456789",
44143          ,
44144          ,
44145          [10],
44146        ],
44147        [
44148          ,
44149          ,
44150          "56161\\d{5}|5(?:0[15-7]|1[06]|24|[34]\\d|5[1-59]|9[46])\\d{7}",
44151          ,
44152          ,
44153          ,
44154          "5012345678",
44155          ,
44156          ,
44157          [10],
44158        ],
44159        [
44160          ,
44161          ,
44162          "8(?:00\\d{7}(?:\\d{2,3})?|11\\d{7})",
44163          ,
44164          ,
44165          ,
44166          "8001234567",
44167          ,
44168          ,
44169          [10, 12, 13],
44170        ],
44171        [, , "(?:8[89]8|900)\\d{7}", , , , "9001234567", , , [10]],
44172        [, , , , , , , , , [-1]],
44173        [, , "592(?:21[12]|461)\\d{4}", , , , "5922121234", , , [10]],
44174        [, , "850\\d{7}", , , , "8500123456", , , [10]],
44175        "TR",
44176        90,
44177        "00",
44178        "0",
44179        ,
44180        ,
44181        "0",
44182        ,
44183        ,
44184        ,
44185        [
44186          [, "(\\d{3})(\\d)(\\d{3})", "$1 $2 $3", ["444"], , , 1],
44187          [
44188            ,
44189            "(\\d{3})(\\d{3})(\\d{4})",
44190            "$1 $2 $3",
44191            ["512|8[01589]|90"],
44192            "0$1",
44193            ,
44194            1,
44195          ],
44196          [
44197            ,
44198            "(\\d{3})(\\d{3})(\\d{2})(\\d{2})",
44199            "$1 $2 $3 $4",
44200            ["5(?:[0-59]|61)", "5(?:[0-59]|616)", "5(?:[0-59]|6161)"],
44201            "0$1",
44202            ,
44203            1,
44204          ],
44205          [
44206            ,
44207            "(\\d{3})(\\d{3})(\\d{2})(\\d{2})",
44208            "$1 $2 $3 $4",
44209            ["[24][1-8]|3[1-9]"],
44210            "(0$1)",
44211            ,
44212            1,
44213          ],
44214          [, "(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", , 1],
44215        ],
44216        [
44217          [
44218            ,
44219            "(\\d{3})(\\d{3})(\\d{4})",
44220            "$1 $2 $3",
44221            ["512|8[01589]|90"],
44222            "0$1",
44223            ,
44224            1,
44225          ],
44226          [
44227            ,
44228            "(\\d{3})(\\d{3})(\\d{2})(\\d{2})",
44229            "$1 $2 $3 $4",
44230            ["5(?:[0-59]|61)", "5(?:[0-59]|616)", "5(?:[0-59]|6161)"],
44231            "0$1",
44232            ,
44233            1,
44234          ],
44235          [
44236            ,
44237            "(\\d{3})(\\d{3})(\\d{2})(\\d{2})",
44238            "$1 $2 $3 $4",
44239            ["[24][1-8]|3[1-9]"],
44240            "(0$1)",
44241            ,
44242            1,
44243          ],
44244          [, "(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", , 1],
44245        ],
44246        [, , "512\\d{7}", , , , "5123456789", , , [10]],
44247        ,
44248        ,
44249        [, , "(?:444|811\\d{3})\\d{4}", , , , , , , [7, 10]],
44250        [, , "444\\d{4}", , , , "4441444", , , [7]],
44251        ,
44252        ,
44253        [, , , , , , , , , [-1]],
44254      ],
44255      TT: [
44256        ,
44257        [, , "(?:[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
44258        [
44259          ,
44260          ,
44261          "868(?:2(?:01|1[5-9]|[23]\\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}",
44262          ,
44263          ,
44264          ,
44265          "8682211234",
44266          ,
44267          ,
44268          ,
44269          [7],
44270        ],
44271        [
44272          ,
44273          ,
44274          "868(?:(?:2[5-9]|3\\d)\\d|4(?:3[0-6]|[6-9]\\d)|6(?:20|78|8\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\d))\\d{4}",
44275          ,
44276          ,
44277          ,
44278          "8682911234",
44279          ,
44280          ,
44281          ,
44282          [7],
44283        ],
44284        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"],
44285        [, , "900[2-9]\\d{6}", , , , "9002345678"],
44286        [, , , , , , , , , [-1]],
44287        [
44288          ,
44289          ,
44290          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
44291          ,
44292          ,
44293          ,
44294          "5002345678",
44295        ],
44296        [, , , , , , , , , [-1]],
44297        "TT",
44298        1,
44299        "011",
44300        "1",
44301        ,
44302        ,
44303        "([2-46-8]\\d{6})$|1",
44304        "868$1",
44305        ,
44306        ,
44307        ,
44308        ,
44309        [, , , , , , , , , [-1]],
44310        ,
44311        "868",
44312        [, , , , , , , , , [-1]],
44313        [, , , , , , , , , [-1]],
44314        ,
44315        ,
44316        [, , "868619\\d{4}", , , , "8686191234", , , , [7]],
44317      ],
44318      TV: [
44319        ,
44320        [, , "(?:2|7\\d\\d|90)\\d{4}", , , , , , , [5, 6, 7]],
44321        [, , "2[02-9]\\d{3}", , , , "20123", , , [5]],
44322        [, , "(?:7[01]\\d|90)\\d{4}", , , , "901234", , , [6, 7]],
44323        [, , , , , , , , , [-1]],
44324        [, , , , , , , , , [-1]],
44325        [, , , , , , , , , [-1]],
44326        [, , , , , , , , , [-1]],
44327        [, , , , , , , , , [-1]],
44328        "TV",
44329        688,
44330        "00",
44331        ,
44332        ,
44333        ,
44334        ,
44335        ,
44336        ,
44337        ,
44338        [
44339          [, "(\\d{2})(\\d{3})", "$1 $2", ["2"]],
44340          [, "(\\d{2})(\\d{4})", "$1 $2", ["90"]],
44341          [, "(\\d{2})(\\d{5})", "$1 $2", ["7"]],
44342        ],
44343        ,
44344        [, , , , , , , , , [-1]],
44345        ,
44346        ,
44347        [, , , , , , , , , [-1]],
44348        [, , , , , , , , , [-1]],
44349        ,
44350        ,
44351        [, , , , , , , , , [-1]],
44352      ],
44353      TW: [
44354        ,
44355        [
44356          ,
44357          ,
44358          "[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}",
44359          ,
44360          ,
44361          ,
44362          ,
44363          ,
44364          ,
44365          [7, 8, 9, 10, 11],
44366        ],
44367        [
44368          ,
44369          ,
44370          "(?:2[2-8]\\d|370|55[01]|7[1-9])\\d{6}|4(?:(?:0(?:0[1-9]|[2-48]\\d)|1[023]\\d)\\d{4,5}|(?:[239]\\d\\d|4(?:0[56]|12|49))\\d{5})|6(?:[01]\\d{7}|4(?:0[56]|12|24|4[09])\\d{4,5})|8(?:(?:2(?:3\\d|4[0-269]|[578]0|66)|36[24-9]|90\\d\\d)\\d{4}|4(?:0[56]|12|24|4[09])\\d{4,5})|(?:2(?:2(?:0\\d\\d|4(?:0[68]|[249]0|3[0-467]|5[0-25-9]|6[0235689]))|(?:3(?:[09]\\d|1[0-4])|(?:4\\d|5[0-49]|6[0-29]|7[0-5])\\d)\\d)|(?:(?:3[2-9]|5[2-8]|6[0-35-79]|8[7-9])\\d\\d|4(?:2(?:[089]\\d|7[1-9])|(?:3[0-4]|[78]\\d|9[01])\\d))\\d)\\d{3}",
44371          ,
44372          ,
44373          ,
44374          "221234567",
44375          ,
44376          ,
44377          [8, 9],
44378        ],
44379        [, , "(?:40001[0-2]|9[0-8]\\d{4})\\d{3}", , , , "912345678", , , [9]],
44380        [, , "80[0-79]\\d{6}|800\\d{5}", , , , "800123456", , , [8, 9]],
44381        [, , "20(?:[013-9]\\d\\d|2)\\d{4}", , , , "203123456", , , [7, 9]],
44382        [, , , , , , , , , [-1]],
44383        [, , "99\\d{7}", , , , "990123456", , , [9]],
44384        [
44385          ,
44386          ,
44387          "7010(?:[0-2679]\\d|3[0-7]|8[0-5])\\d{5}|70\\d{8}",
44388          ,
44389          ,
44390          ,
44391          "7012345678",
44392          ,
44393          ,
44394          [10, 11],
44395        ],
44396        "TW",
44397        886,
44398        "0(?:0[25-79]|19)",
44399        "0",
44400        "#",
44401        ,
44402        "0",
44403        ,
44404        ,
44405        ,
44406        [
44407          [, "(\\d{2})(\\d)(\\d{4})", "$1 $2 $3", ["202"], "0$1"],
44408          [, "(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[258]0"], "0$1"],
44409          [
44410            ,
44411            "(\\d)(\\d{3,4})(\\d{4})",
44412            "$1 $2 $3",
44413            [
44414              "[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]",
44415              "[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]",
44416            ],
44417            "0$1",
44418          ],
44419          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"], "0$1"],
44420          [, "(\\d{2})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["7"], "0$1"],
44421        ],
44422        ,
44423        [, , , , , , , , , [-1]],
44424        ,
44425        ,
44426        [, , , , , , , , , [-1]],
44427        [, , "50[0-46-9]\\d{6}", , , , "500123456", , , [9]],
44428        ,
44429        ,
44430        [, , , , , , , , , [-1]],
44431      ],
44432      TZ: [
44433        ,
44434        [, , "(?:[25-8]\\d|41|90)\\d{7}", , , , , , , [9]],
44435        [, , "2[2-8]\\d{7}", , , , "222345678"],
44436        [, , "77[2-9]\\d{6}|(?:6[125-9]|7[13-689])\\d{7}", , , , "621234567"],
44437        [, , "80[08]\\d{6}", , , , "800123456"],
44438        [, , "90\\d{7}", , , , "900123456"],
44439        [, , "8(?:40|6[01])\\d{6}", , , , "840123456"],
44440        [, , , , , , , , , [-1]],
44441        [, , "41\\d{7}", , , , "412345678"],
44442        "TZ",
44443        255,
44444        "00[056]",
44445        "0",
44446        ,
44447        ,
44448        "0",
44449        ,
44450        ,
44451        ,
44452        [
44453          [, "(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"],
44454          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[24]"], "0$1"],
44455          [, "(\\d{2})(\\d{7})", "$1 $2", ["5"]],
44456          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[67]"], "0$1"],
44457        ],
44458        ,
44459        [, , , , , , , , , [-1]],
44460        ,
44461        ,
44462        [, , "(?:8(?:[04]0|6[01])|90\\d)\\d{6}"],
44463        [, , , , , , , , , [-1]],
44464        ,
44465        ,
44466        [, , , , , , , , , [-1]],
44467      ],
44468      UA: [
44469        ,
44470        [, , "[89]\\d{9}|[3-9]\\d{8}", , , , , , , [9, 10], [5, 6, 7]],
44471        [
44472          ,
44473          ,
44474          "(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}",
44475          ,
44476          ,
44477          ,
44478          "311234567",
44479          ,
44480          ,
44481          [9],
44482          [5, 6, 7],
44483        ],
44484        [
44485          ,
44486          ,
44487          "(?:39|50|6[36-8]|7[1-3]|9[1-9])\\d{7}",
44488          ,
44489          ,
44490          ,
44491          "501234567",
44492          ,
44493          ,
44494          [9],
44495        ],
44496        [, , "800[1-8]\\d{5,6}", , , , "800123456"],
44497        [, , "900[239]\\d{5,6}", , , , "900212345"],
44498        [, , , , , , , , , [-1]],
44499        [, , , , , , , , , [-1]],
44500        [, , "89[1-579]\\d{6}", , , , "891234567", , , [9]],
44501        "UA",
44502        380,
44503        "00",
44504        "0",
44505        ,
44506        ,
44507        "0",
44508        ,
44509        "0~0",
44510        ,
44511        [
44512          [
44513            ,
44514            "(\\d{3})(\\d{3})(\\d{3})",
44515            "$1 $2 $3",
44516            [
44517              "6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]",
44518              "6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]",
44519            ],
44520            "0$1",
44521          ],
44522          [
44523            ,
44524            "(\\d{4})(\\d{5})",
44525            "$1 $2",
44526            [
44527              "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])",
44528              "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])",
44529            ],
44530            "0$1",
44531          ],
44532          [
44533            ,
44534            "(\\d{2})(\\d{3})(\\d{4})",
44535            "$1 $2 $3",
44536            ["[3-7]|89|9[1-9]"],
44537            "0$1",
44538          ],
44539          [, "(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"],
44540        ],
44541        ,
44542        [, , , , , , , , , [-1]],
44543        ,
44544        ,
44545        [, , , , , , , , , [-1]],
44546        [, , , , , , , , , [-1]],
44547        ,
44548        ,
44549        [, , , , , , , , , [-1]],
44550      ],
44551      UG: [
44552        ,
44553        [, , "800\\d{6}|(?:[29]0|[347]\\d)\\d{7}", , , , , , , [9], [5, 6, 7]],
44554        [
44555          ,
44556          ,
44557          "20(?:(?:240|30[67])\\d|6(?:00[0-2]|30[0-4]))\\d{3}|(?:20(?:[017]\\d|2[5-9]|32|5[0-4]|6[15-9])|[34]\\d{3})\\d{5}",
44558          ,
44559          ,
44560          ,
44561          "312345678",
44562          ,
44563          ,
44564          ,
44565          [5, 6, 7],
44566        ],
44567        [
44568          ,
44569          ,
44570          "726[01]\\d{5}|7(?:[01578]\\d|20|36|[46][0-4]|9[89])\\d{6}",
44571          ,
44572          ,
44573          ,
44574          "712345678",
44575        ],
44576        [, , "800[1-3]\\d{5}", , , , "800123456"],
44577        [, , "90[1-3]\\d{6}", , , , "901123456"],
44578        [, , , , , , , , , [-1]],
44579        [, , , , , , , , , [-1]],
44580        [, , , , , , , , , [-1]],
44581        "UG",
44582        256,
44583        "00[057]",
44584        "0",
44585        ,
44586        ,
44587        "0",
44588        ,
44589        ,
44590        ,
44591        [
44592          [, "(\\d{4})(\\d{5})", "$1 $2", ["202", "2024"], "0$1"],
44593          [, "(\\d{3})(\\d{6})", "$1 $2", ["[27-9]|4(?:6[45]|[7-9])"], "0$1"],
44594          [, "(\\d{2})(\\d{7})", "$1 $2", ["[34]"], "0$1"],
44595        ],
44596        ,
44597        [, , , , , , , , , [-1]],
44598        ,
44599        ,
44600        [, , , , , , , , , [-1]],
44601        [, , , , , , , , , [-1]],
44602        ,
44603        ,
44604        [, , , , , , , , , [-1]],
44605      ],
44606      US: [
44607        ,
44608        [, , "[2-9]\\d{9}|3\\d{6}", , , , , , , [10], [7]],
44609        [
44610          ,
44611          ,
44612          "5056(?:[0-35-9]\\d|4[46])\\d{4}|(?:4722|505[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[0-2]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}",
44613          ,
44614          ,
44615          ,
44616          "2015550123",
44617          ,
44618          ,
44619          ,
44620          [7],
44621        ],
44622        [
44623          ,
44624          ,
44625          "5056(?:[0-35-9]\\d|4[46])\\d{4}|(?:4722|505[2-57-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[0-2]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}",
44626          ,
44627          ,
44628          ,
44629          "2015550123",
44630          ,
44631          ,
44632          ,
44633          [7],
44634        ],
44635        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"],
44636        [, , "900[2-9]\\d{6}", , , , "9002345678"],
44637        [, , , , , , , , , [-1]],
44638        [
44639          ,
44640          ,
44641          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
44642          ,
44643          ,
44644          ,
44645          "5002345678",
44646        ],
44647        [, , , , , , , , , [-1]],
44648        "US",
44649        1,
44650        "011",
44651        "1",
44652        ,
44653        ,
44654        "1",
44655        ,
44656        ,
44657        1,
44658        [
44659          [, "(\\d{3})(\\d{4})", "$1-$2", ["310"], , , 1],
44660          [, "(\\d{3})(\\d{4})", "$1-$2", ["[24-9]|3(?:[02-9]|1[1-9])"]],
44661          [, "(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], , , 1],
44662        ],
44663        [
44664          [, "(\\d{3})(\\d{4})", "$1-$2", ["310"], , , 1],
44665          [, "(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-9]"]],
44666        ],
44667        [, , , , , , , , , [-1]],
44668        1,
44669        ,
44670        [, , , , , , , , , [-1]],
44671        [, , , , , , , , , [-1]],
44672        ,
44673        ,
44674        [, , , , , , , , , [-1]],
44675      ],
44676      UY: [
44677        ,
44678        [
44679          ,
44680          ,
44681          "(?:0004|4)\\d{9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}",
44682          ,
44683          ,
44684          ,
44685          ,
44686          ,
44687          ,
44688          [7, 8, 10, 13],
44689        ],
44690        [
44691          ,
44692          ,
44693          "(?:1(?:770|987)|(?:2\\d|4[2-7])\\d\\d)\\d{4}",
44694          ,
44695          ,
44696          ,
44697          "21231234",
44698          ,
44699          ,
44700          [8],
44701          [7],
44702        ],
44703        [, , "9[1-9]\\d{6}", , , , "94231234", , , [8]],
44704        [
44705          ,
44706          ,
44707          "(?:(?:0004|4)\\d{5}|80[05])\\d{4}|405\\d{4}",
44708          ,
44709          ,
44710          ,
44711          "8001234",
44712          ,
44713          ,
44714          [7, 10, 13],
44715        ],
44716        [, , "90[0-8]\\d{4}", , , , "9001234", , , [7]],
44717        [, , , , , , , , , [-1]],
44718        [, , , , , , , , , [-1]],
44719        [, , , , , , , , , [-1]],
44720        "UY",
44721        598,
44722        "0(?:0|1[3-9]\\d)",
44723        "0",
44724        " int. ",
44725        ,
44726        "0",
44727        ,
44728        "00",
44729        ,
44730        [
44731          [, "(\\d{3})(\\d{4})", "$1 $2", ["405|8|90"], "0$1"],
44732          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"],
44733          [, "(\\d{4})(\\d{4})", "$1 $2", ["[124]"]],
44734          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["4"], "0$1"],
44735          [, "(\\d{3})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["0"]],
44736        ],
44737        ,
44738        [, , , , , , , , , [-1]],
44739        ,
44740        ,
44741        [, , , , , , , , , [-1]],
44742        [, , , , , , , , , [-1]],
44743        ,
44744        ,
44745        [, , , , , , , , , [-1]],
44746      ],
44747      UZ: [
44748        ,
vendor: 14,558 bytes, lines 44749-45269
44749        [, , "(?:33|[5-79]\\d|88)\\d{7}", , , , , , , [9]],
44750        [
44751          ,
44752          ,
44753          "(?:55\\d\\d|6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\d\\d|7(?:[23]\\d|7[69])|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[124-6]|9[135-8])|(?:1[12]|8\\d)\\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|6(?:22|3[12457]|4[13-8])|9(?:22|5[1-9])))\\d{5}",
44754          ,
44755          ,
44756          ,
44757          "669050123",
44758        ],
44759        [
44760          ,
44761          ,
44762          "(?:(?:33|50|88|9[0-57-9])\\d{3}|6(?:1(?:2(?:2[01]|98)|35[0-4]|50\\d|61[23]|7(?:[01][017]|4\\d|55|9[5-9]))|2(?:(?:11|7\\d)\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\\d)\\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079]))|9(?:2(?:1[1267]|3[01]|5\\d|7[0-4])|(?:5[67]|7\\d)\\d|6(?:2[0-26]|8\\d)))|7(?:[07]\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|6(?:2(?:2[1245]|4[2-4])|39\\d|41[179]|5(?:[349]\\d|5[0-2])|7(?:0[017]|[13]\\d|22|44|55|67|88))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[02569]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07]))))\\d{4}",
44763          ,
44764          ,
44765          ,
44766          "912345678",
44767        ],
44768        [, , , , , , , , , [-1]],
44769        [, , , , , , , , , [-1]],
44770        [, , , , , , , , , [-1]],
44771        [, , , , , , , , , [-1]],
44772        [, , , , , , , , , [-1]],
44773        "UZ",
44774        998,
44775        "810",
44776        "8",
44777        ,
44778        ,
44779        "8",
44780        ,
44781        "8~10",
44782        ,
44783        [
44784          [
44785            ,
44786            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
44787            "$1 $2 $3 $4",
44788            ["[35-9]"],
44789            "8 $1",
44790          ],
44791        ],
44792        ,
44793        [, , , , , , , , , [-1]],
44794        ,
44795        ,
44796        [, , , , , , , , , [-1]],
44797        [, , , , , , , , , [-1]],
44798        ,
44799        ,
44800        [, , , , , , , , , [-1]],
44801      ],
44802      VA: [
44803        ,
44804        [
44805          ,
44806          ,
44807          "0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",
44808          ,
44809          ,
44810          ,
44811          ,
44812          ,
44813          ,
44814          [6, 7, 8, 9, 10, 11, 12],
44815        ],
44816        [, , "06698\\d{1,6}", , , , "0669812345", , , [6, 7, 8, 9, 10, 11]],
44817        [, , "3[1-9]\\d{8}|3[2-9]\\d{7}", , , , "3123456789", , , [9, 10]],
44818        [, , "80(?:0\\d{3}|3)\\d{3}", , , , "800123456", , , [6, 9]],
44819        [
44820          ,
44821          ,
44822          "(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}",
44823          ,
44824          ,
44825          ,
44826          "899123456",
44827          ,
44828          ,
44829          [6, 8, 9, 10],
44830        ],
44831        [, , "84(?:[08]\\d{3}|[17])\\d{3}", , , , "848123456", , , [6, 9]],
44832        [, , "1(?:78\\d|99)\\d{6}", , , , "1781234567", , , [9, 10]],
44833        [, , "55\\d{8}", , , , "5512345678", , , [10]],
44834        "VA",
44835        39,
44836        "00",
44837        ,
44838        ,
44839        ,
44840        ,
44841        ,
44842        ,
44843        ,
44844        ,
44845        ,
44846        [, , , , , , , , , [-1]],
44847        ,
44848        "06698",
44849        [, , , , , , , , , [-1]],
44850        [, , , , , , , , , [-1]],
44851        ,
44852        ,
44853        [, , "3[2-8]\\d{9,10}", , , , "33101234501", , , [11, 12]],
44854      ],
44855      VC: [
44856        ,
44857        [, , "(?:[58]\\d\\d|784|900)\\d{7}", , , , , , , [10], [7]],
44858        [
44859          ,
44860          ,
44861          "784(?:266|3(?:6[6-9]|7\\d|8[0-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\d{4}",
44862          ,
44863          ,
44864          ,
44865          "7842661234",
44866          ,
44867          ,
44868          ,
44869          [7],
44870        ],
44871        [
44872          ,
44873          ,
44874          "784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4])|720)\\d{4}",
44875          ,
44876          ,
44877          ,
44878          "7844301234",
44879          ,
44880          ,
44881          ,
44882          [7],
44883        ],
44884        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"],
44885        [, , "900[2-9]\\d{6}", , , , "9002345678"],
44886        [, , , , , , , , , [-1]],
44887        [
44888          ,
44889          ,
44890          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
44891          ,
44892          ,
44893          ,
44894          "5002345678",
44895        ],
44896        [, , "78451[0-2]\\d{4}", , , , "7845101234", , , , [7]],
44897        "VC",
44898        1,
44899        "011",
44900        "1",
44901        ,
44902        ,
44903        "([2-7]\\d{6})$|1",
44904        "784$1",
44905        ,
44906        ,
44907        ,
44908        ,
44909        [, , , , , , , , , [-1]],
44910        ,
44911        "784",
44912        [, , , , , , , , , [-1]],
44913        [, , , , , , , , , [-1]],
44914        ,
44915        ,
44916        [, , , , , , , , , [-1]],
44917      ],
44918      VE: [
44919        ,
44920        [, , "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", , , , , , , [10], [7]],
44921        [
44922          ,
44923          ,
44924          "(?:2(?:12|3[457-9]|[467]\\d|[58][1-9]|9[1-6])|[4-6]00)\\d{7}",
44925          ,
44926          ,
44927          ,
44928          "2121234567",
44929          ,
44930          ,
44931          ,
44932          [7],
44933        ],
44934        [, , "4(?:1[24-8]|2[46])\\d{7}", , , , "4121234567"],
44935        [, , "800\\d{7}", , , , "8001234567"],
44936        [, , "90[01]\\d{7}", , , , "9001234567"],
44937        [, , , , , , , , , [-1]],
44938        [, , , , , , , , , [-1]],
44939        [, , , , , , , , , [-1]],
44940        "VE",
44941        58,
44942        "00",
44943        "0",
44944        ,
44945        ,
44946        "0",
44947        ,
44948        ,
44949        ,
44950        [[, "(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1", "$CC $1"]],
44951        ,
44952        [, , , , , , , , , [-1]],
44953        ,
44954        ,
44955        [, , , , , , , , , [-1]],
44956        [, , "501\\d{7}", , , , "5010123456", , , , [7]],
44957        ,
44958        ,
44959        [, , , , , , , , , [-1]],
44960      ],
44961      VG: [
44962        ,
44963        [, , "(?:284|[58]\\d\\d|900)\\d{7}", , , , , , , [10], [7]],
44964        [
44965          ,
44966          ,
44967          "284(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\d{4}",
44968          ,
44969          ,
44970          ,
44971          "2842291234",
44972          ,
44973          ,
44974          ,
44975          [7],
44976        ],
44977        [
44978          ,
44979          ,
44980          "284(?:245|3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|9[69])|5(?:4[0-7]|68|9[69]))\\d{4}",
44981          ,
44982          ,
44983          ,
44984          "2843001234",
44985          ,
44986          ,
44987          ,
44988          [7],
44989        ],
44990        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"],
44991        [, , "900[2-9]\\d{6}", , , , "9002345678"],
44992        [, , , , , , , , , [-1]],
44993        [
44994          ,
44995          ,
44996          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
44997          ,
44998          ,
44999          ,
45000          "5002345678",
45001        ],
45002        [, , , , , , , , , [-1]],
45003        "VG",
45004        1,
45005        "011",
45006        "1",
45007        ,
45008        ,
45009        "([2-578]\\d{6})$|1",
45010        "284$1",
45011        ,
45012        ,
45013        ,
45014        ,
45015        [, , , , , , , , , [-1]],
45016        ,
45017        "284",
45018        [, , , , , , , , , [-1]],
45019        [, , , , , , , , , [-1]],
45020        ,
45021        ,
45022        [, , , , , , , , , [-1]],
45023      ],
45024      VI: [
45025        ,
45026        [, , "[58]\\d{9}|(?:34|90)0\\d{7}", , , , , , , [10], [7]],
45027        [
45028          ,
45029          ,
45030          "340(?:2(?:0[0-368]|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}",
45031          ,
45032          ,
45033          ,
45034          "3406421234",
45035          ,
45036          ,
45037          ,
45038          [7],
45039        ],
45040        [
45041          ,
45042          ,
45043          "340(?:2(?:0[0-368]|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}",
45044          ,
45045          ,
45046          ,
45047          "3406421234",
45048          ,
45049          ,
45050          ,
45051          [7],
45052        ],
45053        [, , "8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", , , , "8002345678"],
45054        [, , "900[2-9]\\d{6}", , , , "9002345678"],
45055        [, , , , , , , , , [-1]],
45056        [
45057          ,
45058          ,
45059          "52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}",
45060          ,
45061          ,
45062          ,
45063          "5002345678",
45064        ],
45065        [, , , , , , , , , [-1]],
45066        "VI",
45067        1,
45068        "011",
45069        "1",
45070        ,
45071        ,
45072        "([2-9]\\d{6})$|1",
45073        "340$1",
45074        ,
45075        1,
45076        ,
45077        ,
45078        [, , , , , , , , , [-1]],
45079        ,
45080        "340",
45081        [, , , , , , , , , [-1]],
45082        [, , , , , , , , , [-1]],
45083        ,
45084        ,
45085        [, , , , , , , , , [-1]],
45086      ],
45087      VN: [
45088        ,
45089        [
45090          ,
45091          ,
45092          "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",
45093          ,
45094          ,
45095          ,
45096          ,
45097          ,
45098          ,
45099          [7, 8, 9, 10],
45100        ],
45101        [
45102          ,
45103          ,
45104          "2(?:0[3-9]|1[0-689]|2[0-25-9]|[38][2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|9[0-4679])\\d{7}",
45105          ,
45106          ,
45107          ,
45108          "2101234567",
45109          ,
45110          ,
45111          [10],
45112        ],
45113        [
45114          ,
45115          ,
45116          "(?:5(?:2[238]|59)|89[6-9]|99[013-9])\\d{6}|(?:3\\d|5[689]|7[06-9]|8[1-8]|9[0-8])\\d{7}",
45117          ,
45118          ,
45119          ,
45120          "912345678",
45121          ,
45122          ,
45123          [9],
45124        ],
45125        [
45126          ,
45127          ,
45128          "1800\\d{4,6}|12(?:0[13]|28)\\d{4}",
45129          ,
45130          ,
45131          ,
45132          "1800123456",
45133          ,
45134          ,
45135          [8, 9, 10],
45136        ],
45137        [, , "1900\\d{4,6}", , , , "1900123456", , , [8, 9, 10]],
45138        [, , , , , , , , , [-1]],
45139        [, , , , , , , , , [-1]],
45140        [, , "672\\d{6}", , , , "672012345", , , [9]],
45141        "VN",
45142        84,
45143        "00",
45144        "0",
45145        ,
45146        ,
45147        "0",
45148        ,
45149        ,
45150        ,
45151        [
45152          [, "(\\d{3})(\\d{4})", "$1 $2", ["[17]99"], "0$1", , 1],
45153          [, "(\\d{2})(\\d{5})", "$1 $2", ["80"], "0$1", , 1],
45154          [, "(\\d{3})(\\d{4,5})", "$1 $2", ["69"], "0$1", , 1],
45155          [, "(\\d{4})(\\d{4,6})", "$1 $2", ["1"], , , 1],
45156          [
45157            ,
45158            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
45159            "$1 $2 $3 $4",
45160            ["[69]"],
45161            "0$1",
45162            ,
45163            1,
45164          ],
45165          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[3578]"], "0$1", , 1],
45166          [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", , 1],
45167          [, "(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", , 1],
45168        ],
45169        [
45170          [, "(\\d{2})(\\d{5})", "$1 $2", ["80"], "0$1", , 1],
45171          [, "(\\d{4})(\\d{4,6})", "$1 $2", ["1"], , , 1],
45172          [
45173            ,
45174            "(\\d{2})(\\d{3})(\\d{2})(\\d{2})",
45175            "$1 $2 $3 $4",
45176            ["[69]"],
45177            "0$1",
45178            ,
45179            1,
45180          ],
45181          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[3578]"], "0$1", , 1],
45182          [, "(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", , 1],
45183          [, "(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", , 1],
45184        ],
45185        [, , , , , , , , , [-1]],
45186        ,
45187        ,
45188        [, , "[17]99\\d{4}|69\\d{5,6}", , , , , , , [7, 8]],
45189        [, , "(?:[17]99|80\\d)\\d{4}|69\\d{5,6}", , , , "1992000", , , [7, 8]],
45190        ,
45191        ,
45192        [, , , , , , , , , [-1]],
45193      ],
45194      VU: [
45195        ,
45196        [, , "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", , , , , , , [5, 7]],
45197        [
45198          ,
45199          ,
45200          "(?:38[0-8]|48[4-9])\\d\\d|(?:2[02-9]|3[4-7]|88)\\d{3}",
45201          ,
45202          ,
45203          ,
45204          "22123",
45205          ,
45206          ,
45207          [5],
45208        ],
45209        [, , "(?:[58]\\d|7[013-7])\\d{5}", , , , "5912345", , , [7]],
45210        [, , "81[18]\\d\\d", , , , "81123", , , [5]],
45211        [, , , , , , , , , [-1]],
45212        [, , , , , , , , , [-1]],
45213        [, , , , , , , , , [-1]],
45214        [, , "9(?:0[1-9]|1[01])\\d{4}", , , , "9010123", , , [7]],
45215        "VU",
45216        678,
45217        "00",
45218        ,
45219        ,
45220        ,
45221        ,
45222        ,
45223        ,
45224        ,
45225        [[, "(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]],
45226        ,
45227        [, , , , , , , , , [-1]],
45228        ,
45229        ,
45230        [, , , , , , , , , [-1]],
45231        [, , "(?:3[03]|900\\d)\\d{3}", , , , "30123"],
45232        ,
45233        ,
45234        [, , , , , , , , , [-1]],
45235      ],
45236      WF: [
45237        ,
45238        [, , "(?:40|72)\\d{4}|8\\d{5}(?:\\d{3})?", , , , , , , [6, 9]],
45239        [, , "72\\d{4}", , , , "721234", , , [6]],
45240        [, , "(?:72|8[23])\\d{4}", , , , "821234", , , [6]],
45241        [, , "80[0-5]\\d{6}", , , , "800012345", , , [9]],
45242        [, , , , , , , , , [-1]],
45243        [, , , , , , , , , [-1]],
45244        [, , , , , , , , , [-1]],
45245        [, , , , , , , , , [-1]],
45246        "WF",
45247        681,
45248        "00",
45249        ,
45250        ,
45251        ,
45252        ,
45253        ,
45254        ,
45255        ,
45256        [
45257          [, "(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[478]"]],
45258          [, "(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]],
45259        ],
45260        ,
45261        [, , , , , , , , , [-1]],
45262        ,
45263        ,
45264        [, , , , , , , , , [-1]],
45265        [, , , , , , , , , [-1]],
45266        ,
45267        ,
45268        [, , "[48]0\\d{4}", , , , "401234", , , [6]],
45269      ],
45270      WS: [
45271        ,
45272        [
45273          ,
45274          ,
45275          "(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}",
45276          ,
45277          ,
45278          ,
45279          ,
45280          ,
45281          ,
45282          [5, 6, 7, 10],
45283        ],
45284        [, , "6[1-9]\\d{3}|(?:[2-5]|60)\\d{4}", , , , "22123", , , [5, 6]],
45285        [
45286          ,
45287          ,
45288          "(?:7[1-35-7]|8(?:[3-7]|9\\d{3}))\\d{5}",
45289          ,
45290          ,
45291          ,
45292          "7212345",
45293          ,
45294          ,
45295          [7, 10],
45296        ],
45297        [, , "800\\d{3}", , , , "800123", , , [6]],
45298        [, , , , , , , , , [-1]],
45299        [, , , , , , , , , [-1]],
45300        [, , , , , , , , , [-1]],
45301        [, , , , , , , , , [-1]],
45302        "WS",
45303        685,
45304        "0",
45305        ,
45306        ,
45307        ,
45308        ,
45309        ,
45310        ,
45311        ,
45312        [
45313          [, "(\\d{5})", "$1", ["[2-5]|6[1-9]"]],
45314          [, "(\\d{3})(\\d{3,7})", "$1 $2", ["[68]"]],
45315          [, "(\\d{2})(\\d{5})", "$1 $2", ["7"]],
45316        ],
45317        ,
45318        [, , , , , , , , , [-1]],
45319        ,
45320        ,
45321        [, , , , , , , , , [-1]],
45322        [, , , , , , , , , [-1]],
45323        ,
45324        ,
45325        [, , , , , , , , , [-1]],
45326      ],
45327      XK: [
45328        ,
45329        [, , "[23]\\d{7,8}|(?:4\\d\\d|[89]00)\\d{5}", , , , , , , [8, 9]],
45330        [, , "(?:2[89]|39)0\\d{6}|[23][89]\\d{6}", , , , "28012345"],
45331        [, , "4[3-9]\\d{6}", , , , "43201234", , , [8]],
45332        [, , "800\\d{5}", , , , "80001234", , , [8]],
45333        [, , "900\\d{5}", , , , "90001234", , , [8]],
45334        [, , , , , , , , , [-1]],
45335        [, , , , , , , , , [-1]],
45336        [, , , , , , , , , [-1]],
45337        "XK",
45338        383,
45339        "00",
45340        "0",
45341        ,
45342        ,
45343        "0",
45344        ,
45345        ,
45346        ,
45347        [
45348          [, "(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"],
45349          [, "(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-4]"], "0$1"],
45350          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[23]"], "0$1"],
45351        ],
45352        ,
45353        [, , , , , , , , , [-1]],
45354        ,
45355        ,
45356        [, , , , , , , , , [-1]],
45357        [, , , , , , , , , [-1]],
45358        ,
45359        ,
45360        [, , , , , , , , , [-1]],
45361      ],
45362      YE: [
45363        ,
45364        [, , "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", , , , , , , [7, 8, 9], [6]],
45365        [
45366          ,
45367          ,
45368          "78[0-7]\\d{4}|17\\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-6])\\d{5}",
45369          ,
45370          ,
45371          ,
45372          "1234567",
45373          ,
45374          ,
45375          [7, 8],
45376          [6],
45377        ],
45378        [, , "7[01378]\\d{7}", , , , "712345678", , , [9]],
45379        [, , , , , , , , , [-1]],
45380        [, , , , , , , , , [-1]],
45381        [, , , , , , , , , [-1]],
45382        [, , , , , , , , , [-1]],
45383        [, , , , , , , , , [-1]],
45384        "YE",
45385        967,
45386        "00",
45387        "0",
45388        ,
45389        ,
45390        "0",
45391        ,
45392        ,
45393        ,
45394        [
45395          [
45396            ,
45397            "(\\d)(\\d{3})(\\d{3,4})",
45398            "$1 $2 $3",
45399            ["[1-6]|7(?:[24-6]|8[0-7])"],
45400            "0$1",
45401          ],
45402          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"], "0$1"],
45403        ],
45404        ,
45405        [, , , , , , , , , [-1]],
45406        ,
45407        ,
45408        [, , , , , , , , , [-1]],
45409        [, , , , , , , , , [-1]],
45410        ,
45411        ,
45412        [, , , , , , , , , [-1]],
45413      ],
45414      YT: [
45415        ,
45416        [, , "(?:(?:(?:26|63)9|80\\d)\\d|9398)\\d{5}", , , , , , , [9]],
45417        [, , "269(?:0[0-467]|5[0-3]|6\\d|[78]0)\\d{4}", , , , "269601234"],
45418        [
45419          ,
45420          ,
45421          "(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|9398[01])\\d{4}",
45422          ,
45423          ,
45424          ,
45425          "639012345",
45426        ],
45427        [, , "80\\d{7}", , , , "801234567"],
45428        [, , , , , , , , , [-1]],
45429        [, , , , , , , , , [-1]],
45430        [, , , , , , , , , [-1]],
45431        [, , , , , , , , , [-1]],
45432        "YT",
45433        262,
45434        "00",
45435        "0",
45436        ,
45437        ,
45438        "0",
45439        ,
45440        ,
45441        ,
45442        ,
45443        ,
45444        [, , , , , , , , , [-1]],
45445        ,
45446        "269|63|9398",
45447        [, , , , , , , , , [-1]],
45448        [, , , , , , , , , [-1]],
45449        ,
45450        ,
45451        [, , , , , , , , , [-1]],
45452      ],
45453      ZA: [
45454        ,
45455        [, , "[1-79]\\d{8}|8\\d{4,9}", , , , , , , [5, 6, 7, 8, 9, 10]],
45456        [
45457          ,
45458          ,
45459          "(?:2(?:0330|4302)|52087)0\\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\\d|5[1346-8])\\d{7}",
45460          ,
45461          ,
45462          ,
45463          "101234567",
45464          ,
45465          ,
45466          [9],
45467        ],
45468        [
45469          ,
45470          ,
45471          "(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\d{3}|8[1-4]\\d{3,7}|(?:2[27]|47|54)4950\\d{3}|(?:1(?:049[2-4]|9[12]\\d\\d)|(?:6\\d|7[0-46-9])\\d{3}|8(?:5\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\d{3}|(?:12|[2-5]1)492\\d{4}",
45472          ,
45473          ,
45474          ,
45475          "711234567",
45476          ,
45477          ,
45478          [5, 6, 7, 8, 9],
45479        ],
45480        [, , "80\\d{7}", , , , "801234567", , , [9]],
45481        [, , "(?:86[2-9]|9[0-2]\\d)\\d{6}", , , , "862345678", , , [9]],
45482        [, , "860\\d{6}", , , , "860123456", , , [9]],
45483        [, , , , , , , , , [-1]],
45484        [
45485          ,
45486          ,
45487          "87(?:08[0-589]|15[0-79]|28[0-4]|31[1-9])\\d{4}|87(?:[02][0-79]|1[0-46-9]|3[02-9]|[4-9]\\d)\\d{5}",
45488          ,
45489          ,
45490          ,
45491          "871234567",
45492          ,
45493          ,
45494          [9],
45495        ],
45496        "ZA",
45497        27,
45498        "00",
45499        "0",
45500        ,
45501        ,
45502        "0",
45503        ,
45504        ,
45505        ,
45506        [
45507          [, "(\\d{2})(\\d{3,4})", "$1 $2", ["8[1-4]"], "0$1"],
45508          [, "(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["8[1-4]"], "0$1"],
45509          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["860"], "0$1"],
45510          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"],
45511          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"],
45512        ],
45513        ,
45514        [, , , , , , , , , [-1]],
45515        ,
45516        ,
45517        [, , , , , , , , , [-1]],
45518        [, , "861\\d{6,7}", , , , "861123456", , , [9, 10]],
45519        ,
45520        ,
45521        [, , , , , , , , , [-1]],
45522      ],
45523      ZM: [
45524        ,
45525        [, , "800\\d{6}|(?:21|63|[79]\\d)\\d{7}", , , , , , , [9], [6]],
45526        [, , "21[1-8]\\d{6}", , , , "211234567", , , , [6]],
45527        [, , "(?:7[5-79]|9[5-8])\\d{7}", , , , "955123456"],
45528        [, , "800\\d{6}", , , , "800123456"],
45529        [, , , , , , , , , [-1]],
45530        [, , , , , , , , , [-1]],
45531        [, , , , , , , , , [-1]],
45532        [, , "63\\d{7}", , , , "630123456"],
45533        "ZM",
45534        260,
45535        "00",
45536        "0",
45537        ,
45538        ,
45539        "0",
45540        ,
45541        ,
45542        ,
45543        [
45544          [, "(\\d{3})(\\d{3})", "$1 $2", ["[1-9]"]],
45545          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"],
45546          [, "(\\d{2})(\\d{7})", "$1 $2", ["[79]"], "0$1"],
45547        ],
45548        [
45549          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"],
45550          [, "(\\d{2})(\\d{7})", "$1 $2", ["[79]"], "0$1"],
45551        ],
45552        [, , , , , , , , , [-1]],
45553        ,
45554        ,
45555        [, , , , , , , , , [-1]],
45556        [, , , , , , , , , [-1]],
45557        ,
45558        ,
45559        [, , , , , , , , , [-1]],
45560      ],
45561      ZW: [
45562        ,
45563        [
45564          ,
45565          ,
45566          "2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",
45567          ,
45568          ,
45569          ,
45570          ,
45571          ,
45572          ,
45573          [5, 6, 7, 8, 9, 10],
45574          [3, 4],
45575        ],
45576        [
45577          ,
45578          ,
45579          "(?:1(?:(?:3\\d|9)\\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\\d\\d|[56](?:[14]\\d\\d|20)|7(?:[089]|2[03]|[35]\\d\\d))\\d|4(?:2\\d\\d|8))\\d|1(?:2|[39]\\d{4}))|3(?:(?:123|(?:29\\d|92)\\d)\\d\\d|7(?:[19]|[56]\\d))|5(?:0|1[2-478]|26|[37]2|4(?:2\\d{3}|83)|5(?:25\\d\\d|[78])|[689]\\d)|6(?:(?:[16-8]21|28|52[013])\\d\\d|[39])|8(?:[1349]28|523)\\d\\d)\\d{3}|(?:4\\d\\d|9[2-9])\\d{4,5}|(?:(?:2(?:(?:(?:0|8[146])\\d|7[1-7])\\d|2(?:[278]\\d|92)|58(?:2\\d|3))|3(?:[26]|9\\d{3})|5(?:4\\d|5)\\d\\d)\\d|6(?:(?:(?:[0-246]|[78]\\d)\\d|37)\\d|5[2-8]))\\d\\d|(?:2(?:[569]\\d|8[2-57-9])|3(?:[013-59]\\d|8[37])|6[89]8)\\d{3}",
45580          ,
45581          ,
45582          ,
45583          "1312345",
45584          ,
45585          ,
45586          ,
45587          [3, 4],
45588        ],
45589        [, , "7(?:[178]\\d|3[1-9])\\d{6}", , , , "712345678", , , [9]],
45590        [, , "80(?:[01]\\d|20|8[0-8])\\d{3}", , , , "8001234", , , [7]],
45591        [, , , , , , , , , [-1]],
45592        [, , , , , , , , , [-1]],
45593        [, , , , , , , , , [-1]],
45594        [
45595          ,
45596          ,
45597          "86(?:1[12]|22|30|44|55|77|8[368])\\d{6}",
45598          ,
45599          ,
45600          ,
45601          "8686123456",
45602          ,
45603          ,
45604          [10],
45605        ],
45606        "ZW",
45607        263,
45608        "00",
45609        "0",
45610        ,
45611        ,
45612        "0",
45613        ,
45614        ,
45615        ,
45616        [
45617          [
45618            ,
45619            "(\\d{3})(\\d{3,5})",
45620            "$1 $2",
45621            [
45622              "2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]",
45623            ],
45624            "0$1",
45625          ],
45626          [, "(\\d)(\\d{3})(\\d{2,4})", "$1 $2 $3", ["[49]"], "0$1"],
45627          [, "(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"],
45628          [
45629            ,
45630            "(\\d{2})(\\d{7})",
45631            "$1 $2",
45632            [
45633              "24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2",
45634              "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]",
45635            ],
45636            "(0$1)",
45637          ],
45638          [, "(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"],
45639          [
45640            ,
45641            "(\\d{3})(\\d{3})(\\d{3,4})",
45642            "$1 $2 $3",
45643            [
45644              "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)",
45645              "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)",
45646            ],
45647            "0$1",
45648          ],
45649          [, "(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"],
45650          [
45651            ,
45652            "(\\d{2})(\\d{3,5})",
45653            "$1 $2",
45654            [
45655              "1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]",
45656            ],
45657            "0$1",
45658          ],
45659          [
45660            ,
45661            "(\\d{2})(\\d{3})(\\d{3,4})",
45662            "$1 $2 $3",
45663            ["29[013-9]|39|54"],
45664            "0$1",
45665          ],
45666          [, "(\\d{4})(\\d{3,5})", "$1 $2", ["(?:25|54)8", "258|5483"], "0$1"],
45667        ],
45668        ,
45669        [, , , , , , , , , [-1]],
45670        ,
45671        ,
45672        [, , , , , , , , , [-1]],
45673        [, , , , , , , , , [-1]],
45674        ,
45675        ,
45676        [, , , , , , , , , [-1]],
45677      ],
45678      800: [
45679        ,
45680        [, , "(?:00|[1-9]\\d)\\d{6}", , , , , , , [8]],
45681        [, , , , , , , , , [-1]],
45682        [, , , , , , , , , [-1]],
45683        [, , "(?:00|[1-9]\\d)\\d{6}", , , , "12345678"],
45684        [, , , , , , , , , [-1]],
45685        [, , , , , , , , , [-1]],
45686        [, , , , , , , , , [-1]],
45687        [, , , , , , , , , [-1]],
45688        "001",
45689        800,
45690        ,
45691        ,
45692        ,
45693        ,
45694        ,
45695        ,
45696        ,
45697        1,
45698        [[, "(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]],
45699        ,
45700        [, , , , , , , , , [-1]],
45701        ,
45702        ,
45703        [, , , , , , , , , [-1]],
45704        [, , , , , , , , , [-1]],
45705        ,
45706        ,
45707        [, , , , , , , , , [-1]],
45708      ],
45709      808: [
45710        ,
45711        [, , "[1-9]\\d{7}", , , , , , , [8]],
45712        [, , , , , , , , , [-1]],
45713        [, , , , , , , , , [-1]],
45714        [, , , , , , , , , [-1]],
45715        [, , , , , , , , , [-1]],
45716        [, , "[1-9]\\d{7}", , , , "12345678"],
45717        [, , , , , , , , , [-1]],
45718        [, , , , , , , , , [-1]],
45719        "001",
45720        808,
45721        ,
45722        ,
45723        ,
45724        ,
45725        ,
45726        ,
45727        ,
45728        1,
45729        [[, "(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]],
45730        ,
45731        [, , , , , , , , , [-1]],
45732        ,
45733        ,
45734        [, , , , , , , , , [-1]],
45735        [, , , , , , , , , [-1]],
45736        ,
45737        ,
45738        [, , , , , , , , , [-1]],
45739      ],
45740      870: [
45741        ,
45742        [, , "7\\d{11}|[35-7]\\d{8}", , , , , , , [9, 12]],
45743        [, , , , , , , , , [-1]],
45744        [, , "(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}", , , , "301234567"],
45745        [, , , , , , , , , [-1]],
45746        [, , , , , , , , , [-1]],
45747        [, , , , , , , , , [-1]],
45748        [, , , , , , , , , [-1]],
45749        [, , , , , , , , , [-1]],
45750        "001",
45751        870,
45752        ,
45753        ,
45754        ,
45755        ,
45756        ,
45757        ,
45758        ,
45759        ,
45760        [[, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[35-7]"]]],
45761        ,
45762        [, , , , , , , , , [-1]],
45763        ,
45764        ,
45765        [, , , , , , , , , [-1]],
45766        [, , , , , , , , , [-1]],
45767        ,
45768        ,
45769        [, , , , , , , , , [-1]],
45770      ],
45771      878: [
45772        ,
45773        [, , "10\\d{10}", , , , , , , [12]],
45774        [, , , , , , , , , [-1]],
45775        [, , , , , , , , , [-1]],
45776        [, , , , , , , , , [-1]],
45777        [, , , , , , , , , [-1]],
45778        [, , , , , , , , , [-1]],
45779        [, , , , , , , , , [-1]],
45780        [, , "10\\d{10}", , , , "101234567890"],
45781        "001",
45782        878,
45783        ,
45784        ,
45785        ,
45786        ,
45787        ,
45788        ,
45789        ,
45790        1,
45791        [[, "(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]],
45792        ,
45793        [, , , , , , , , , [-1]],
45794        ,
45795        ,
45796        [, , , , , , , , , [-1]],
45797        [, , , , , , , , , [-1]],
45798        ,
45799        ,
45800        [, , , , , , , , , [-1]],
45801      ],
45802      881: [
45803        ,
45804        [, , "[0-36-9]\\d{8}", , , , , , , [9]],
45805        [, , , , , , , , , [-1]],
45806        [, , "[0-36-9]\\d{8}", , , , "612345678"],
45807        [, , , , , , , , , [-1]],
45808        [, , , , , , , , , [-1]],
45809        [, , , , , , , , , [-1]],
45810        [, , , , , , , , , [-1]],
45811        [, , , , , , , , , [-1]],
45812        "001",
45813        881,
45814        ,
45815        ,
45816        ,
45817        ,
45818        ,
45819        ,
45820        ,
45821        ,
45822        [[, "(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-36-9]"]]],
45823        ,
45824        [, , , , , , , , , [-1]],
45825        ,
45826        ,
45827        [, , , , , , , , , [-1]],
45828        [, , , , , , , , , [-1]],
45829        ,
45830        ,
45831        [, , , , , , , , , [-1]],
45832      ],
45833      882: [
45834        ,
45835        [
45836          ,
45837          ,
45838          "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?",
45839          ,
45840          ,
45841          ,
45842          ,
45843          ,
45844          ,
45845          [7, 8, 9, 10, 11, 12],
45846        ],
45847        [, , , , , , , , , [-1]],
45848        [
45849          ,
45850          ,
45851          "342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}",
45852          ,
45853          ,
45854          ,
45855          "3421234",
45856          ,
45857          ,
45858          [7, 8, 9, 10, 12],
45859        ],
45860        [, , , , , , , , , [-1]],
45861        [, , , , , , , , , [-1]],
45862        [, , , , , , , , , [-1]],
45863        [, , , , , , , , , [-1]],
45864        [
45865          ,
45866          ,
45867          "1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}",
45868          ,
45869          ,
45870          ,
45871          "390123456789",
45872        ],
45873        "001",
45874        882,
45875        ,
45876        ,
45877        ,
45878        ,
45879        ,
45880        ,
45881        ,
45882        ,
45883        [
45884          [, "(\\d{2})(\\d{5})", "$1 $2", ["16|342"]],
45885          [, "(\\d{2})(\\d{6})", "$1 $2", ["49"]],
45886          [, "(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["1[36]|9"]],
45887          [, "(\\d{2})(\\d{4})(\\d{3})", "$1 $2 $3", ["3[23]"]],
45888          [, "(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["16"]],
45889          [
45890            ,
45891            "(\\d{2})(\\d{4})(\\d{4})",
45892            "$1 $2 $3",
45893            ["10|23|3(?:[15]|4[57])|4|51"],
45894          ],
45895          [, "(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["34"]],
45896          [, "(\\d{2})(\\d{4,5})(\\d{5})", "$1 $2 $3", ["[1-35]"]],
45897        ],
45898        ,
45899        [, , , , , , , , , [-1]],
45900        ,
45901        ,
45902        [, , , , , , , , , [-1]],
45903        [, , , , , , , , , [-1]],
45904        ,
45905        ,
45906        [, , "348[57]\\d{7}", , , , "34851234567", , , [11]],
45907      ],
45908      883: [
45909        ,
45910        [, , "(?:[1-4]\\d|51)\\d{6,10}", , , , , , , [8, 9, 10, 11, 12]],
45911        [, , , , , , , , , [-1]],
45912        [, , , , , , , , , [-1]],
45913        [, , , , , , , , , [-1]],
45914        [, , , , , , , , , [-1]],
45915        [, , , , , , , , , [-1]],
45916        [, , , , , , , , , [-1]],
45917        [
45918          ,
45919          ,
45920          "(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[013-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}",
45921          ,
45922          ,
45923          ,
45924          "510012345",
45925        ],
45926        "001",
45927        883,
45928        ,
45929        ,
45930        ,
45931        ,
45932        ,
45933        ,
45934        ,
45935        1,
45936        [
45937          [
45938            ,
45939            "(\\d{3})(\\d{3})(\\d{2,8})",
45940            "$1 $2 $3",
45941            ["[14]|2[24-689]|3[02-689]|51[24-9]"],
45942          ],
45943          [, "(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["510"]],
45944          [, "(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["21"]],
45945          [, "(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["51[13]"]],
45946          [, "(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[235]"]],
45947        ],
45948        ,
45949        [, , , , , , , , , [-1]],
45950        ,
45951        ,
45952        [, , , , , , , , , [-1]],
45953        [, , , , , , , , , [-1]],
45954        ,
45955        ,
45956        [, , , , , , , , , [-1]],
45957      ],
45958      888: [
45959        ,
45960        [, , "\\d{11}", , , , , , , [11]],
45961        [, , , , , , , , , [-1]],
45962        [, , , , , , , , , [-1]],
45963        [, , , , , , , , , [-1]],
45964        [, , , , , , , , , [-1]],
45965        [, , , , , , , , , [-1]],
45966        [, , , , , , , , , [-1]],
45967        [, , , , , , , , , [-1]],
45968        "001",
45969        888,
45970        ,
45971        ,
45972        ,
45973        ,
45974        ,
45975        ,
45976        ,
45977        1,
45978        [[, "(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]],
45979        ,
45980        [, , , , , , , , , [-1]],
45981        ,
45982        ,
45983        [, , , , , , , , , [-1]],
45984        [, , "\\d{11}", , , , "12345678901"],
45985        ,
45986        ,
45987        [, , , , , , , , , [-1]],
45988      ],
45989      979: [
45990        ,
45991        [, , "[1359]\\d{8}", , , , , , , [9], [8]],
45992        [, , , , , , , , , [-1]],
45993        [, , , , , , , , , [-1]],
45994        [, , , , , , , , , [-1]],
45995        [, , "[1359]\\d{8}", , , , "123456789", , , , [8]],
45996        [, , , , , , , , , [-1]],
45997        [, , , , , , , , , [-1]],
45998        [, , , , , , , , , [-1]],
45999        "001",
46000        979,
46001        ,
46002        ,
46003        ,
46004        ,
46005        ,
46006        ,
46007        ,
46008        1,
46009        [[, "(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]],
46010        ,
46011        [, , , , , , , , , [-1]],
46012        ,
46013        ,
46014        [, , , , , , , , , [-1]],
46015        [, , , , , , , , , [-1]],
46016        ,
46017        ,
46018        [, , , , , , , , , [-1]],
46019      ],
46020    }; /*
46021
46022 Copyright (C) 2010 The Libphonenumber Authors.
46023
46024 Licensed under the Apache License, Version 2.0 (the "License");
46025 you may not use this file except in compliance with the License.
46026 You may obtain a copy of the License at
46027
46028 http://www.apache.org/licenses/LICENSE-2.0
46029
46030 Unless required by applicable law or agreed to in writing, software
46031 distributed under the License is distributed on an "AS IS" BASIS,
46032 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
46033 See the License for the specific language governing permissions and
46034 limitations under the License.
46035*/
46036  function K() {
46037    this.g = {};
46038  }
46039  K.i = void 0;
46040  K.g = function () {
46041    return K.i ? K.i : (K.i = new K());
46042  };
46043  var ua = {
46044      0: "0",
46045      1: "1",
46046      2: "2",
46047      3: "3",
46048      4: "4",
46049      5: "5",
46050      6: "6",
46051      7: "7",
46052      8: "8",
46053      9: "9",
46054      "\uff10": "0",
46055      "\uff11": "1",
46056      "\uff12": "2",
46057      "\uff13": "3",
46058      "\uff14": "4",
46059      "\uff15": "5",
46060      "\uff16": "6",
46061      "\uff17": "7",
46062      "\uff18": "8",
46063      "\uff19": "9",
46064      "\u0660": "0",
46065      "\u0661": "1",
46066      "\u0662": "2",
46067      "\u0663": "3",
46068      "\u0664": "4",
46069      "\u0665": "5",
46070      "\u0666": "6",
46071      "\u0667": "7",
46072      "\u0668": "8",
46073      "\u0669": "9",
46074      "\u06f0": "0",
46075      "\u06f1": "1",
46076      "\u06f2": "2",
46077      "\u06f3": "3",
46078      "\u06f4": "4",
46079      "\u06f5": "5",
46080      "\u06f6": "6",
46081      "\u06f7": "7",
46082      "\u06f8": "8",
46083      "\u06f9": "9",
46084    },
46085    va = {
46086      0: "0",
46087      1: "1",
46088      2: "2",
46089      3: "3",
46090      4: "4",
46091      5: "5",
46092      6: "6",
46093      7: "7",
46094      8: "8",
46095      9: "9",
46096      "\uff10": "0",
46097      "\uff11": "1",
46098      "\uff12": "2",
46099      "\uff13": "3",
46100      "\uff14": "4",
46101      "\uff15": "5",
46102      "\uff16": "6",
46103      "\uff17": "7",
46104      "\uff18": "8",
46105      "\uff19": "9",
46106      "\u0660": "0",
46107      "\u0661": "1",
46108      "\u0662": "2",
46109      "\u0663": "3",
46110      "\u0664": "4",
46111      "\u0665": "5",
46112      "\u0666": "6",
46113      "\u0667": "7",
46114      "\u0668": "8",
46115      "\u0669": "9",
46116      "\u06f0": "0",
46117      "\u06f1": "1",
46118      "\u06f2": "2",
46119      "\u06f3": "3",
46120      "\u06f4": "4",
46121      "\u06f5": "5",
46122      "\u06f6": "6",
46123      "\u06f7": "7",
46124      "\u06f8": "8",
46125      "\u06f9": "9",
46126      A: "2",
46127      B: "2",
46128      C: "2",
46129      D: "3",
46130      E: "3",
46131      F: "3",
46132      G: "4",
46133      H: "4",
46134      I: "4",
46135      J: "5",
46136      K: "5",
46137      L: "5",
46138      M: "6",
46139      N: "6",
46140      O: "6",
46141      P: "7",
46142      Q: "7",
46143      R: "7",
46144      S: "7",
46145      T: "8",
46146      U: "8",
46147      V: "8",
46148      W: "9",
46149      X: "9",
46150      Y: "9",
46151      Z: "9",
46152    },
46153    L = RegExp("^[+\uff0b]+"),
46154    wa = RegExp("([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])"),
46155    xa = RegExp("[+\uff0b0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]"),
46156    ya = /[\\\/] *x/,
46157    za = RegExp("[^0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9A-Za-z#]+$"),
46158    Aa = /(?:.*?[A-Za-z]){3}.*/,
46159    Ba = RegExp(
46160      "^\\+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]|[\\-\\.\\(\\)]?)*[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]|[\\-\\.\\(\\)]?)*$"
46161    ),
46162    Ca = RegExp(
46163      "^([A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]+((\\-)*[A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])*\\.)*[A-Za-z]+((\\-)*[A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])*\\.?$"
46164    );
46165  function M(a) {
46166    return "([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1," + a + "})";
46167  }
46168  function Da() {
46169    return (
46170      ";ext=" +
46171      M("20") +
46172      "|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|\u0434\u043e\u0431|anexo)[:\\.\uff0e]?[ \u00a0\\t,-]*" +
46173      (M("20") +
46174        "#?|[ \u00a0\\t,]*(?:[x\uff58#\uff03~\uff5e]|int|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*") +
46175      (M("9") + "#?|[- ]+") +
46176      (M("6") + "#|[ \u00a0\\t]*(?:,{2}|;)[:\\.\uff0e]?[ \u00a0\\t,-]*") +
46177      (M("15") + "#?|[ \u00a0\\t]*(?:,)+[:\\.\uff0e]?[ \u00a0\\t,-]*") +
46178      (M("9") + "#?")
46179    );
46180  }
46181  var Ea = new RegExp("(?:" + Da() + ")$", "i"),
46182    Fa = new RegExp(
46183      "^[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{2}$|^[+\uff0b]*(?:[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*]*[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]){3,}[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]*(?:" +
46184        Da() +
46185        ")?$",
46186      "i"
46187    ),
46188    Ga = /(\$\d)/;
46189  function Ha(a) {
46190    return 2 > a.length ? !1 : N(Fa, a);
46191  }
46192  function Ia(a) {
46193    return N(Aa, a) ? O(a, va) : O(a, ua);
46194  }
46195  function Ja(a) {
46196    var b = Ia(a.toString());
46197    a.i = "";
46198    a.g(b);
46199  }
46200  function Ka(a) {
46201    return null != a && (1 != x(a, 9) || -1 != u(a, 9)[0]);
46202  }
46203  function O(a, b) {
46204    for (var c = new D(), d, f = a.length, e = 0; e < f; ++e)
46205      (d = a.charAt(e)), (d = b[d.toUpperCase()]), null != d && c.g(d);
46206    return c.toString();
46207  }
46208  function P(a) {
46209    return null != a && isNaN(a) && a.toUpperCase() in ta;
46210  }
46211  function La(a, b, c) {
46212    if (0 == p(b, 2) && null != b.g[5]) {
46213      var d = w(b, 5);
46214      if (0 < d.length) return d;
46215    }
46216    d = w(b, 1);
46217    var f = Q(b);
46218    if (0 == c) return Ma(d, 0, f, "");
46219    if (!(d in J)) return f;
46220    a = R(a, d, S(d));
46221    b =
46222      null != b.g[3] && 0 != p(b, 3).length
46223        ? 3 == c
46224          ? ";ext=" + p(b, 3)
46225          : null != a.g[13]
46226          ? p(a, 13) + w(b, 3)
46227          : " ext. " + w(b, 3)
46228        : "";
46229    a: {
46230      a = 0 == u(a, 20).length || 2 == c ? u(a, 19) : u(a, 20);
46231      for (var e, g = a.length, h = 0; h < g; ++h) {
46232        e = a[h];
46233        var l = x(e, 3);
46234        if (0 == l || 0 == f.search(p(e, 3, l - 1)))
46235          if (((l = new RegExp(p(e, 1))), N(l, f))) {
46236            a = e;
46237            break a;
46238          }
46239      }
46240      a = null;
46241    }
46242    null != a &&
46243      ((g = a),
46244      (a = w(g, 2)),
46245      (e = new RegExp(p(g, 1))),
46246      w(g, 5),
46247      (g = w(g, 4)),
46248      (f =
46249        2 == c && null != g && 0 < g.length
46250          ? f.replace(e, a.replace(Ga, g))
46251          : f.replace(e, a)),
46252      3 == c &&
46253        ((f = f.replace(
46254          RegExp(
46255            "^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+"
46256          ),
46257          ""
46258        )),
46259        (f = f.replace(
46260          RegExp(
46261            "[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+",
46262            "g"
46263          ),
46264          "-"
46265        ))));
46266    return Ma(d, c, f, b);
46267  }
46268  function R(a, b, c) {
46269    return "001" == c ? T(a, "" + b) : T(a, c);
46270  }
46271  function Q(a) {
46272    if (null == a.g[2]) return "";
46273    var b = "" + p(a, 2);
46274    return null != a.g[4] && p(a, 4) && 0 < w(a, 8)
46275      ? Array(w(a, 8) + 1).join("0") + b
46276      : b;
46277  }
46278  function Ma(a, b, c, d) {
46279    switch (b) {
46280      case 0:
46281        return "+" + a + c + d;
46282      case 1:
46283        return "+" + a + " " + c + d;
46284      case 3:
46285        return "tel:+" + a + "-" + c + d;
46286      default:
46287        return c + d;
46288    }
46289  }
46290  function U(a, b) {
46291    switch (b) {
46292      case 4:
46293        return p(a, 5);
46294      case 3:
46295        return p(a, 4);
46296      case 1:
46297        return p(a, 3);
46298      case 0:
46299      case 2:
46300        return p(a, 2);
46301      case 5:
46302        return p(a, 6);
46303      case 6:
46304        return p(a, 8);
46305      case 7:
46306        return p(a, 7);
46307      case 8:
46308        return p(a, 21);
46309      case 9:
46310        return p(a, 25);
46311      case 10:
46312        return p(a, 28);
46313      default:
46314        return p(a, 1);
46315    }
46316  }
46317  function V(a, b) {
46318    return W(a, p(b, 1))
46319      ? W(a, p(b, 5))
46320        ? 4
46321        : W(a, p(b, 4))
46322        ? 3
46323        : W(a, p(b, 6))
46324        ? 5
46325        : W(a, p(b, 8))
46326        ? 6
46327        : W(a, p(b, 7))
46328        ? 7
46329        : W(a, p(b, 21))
46330        ? 8
46331        : W(a, p(b, 25))
46332        ? 9
46333        : W(a, p(b, 28))
46334        ? 10
46335        : W(a, p(b, 2))
46336        ? p(b, 18) || W(a, p(b, 3))
46337          ? 2
46338          : 0
46339        : !p(b, 18) && W(a, p(b, 3))
46340        ? 1
46341        : -1
46342      : -1;
46343  }
46344  function T(a, b) {
46345    if (null == b) return null;
46346    b = b.toUpperCase();
46347    var c = a.g[b];
46348    if (null == c) {
46349      c = ta[b];
46350      if (null == c) return null;
46351      c = new C().g(H.j(), c);
46352      a.g[b] = c;
46353    }
46354    return c;
46355  }
46356  function W(a, b) {
46357    var c = a.length;
46358    return 0 < x(b, 9) && -1 == u(b, 9).indexOf(c) ? !1 : N(w(b, 2), a);
46359  }
46360  function Na(a, b) {
46361    if (null == b) return null;
46362    var c = w(b, 1);
46363    c = J[c];
46364    if (null == c) a = null;
46365    else if (1 == c.length) a = c[0];
46366    else
46367      a: {
46368        b = Q(b);
46369        for (var d, f = c.length, e = 0; e < f; e++) {
46370          d = c[e];
46371          var g = T(a, d);
46372          if (null != g.g[23]) {
46373            if (0 == b.search(p(g, 23))) {
46374              a = d;
46375              break a;
46376            }
46377          } else if (-1 != V(b, g)) {
46378            a = d;
46379            break a;
46380          }
46381        }
46382        a = null;
46383      }
46384    return a;
46385  }
46386  function S(a) {
46387    a = J[a];
46388    return null == a ? "ZZ" : a[0];
46389  }
46390  function Y(a, b, c, d) {
46391    var f = U(c, d),
46392      e = 0 == x(f, 9) ? u(p(c, 1), 9) : u(f, 9);
46393    f = u(f, 10);
46394    if (2 == d)
46395      if (Ka(U(c, 0)))
46396        (a = U(c, 1)),
46397          Ka(a) &&
46398            ((e = e.concat(0 == x(a, 9) ? u(p(c, 1), 9) : u(a, 9))),
46399            e.sort(),
46400            0 == f.length
46401              ? (f = u(a, 10))
46402              : ((f = f.concat(u(a, 10))), f.sort()));
46403      else return Y(a, b, c, 1);
46404    if (-1 == e[0]) return 5;
46405    b = b.length;
46406    if (-1 < f.indexOf(b)) return 4;
46407    c = e[0];
46408    return c == b
46409      ? 0
46410      : c > b
46411      ? 2
46412      : e[e.length - 1] < b
46413      ? 3
46414      : -1 < e.indexOf(b, 1)
46415      ? 0
46416      : 5;
46417  }
46418  function Oa(a, b) {
46419    var c = Q(b);
46420    b = w(b, 1);
46421    if (!(b in J)) return 1;
46422    b = R(a, b, S(b));
46423    return Y(a, c, b, -1);
46424  }
46425  function Pa(a, b, c, d, f, e) {
46426    if (0 == b.length) return 0;
46427    b = new D(b);
46428    var g;
46429    null != c && (g = p(c, 11));
46430    null == g && (g = "NonMatch");
46431    var h = b.toString();
46432    if (0 == h.length) g = 20;
46433    else if (L.test(h)) (h = h.replace(L, "")), (b.i = ""), b.g(Ia(h)), (g = 1);
46434    else {
46435      h = new RegExp(g);
46436      Ja(b);
46437      g = b.toString();
46438      if (0 == g.search(h)) {
46439        h = g.match(h)[0].length;
46440        var l = g.substring(h).match(wa);
46441        l && null != l[1] && 0 < l[1].length && "0" == O(l[1], ua)
46442          ? (g = !1)
46443          : ((b.i = ""), b.g(g.substring(h)), (g = !0));
46444      } else g = !1;
46445      g = g ? 5 : 20;
46446    }
46447    f && q(e, 6, g);
46448    if (20 != g) {
46449      if (2 >= b.i.length) throw Error("Phone number too short after IDD");
46450      a: {
46451        a = b.toString();
46452        if (0 != a.length && "0" != a.charAt(0))
46453          for (f = a.length, b = 1; 3 >= b && b <= f; ++b)
46454            if (((c = parseInt(a.substring(0, b), 10)), c in J)) {
46455              d.g(a.substring(b));
46456              d = c;
46457              break a;
46458            }
46459        d = 0;
46460      }
46461      if (0 != d) return q(e, 1, d), d;
46462      throw Error("Invalid country calling code");
46463    }
46464    if (
46465      null != c &&
46466      ((g = w(c, 10)),
46467      (h = "" + g),
46468      (l = b.toString()),
46469      0 == l.lastIndexOf(h, 0) &&
46470        ((h = new D(l.substring(h.length))),
46471        (l = p(c, 1)),
46472        (l = new RegExp(w(l, 2))),
46473        Qa(h, c, null),
46474        (h = h.toString()),
46475        (!N(l, b.toString()) && N(l, h)) || 3 == Y(a, b.toString(), c, -1))
46475)
46476    )
46477      return d.g(h), f && q(e, 6, 10), q(e, 1, g), g;
46478    q(e, 1, 0);
46479    return 0;
46480  }
46481  function Qa(a, b, c) {
46482    var d = a.toString(),
46483      f = d.length,
46484      e = p(b, 15);
46485    if (0 != f && null != e && 0 != e.length) {
46486      var g = new RegExp("^(?:" + e + ")");
46487      if ((f = g.exec(d))) {
46488        e = new RegExp(w(p(b, 1), 2));
46489        var h = N(e, d),
46490          l = f.length - 1;
46491        b = p(b, 16);
46492        if (null == b || 0 == b.length || null == f[l] || 0 == f[l].length) {
46493          if (!h || N(e, d.substring(f[0].length)))
46494            null != c && 0 < l && null != f[l] && c.g(f[1]),
46495              a.set(d.substring(f[0].length));
46496        } else if (((d = d.replace(g, b)), !h || N(e, d)))
46497          null != c && 0 < l && c.g(f[1]), a.set(d);
46498      }
46499    }
46500  }
46501  function Z(a, b, c) {
46502    if (!P(c) && 0 < b.length && "+" != b.charAt(0))
46503      throw Error("Invalid country calling code");
46504    return Ra(a, b, c, !0);
46505  }
46506  function Ra(a, b, c, d) {
46507    if (null == b)
46508      throw Error("The string supplied did not seem to be a phone number");
46509    if (250 < b.length)
46510      throw Error("The string supplied is too long to be a phone number");
46511    var f = new D();
46512    var e = b.indexOf(";phone-context=");
46513    if (-1 === e) e = null;
46514    else if (((e += 15), e >= b.length)) e = "";
46515    else {
46516      var g = b.indexOf(";", e);
46517      e = -1 !== g ? b.substring(e, g) : b.substring(e);
46518    }
46519    var h = e;
46520    null == h
46521      ? (g = !0)
46522      : 0 === h.length
46523      ? (g = !1)
46524      : ((g = Ba.exec(h)), (h = Ca.exec(h)), (g = null !== g || null !== h));
46525    if (!g)
46526      throw Error("The string supplied did not seem to be a phone number");
46527    null != e
46528      ? ("+" === e.charAt(0) && f.g(e),
46529        (e = b.indexOf("tel:")),
46530        f.g(b.substring(0 <= e ? e + 4 : 0, b.indexOf(";phone-context="))))
46531      : ((e = f.g),
46532        (g = b ?? ""),
46533        (h = g.search(xa)),
46534        0 <= h
46535          ? ((g = g.substring(h)),
46536            (g = g.replace(za, "")),
46537            (h = g.search(ya)),
46538            0 <= h && (g = g.substring(0, h)))
46539          : (g = ""),
46540        e.call(f, g));
46541    e = f.toString();
46542    g = e.indexOf(";isub=");
46543    0 < g && ((f.i = ""), f.g(e.substring(0, g)));
46544    if (!Ha(f.toString()))
46545      throw Error("The string supplied did not seem to be a phone number");
46546    e = f.toString();
46547    if (!(P(c) || (null != e && 0 < e.length && L.test(e))))
46548      throw Error("Invalid country calling code");
46549    e = new I();
46550    d && q(e, 5, b);
46551    a: {
46552      b = f.toString();
46553      g = b.search(Ea);
46554      if (0 <= g && Ha(b.substring(0, g))) {
46555        h = b.match(Ea);
46556        for (var l = h.length, A = 1; A < l; ++A)
46557          if (null != h[A] && 0 < h[A].length) {
46558            f.i = "";
46559            f.g(b.substring(0, g));
46560            b = h[A];
46561            break a;
46562          }
46563      }
46564      b = "";
46565    }
46566    0 < b.length && q(e, 3, b);
46567    g = T(a, c);
46568    b = new D();
46569    h = 0;
46570    l = f.toString();
46571    try {
46572      h = Pa(a, l, g, b, d, e);
46573    } catch (F) {
46574      if ("Invalid country calling code" == F.message && L.test(l)) {
46575        if (((l = l.replace(L, "")), (h = Pa(a, l, g, b, d, e)), 0 == h))
46576          throw F;
46577      } else throw F;
46578    }
46579    0 != h
46580      ? ((f = S(h)), f != c && (g = R(a, h, f)))
46581      : (Ja(f),
46582        b.g(f.toString()),
46583        null != c
46584          ? ((h = w(g, 10)), q(e, 1, h))
46585          : d && (delete e.g[6], e.i && delete e.i[6]));
46586    if (2 > b.i.length)
46587      throw Error("The string supplied is too short to be a phone number");
46588    null != g &&
46589      ((c = new D()),
46590      (f = new D(b.toString())),
46591      Qa(f, g, c),
46592      (a = Y(a, f.toString(), g, -1)),
46593      2 != a &&
46594        4 != a &&
46595        5 != a &&
46596        ((b = f), d && 0 < c.toString().length && q(e, 7, c.toString())));
46597    d = b.toString();
46598    a = d.length;
46599    if (2 > a)
46600      throw Error("The string supplied is too short to be a phone number");
46601    if (17 < a)
46602      throw Error("The string supplied is too long to be a phone number");
46603    if (1 < d.length && "0" == d.charAt(0)) {
46604      q(e, 4, !0);
46605      for (a = 1; a < d.length - 1 && "0" == d.charAt(a); ) a++;
46606      1 != a && q(e, 8, a);
46607    }
46608    q(e, 2, parseInt(d, 10));
46609    return e;
46610  }
46611  function N(a, b) {
46612    return (a =
46613      "string" == typeof a ? b.match("^(?:" + a + ")$") : b.match(a)) &&
46614      a[0].length == b.length
46615      ? !0
46616      : !1;
46617  }
46618  k("intlTelInputUtils", {});
46619  k("intlTelInputUtils.formatNumber", (a, b, c) => {
46620    try {
46621      const f = K.g(),
46622        e = Z(f, a, b);
46623      var d = Oa(f, e);
46624      return 0 == d || 4 == d ? La(f, e, "undefined" === typeof c ? 0 : c) : a;
46625    } catch (f) {
46626      return a;
46627    }
46628  });
46629  k("intlTelInputUtils.getExampleNumber", (a, b, c) => {
46630    try {
46631      const h = K.g();
46632      a: {
46633        var d = h;
46634        if (P(a)) {
46635          var f = U(T(d, a), c);
46636          try {
46637            if (null != f.g[6]) {
46638              var e = p(f, 6);
46639              var g = Ra(d, e, a, !1);
46640              break a;
46641            }
46642          } catch (l) {}
46643        }
46644        g = null;
46645      }
46646      return La(h, g, b ? 2 : 1);
46647    } catch (h) {
46648      return "";
46649    }
46650  });
46651  k("intlTelInputUtils.getExtension", (a, b) => {
46652    try {
46653      return p(Z(K.g(), a, b), 3);
46654    } catch (c) {
46655      return "";
46656    }
46657  });
46658  k("intlTelInputUtils.getNumberType", (a, b) => {
46659    try {
46660      const h = K.g();
46661      var c = Z(h, a, b);
46662      a = h;
46663      var d = Na(a, c),
46664        f = R(a, w(c, 1), d);
46665      if (null == f) var e = -1;
46666      else {
46667        var g = Q(c);
46668        e = V(g, f);
46669      }
46670      return e;
46671    } catch (h) {
46672      return -99;
46673    }
46674  });
46675  k("intlTelInputUtils.getValidationError", (a, b) => {
46676    try {
46677      const c = K.g(),
46678        d = Z(c, a, b);
46679      return Oa(c, d);
46680    } catch (c) {
46681      return "Invalid country calling code" === c.message
46682        ? 1
46683        : "Phone number too short after IDD" === c.message ||
46684          "The string supplied is too short to be a phone number" === c.message
46685        ? 2
46686        : "The string supplied is too long to be a phone number" === c.message
46687        ? 3
46688        : -99;
46689    }
46690  });
46691  k("intlTelInputUtils.isValidNumber", (a, b) => {
46692    try {
46693      const X = K.g();
46694      var c = Z(X, a, b);
46695      a = X;
46696      var d = Na(a, c);
46697      var f = w(c, 1),
46698        e = R(a, f, d),
46699        g;
46700      if (!(g = null == e)) {
46701        var h;
46702        if ((h = "001" != d)) {
46703          var l = T(a, d);
46704          if (null == l) throw Error("Invalid region code: " + d);
46705          var A = w(l, 10);
46706          h = f != A;
46707        }
46708        g = h;
46709      }
46710      if (g) var F = !1;
46711      else {
46712        var Sa = Q(c);
46713        F = -1 != V(Sa, e);
46714      }
46715      return F;
46716    } catch (X) {
46717      return !1;
46718    }
46719  });
46720  k("intlTelInputUtils.numberFormat", {
46721    E164: 0,
46722    INTERNATIONAL: 1,
46723    NATIONAL: 2,
46724    RFC3966: 3,
46725  });
46726  k("intlTelInputUtils.numberType", {
46727    FIXED_LINE: 0,
46728    MOBILE: 1,
46729    FIXED_LINE_OR_MOBILE: 2,
46730    TOLL_FREE: 3,
46731    PREMIUM_RATE: 4,
46732    SHARED_COST: 5,
46733    VOIP: 6,
46734    PERSONAL_NUMBER: 7,
46735    PAGER: 8,
46736    UAN: 9,
46737    VOICEMAIL: 10,
46738    UNKNOWN: -1,
46739  });
46740  k("intlTelInputUtils.validationError", {
46741    IS_POSSIBLE: 0,
46742    INVALID_COUNTRY_CODE: 1,
46743    TOO_SHORT: 2,
46744    TOO_LONG: 3,
46745    IS_POSSIBLE_LOCAL_ONLY: 4,
46746    INVALID_LENGTH: 5,
46747  });
46748})();
46749
46750var aFirstSlider = new Swiper(".js-about-clients-first", {
46751  spaceBetween: 20,
46752  loop: true,
46753  speed: 5000,
46754  slidesPerView: 6,
46755  autoplay: {
46756    enabled: true,
46757    delay: 1,
46758  },
46759  breakpoints: {
46760    300: {
46761      slidesPerView: 1,
46762    },
46763
46764    767: {
46765      slidesPerView: 2,
46766    },
46767
46768    1023: {
46769      slidesPerView: 3,
46770    },
46771
46772    1439: {
46773      slidesPerView: 5,
46774    },
46775  },
46776});
46777
46778var aSecondSlider = new Swiper(".js-about-clients-second", {
46779  spaceBetween: 20,
46780  loop: true,
46781  speed: 5000,
46782  slidesPerView: 6,
46783  autoplay: {
46784    enabled: true,
46785    delay: 1,
46786    reverseDirection: true,
46787  },
46788  breakpoints: {
46789    300: {
46790      slidesPerView: 1,
46791    },
46792
46793    767: {
46794      slidesPerView: 2,
46795    },
46796
46797    1023: {
46798      slidesPerView: 3,
46799    },
46800
46801    1439: {
46802      slidesPerView: 5,
46803    },
46804  },
46805});
46806
46807var aboutRatingsSlider = new Swiper(".js-about-ratings-slider", {
46808  slidesPerView: 3,
46809  spaceBetween: 15,
46810  loop: true,
46811  navigation: {
46812    nextEl: ".about-ratings__next",
46813    prevEl: ".about-ratings__prev",
46814  },
46815  breakpoints: {
46816    300: {
46817      slidesPerView: 1.1,
46818      spaceBetween: 10,
46819    },
46820
46821    767: {
46822      slidesPerView: 1.1,
46823      spaceBetween: 10,
46824    },
46825
46826    1023: {
46827      slidesPerView: 2,
46828      spaceBetween: 15,
46829    },
46830
46831    1439: {
46832      slidesPerView: 3,
46833      spaceBetween: 15,
46834    },
46835  },
46836});
46837
46838document.addEventListener("DOMContentLoaded", function () {
46839  // Получаем все элементы слайдов
46840  const slides = document.querySelectorAll(".about-history-slider__slide");
46841
46842  // Создаем множество для уникальных годов
46843  const yearsSet = new Set();
46844
46845  slides.forEach((slide) => {
46846    // Добавляем год в множество
46847    yearsSet.add(slide.dataset.year);
46848  });
46849
46850  // Получаем контейнер для годов
46851  const yearsContainer = document.querySelector(".about-history__years");
46852
46853  // Добавляем года в контейнер
46854  yearsSet.forEach((year) => {
46855    const yearElement = document.createElement("div");
46856    yearElement.classList.add("about-history__year");
46857    yearElement.textContent = year;
46858    yearElement.dataset.year = year; // Добавляем атрибут data-year для удобства
46859    yearsContainer.appendChild(yearElement);
46860  });
46861
46862  // Функция для обновления активного года
46863  function updateActiveYear() {
46864    let activeYear = $(".about-history-slider__slide.swiper-slide-active").attr(
46865      "data-year"
46866    );
46867
46868    $(".about-history__year").removeClass("is-active");
46869
46870    $(".about-history__years")
46871      .find(`.about-history__year[data-year=${activeYear}]`)
46872      .addClass("is-active");
46873  }
46874
46875  // Инициализируем Swiper с добавлением коллбека на изменение слайда
46876  var aboutRatingsSlider = new Swiper(".js-about-history-slider", {
46877    slidesPerView: 3,
46878    spaceBetween: 15,
46879    navigation: {
46880      nextEl: ".about-history__next",
46881      prevEl: ".about-history__prev",
46882    },
46883    breakpoints: {
46884      300: {
46885        slidesPerView: 1.1,
46886        spaceBetween: 10,
46887      },
46888
46889      767: {
46890        slidesPerView: 1.1,
46891        spaceBetween: 10,
46892      },
46893
46894      1023: {
46895        slidesPerView: 2,
46896        spaceBetween: 15,
46897      },
46898
46899      1439: {
46900        slidesPerView: 3,
46901        spaceBetween: 15,
46902      },
46903    },
46904  });
46905
46906  aboutRatingsSlider.on("slideChange", function () {
46907    setTimeout(() => {
46908      updateActiveYear();
46909    }, 100);
46910  });
46911
46912  // Инициализируем активный год при загрузке страницы
46913  updateActiveYear();
46914});
46915
46916document.addEventListener("DOMContentLoaded", function () {
46917  // Находим все галереи на странице
46918  const galleries = document.querySelectorAll(".about-history__gallery");
46919
46920  galleries.forEach((gallery) => {
46921    // Находим все элементы внутри галереи с классом about-history__img
46922    const items = gallery.querySelectorAll(".about-history__img");
46923    // Если элементов больше 3
46924    if (items.length > 3) {
46925      // Вычисляем количество оставшихся элементов после третьего
46926      const extraCount = items.length - 3;
46927      // Создаем новый span элемент
46928      const span = document.createElement("span");
46929      span.textContent = `Еще ${extraCount} фото`;
46930      // Добавляем этот span внутрь третьего элемента
46931      items[2].appendChild(span);
46932    }
46933  });
46934});
46935
46936var careerAboutSlider = new Swiper(".js-career-about-slider", {
46937  slidesPerView: 1.1,
46938  spaceBetween: 20,
46939  breakpoints: {
46940    300: {
46941      slidesPerView: 1.1,
46942      spaceBetween: 10,
46943    },
46944
46945    767: {
46946      slidesPerView: 2,
46947      spaceBetween: 16,
46948    },
46949
46950    1023: {
46951      slidesPerView: 4,
46952      spaceBetween: 20,
46953    },
46954
46955    1439: {
46956      slidesPerView: 5,
46957      spaceBetween: 20,
46958      mousewheel: {
46959        enabled: false, // Отключаем скролл слайдера
46960      },
46961      simulateTouch: false, // Отключаем скролл слайдера
46962      allowTouchMove: false, // Отключаем скролл слайдера
46963    },
46964  },
46965});
46966
46967var careerAdvantagesSlider = new Swiper(".js-career-advantages-slider", {
46968  slidesPerView: 1.1,
46969  spaceBetween: 20,
46970  navigation: {
46971    nextEl: ".career-advantages__next",
46972    prevEl: ".career-advantages__prev",
46973  },
46974  breakpoints: {
46975    300: {
46976      slidesPerView: 1.1,
46977      spaceBetween: 10,
46978    },
46979
46980    767: {
46981      slidesPerView: 2.1,
46982      spaceBetween: 16,
46983    },
46984
46985    1199: {
46986      slidesPerView: 3,
46987      spaceBetween: 20,
46988    },
46989
46990    1439: {
46991      slidesPerView: 3,
46992      spaceBetween: 20,
46993      // mousewheel: {
46994      //   enabled: false, // Отключаем скролл слайдера
46995      // },
46996      // simulateTouch: false, // Отключаем скролл слайдера
46997      // allowTouchMove: false, // Отключаем скролл слайдера
46998    },
46999  },
47000});
47001
47002$(".form__direction").select2({
47003  placeholder: "Не выбрано",
47004});
47005
47006$(".vacancies__head-filter").fancybox({
47007  baseClass: "fancy-righty",
47008  touch: false,
47009});
47010
47011$(".js-vacancies-filter-reset").on("click", function () {
47012  let groups = $(this)
47013    .closest(".vacancies__filter")
47014    .find(".vacancies-form__item");
47015
47016  groups.each(function () {
47017    console.log($(this).find("input").eq(0));
47018    $(this).find("input").eq(0).prop("checked", true);
47019  });
47020});
47021
47022$(".catalog-card").each(function () {
47023  let card = $(this);
47024
47025  let slider = card.find(".js-catalog-slider")[0];
47026  let pagination = card.find(".catalog-slider__pagination")[0];
47027
47028  var swiper = new Swiper(slider, {
47029    slidesPerView: 1,
47030    spaceBetween: 5,
47031    observeParents: true,
47032    observer: true,
47033    // new
47034    effect: "fade",
47035    fadeEffect: {
47036      crossFade: true,
47037    },
47038
47039    breakpoints: {
47040      300: {
47041        swipe: true,
47042        longSwipes: true,
47043        shortSwipes: true,
47044        followFinger: true,
47045        simulateTouch: true,
47046        allowTouchMove: true,
47047        touchStartPreventDefault: true,
47048        passiveListeners: true,
47049      },
47050
47051      1023: {
47052        swipe: false,
47053        longSwipes: false,
47054        shortSwipes: false,
47055        followFinger: false,
47056        simulateTouch: false,
47057        allowTouchMove: false,
47058        touchStartPreventDefault: false,
47059        passiveListeners: false,
47060      },
47061    },
47062
47063    // end new
47064
47065    pagination: {
47066      el: pagination,
47067      clickable: true,
47068    },
47069  });
47070
47071  card.find(".swiper-pagination-bullet").on("mouseenter", function () {
47072    let index = $(this).index();
47073    swiper.slideTo(index);
47074  });
47075
47076  card.find(".swiper-pagination-bullet").on("click", function () {
47077    let link = card.find(".catalog-card__name").attr("href");
47078    window.open(link, "_blank");
47079  });
47080});
47081
47082var swiper = new Swiper(".js-groups-slider", {
47083  slidesPerView: 6,
47084  spaceBetween: 16,
47085
47086  navigation: {
47087    nextEl: ".groups__next",
47088    prevEl: ".groups__prev",
47089  },
47090
47091  breakpoints: {
47092    300: {
47093      slidesPerView: 1.5,
47094      spaceBetween: 5,
47095    },
47096
47097    560: {
47098      slidesPerView: 2,
47099      spaceBetween: 5,
47100    },
47101
47102    768: {
47103      slidesPerView: 3,
47104      spaceBetween: 5,
47105    },
47106
47107    1023: {
47108      slidesPerView: 4,
47109      spaceBetween: 5,
47110    },
47111
47112    1199: {
47113      slidesPerView: 5,
47114      spaceBetween: 5,
47115    },
47116
47117    1439: {
47118      slidesPerView: 6,
47119      spaceBetween: 16,
47120    },
47121  },
47122});
47123
47124if ($(".js-select-location").length) {
47125  $(".js-select-location")
47126    .select2({
47127      placeholder: "Выберите значение",
47128      allowClear: true,
47129      dropdownPosition: "below",
47130    })
47131    .data("select2")
47132    .$dropdown.addClass("single-dropdown")
47133    .find(".select2-search__field")
47134    .prop("placeholder", "Поиск");
47135
47136  $(".js-select-location").on("change", function () {
47137    let value = $(this).val();
47138
47139    $(".js-select-trigger").removeClass("is-active");
47140    $(`.js-select-trigger[data-value=${value}]`).addClass("is-active");
47141  });
47142
47143  $(".catalog-form .js-select-location").on("change", function () {
47144    const btn = $(".catalog-form__btn.is-search");
47145
47146    if (btn) {
47147      btn.click();
47148    }
47149  });
47150}
47151
47152$(".js-select-location").on("select2:unselecting", function () {
47153  $(".js-select-trigger").removeClass("is-active");
47154});
47155
47156$(document).on("click", ".js-select-trigger", function () {
47157  if ($(this).hasClass("is-active")) {
47158    $(".js-select-trigger").removeClass("is-active");
47159    $(".js-select-location").prop("selectedIndex", 0).trigger("change");
47160
47161    return;
47162  }
47163
47164  var value = $(this).data("value");
47165  let select = $(this).parent().parent().find("select");
47166  select.val(value).trigger("change");
47167  $(".js-select-trigger").removeClass("is-active");
47168  $(this).addClass("is-active");
47169});
47170
47171let prettify = function (value) {
47172  return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, " ");
47173};
47174
47175$(".custom-dropdown__price-item").each(function () {
47176  $(this).on("click", function (e) {
47177    if (!$(e.target).is(".custom-dropdown__price-clear")) {
47178      let input = $(this).find("input").not("[type=hidden]");
47179      input.focus();
47180
47181      $(this)
47182        .find("input")
47183        .not("[type=hidden]")
47184        .on("input", function () {
47185          var value = $(this).val();
47186
47187          var formattedValue = value
47188            .replace(/\D/g, "")
47189            .replace(/\B(?=(\d{3})+(?!\d))/g, " ");
47190          $(this).val(formattedValue);
47191
47192          $(this)
47193            .parent()
47194            .find("input[type=hidden]")
47195            .val(formattedValue.replace(/\D/g, ""))
47196            .trigger("change");
47197        });
47198    }
47199  });
47200});
47201
47202$(".js-custom-dropdown").each(function () {
47203  let trigger = $(this).find(".custom-dropdown__input-wrapper");
47204  let hidden = $(this).find(".custom-dropdown__hidden");
47205  let self = $(this);
47206
47207  let search = self.find(".js-dropdown-checkbox-search");
47208
47209  $(document).on("click", trigger, function (e) {
47210    if (
47211      !$(e.target).is(self.find(".custom-dropdown__clear")) &&
47212      trigger.has(e.target).length
47213    ) {
47214      hidden.toggleClass("is-active");
47215
47216      if (search) {
47217        search.focus();
47218      }
47219    }
47220
47221    if (!self.has(e.target).length && !hidden.has(e.target).length) {
47222      hidden.removeClass("is-active");
47223    }
47224  });
47225});
47226
47227$(".js-price-select-trigger").on("click", function () {
47228  let min = $(this).data("start");
47229  let max = $(this).data("end");
47230
47231  if ($(this).hasClass("is-active")) {
47232    max = $(".js-price-range").data("ionRangeSlider").options.max;
47233    min = $(".js-price-range").data("ionRangeSlider").options.min;
47234
47235    $(".js-price-range").data("ionRangeSlider").update({
47236      from: min,
47237      to: max,
47238    });
47239
47240    $(".js-price-total").prop(
47241      "value",
47242      prettify(min) + " ₽" + " - " + prettify(max) + " ₽"
47243    );
47244    $(".js-price-from").prop("value", prettify(min));
47245    $(".js-price-to").prop("value", prettify(max));
47246    $(".js-price-from-hidden").prop("value", min);
47247    $(".js-price-to-hidden").prop("value", max);
47248
47249    $(".js-price-select-trigger").removeClass("is-active");
47250
47251    return;
47252  }
47253
47254  if (max === "max") {
47255    max = $(".js-price-range").data("ionRangeSlider").options.max;
47256  }
47257
47258  $(".js-price-range").data("ionRangeSlider").update({
47259    from: min,
47260    to: max,
47261  });
47262
47263  $(".js-price-total").prop(
47264    "value",
47265    prettify(min) + " ₽" + " - " + prettify(max) + " ₽"
47266  );
47267  $(".js-price-from").prop("value", prettify(min));
47268  $(".js-price-to").prop("value", prettify(max));
47269  $(".js-price-from-hidden").prop("value", min);
47270  $(".js-price-to-hidden").prop("value", max);
47271
47272  $(".js-price-select-trigger").removeClass("is-active");
47273  $(this).addClass("is-active");
47274});
47275
47276$(".js-price-from-reset").on("click", function () {
47277  let min = $(".js-price-range").data("ionRangeSlider").options.min;
47278  let max = $(".js-price-to-hidden").val();
47279
47280  $(".js-price-range").each(function () {
47281    $(this).data("ionRangeSlider").update({
47282      from: min,
47283      to: max,
47284    });
47285  });
47286
47287  $(".js-price-total").prop(
47288    "value",
47289    prettify(min) + " ₽" + " - " + prettify(max) + " ₽"
47290  );
47291
47292  $(".js-price-from").prop("value", prettify(min));
47293  $(".js-price-from-hidden").prop("value", min);
47294});
47295
47296$(".js-price-to-reset").on("click", function () {
47297  let min = $(".js-price-from-hidden").val();
47298  let max = $(".js-price-range").data("ionRangeSlider").options.max;
47299
47300  $(".js-price-range").data("ionRangeSlider").update({
47301    from: min,
47302    to: max,
47303  });
47304
47305  $(".js-price-total").prop(
47306    "value",
47307    prettify(min) + " ₽" + " - " + prettify(max) + " ₽"
47308  );
47309  console.log("change");
47310  $(".js-price-to").prop("value", prettify(max));
47311  $(".js-price-to-hidden").prop("value", max);
47312});
47313
47314$(".js-area-select-trigger").on("click", function () {
47315  let min = $(this).data("start");
47316  let max = $(this).data("end");
47317
47318  if ($(this).hasClass("is-active")) {
47319    max = $(".js-area-range").data("ionRangeSlider").options.max;
47320    min = $(".js-area-range").data("ionRangeSlider").options.min;
47321
47322    $(".js-area-range").data("ionRangeSlider").update({
47323      from: min,
47324      to: max,
47325    });
47326
47327    $(".js-area-total").prop(
47328      "value",
47329      prettify(min) + " м²" + " - " + prettify(max) + " м²"
47330    );
47331    console.log("change");
47332    $(".js-area-from").prop("value", prettify(min));
47333    $(".js-area-to").prop("value", prettify(max));
47334    $(".js-area-from-hidden").prop("value", min);
47335    $(".js-area-to-hidden").prop("value", max);
47336
47337    $(".js-area-select-trigger").removeClass("is-active");
47338
47339    return;
47340  }
47341
47342  if (max === "max") {
47343    max = $(".js-area-range").data("ionRangeSlider").options.max;
47344  }
47345
47346  $(".js-area-range").data("ionRangeSlider").update({
47347    from: min,
47348    to: max,
47349  });
47350
47351  $(".js-area-total").prop(
47352    "value",
47353    prettify(min) + " м²" + " - " + prettify(max) + " м²"
47354  );
47355  console.log("change");
47356  $(".js-area-from").prop("value", prettify(min));
47357  $(".js-area-to").prop("value", prettify(max));
47358  $(".js-area-from-hidden").prop("value", min);
47359  $(".js-area-to-hidden").prop("value", max);
47360
47361  $(".js-area-select-trigger").removeClass("is-active");
47362  $(this).addClass("is-active");
47363});
47364
47365$(".js-area-from-reset").on("click", function () {
47366  let min = $(".js-area-range").data("ionRangeSlider").options.min;
47367  let max = $(".js-area-to-hidden").val();
47368
47369  $(".js-area-range").data("ionRangeSlider").update({
47370    from: min,
47371    to: max,
47372  });
47373
47374  $(".js-area-total").prop(
47375    "value",
47376    prettify(min) + " м²" + " - " + prettify(max) + " м²"
47377  );
47378  $(".js-area-from").prop("value", prettify(min));
47379  $(".js-area-from-hidden").prop("value", min);
47380});
47381
47382$(".js-area-to-reset").on("click", function () {
47383  let min = $(".js-area-from-hidden").val();
47384  let max = $(".js-area-range").data("ionRangeSlider").options.max;
47385
47386  $(".js-area-range").each(function () {
47387    $(this).data("ionRangeSlider").update({
47388      from: min,
47389      to: max,
47390    });
47391  });
47392
47393  $(".js-area-total").prop(
47394    "value",
47395    prettify(min) + " м²" + " - " + prettify(max) + " м²"
47396  );
47397
47398  console.log(min);
47399  console.log(max);
47400
47401  $(".js-area-to").prop("value", prettify(max));
47402  $(".js-area-to-hidden").prop("value", max);
47403});
47404
47405let checkedCountFunc = function (elem, input) {
47406  let checkedCount = elem.find("input[type=checkbox]:checked").length;
47407  let checksCount = elem.find("input[type=checkbox]").length;
47408
47409  if (checksCount === checkedCount) {
47410    input.val("Все");
47411    $(".js-status-trigger").addClass("is-active");
47412  } else if (checkedCount === 1) {
47413    input.val(elem.find("input[type=checkbox]").parent().text().trim());
47414    $(`.js-status-trigger[data-value=all`).removeClass("is-active");
47415  } else {
47416    if (checkedCount === 0) {
47417      $(".js-status-trigger").removeClass("is-active");
47418    }
47419
47420    input.val("Выбрано (" + checkedCount + ")");
47421  }
47422};
47423
47424$(".js-checkbox-dropdown").each(function () {
47425  let self = $(this);
47426  let textInput = self.find(".custom-dropdown__input");
47427  let hidden = $(this).find(".custom-dropdown__hidden");
47428  let checks = hidden.find("input[type=checkbox]");
47429
47430  checkedCountFunc(hidden, textInput);
47431
47432  checks.each(function () {
47433    let value = $(this).attr("data-value");
47434
47435    if ($(this).is(":checked")) {
47436      $(`.js-status-trigger[data-value=${value}]`).addClass("is-active");
47437    }
47438
47439    $(this).on("change", function () {
47440      checkedCountFunc(hidden, textInput);
47441      const btn = $(".catalog-form__btn.is-search");
47442      if (btn) {
47443        btn.click();
47444      }
47445
47446      if ($(this).is(":checked")) {
47447        $(`.js-status-trigger[data-value=${value}]`).addClass("is-active");
47448        $(`.custom-check__hidden[type=checkbox][data-value=${value}]`).prop(
47449          "checked",
47450          true
47451        );
47452      } else {
47453        $(`.js-status-trigger[data-value=${value}]`).removeClass("is-active");
47454        $(`.custom-check__hidden[type=checkbox][data-value=${value}]`).prop(
47455          "checked",
47456          false
47457        );
47458      }
47459    });
47460  });
47461});
47462
47463$(".js-filter-check").each(function () {
47464  let value = $(this).attr("data-value");
47465
47466  $(this).on("change", function () {
47467    if ($(this).is(":checked")) {
47468      $(`.js-status-trigger[data-value=${value}]`).addClass("is-active");
47469      $(`.custom-check__hidden[type=checkbox][data-value=${value}]`).prop(
47470        "checked",
47471        true
47472      );
47473    } else {
47474      $(`.js-status-trigger[data-value=${value}]`).removeClass("is-active");
47475      $(`.custom-check__hidden[type=checkbox][data-value=${value}]`).prop(
47476        "checked",
47477        false
47478      );
47479    }
47480  });
47481});
47482
47483$(".js-dropdown-checkbox-reset").on("click", function () {
47484  let parent = $(this).parent().parent();
47485  let checks = parent.find("input[type=checkbox]");
47486
47487  checks.prop("checked", false).trigger("change");
47488});
47489
47490$(".js-dropdown-checkbox-all").on("click", function () {
47491  let parent = $(this).closest(".custom-checkgroup__bottom");
47492  let checks = parent.find("input[type=checkbox]");
47493
47494  checks.prop("checked", true).trigger("change");
47495});
47496
47497$(".js-status-trigger").on("click", function () {
47498  let value = $(this).attr("data-value");
47499
47500  if (value === "all") {
47501    if ($(this).hasClass("is-active")) {
47502      $(".js-status-trigger").removeClass("is-active");
47503      $(`input[data-value]`).prop("checked", false).trigger("change");
47504
47505      return;
47506    }
47507
47508    $(".js-status-trigger").addClass("is-active");
47509    $(`input[data-value]`).prop("checked", true).trigger("change");
47510  } else {
47511    if ($(this).hasClass("is-active")) {
47512      $(this).removeClass("is-active");
47513      $(`input[data-value=${value}]`).prop("checked", false).trigger("change");
47514
47515      return;
47516    }
47517
47518    $(this).addClass("is-active");
47519    $(`input[data-value=${value}]`).prop("checked", true).trigger("change");
47520  }
47521});
47522
47523$(".js-sort-trigger").each(function () {
47524  let self = $(this);
47525  let sort = $(this).find(".js-sort");
47526
47527  $(document).on("click", self, function (e) {
47528    if ($(e.target).is(self)) {
47529      sort.toggleClass("is-active");
47530    }
47531
47532    if (!$(e.target).is(self) && !self.has(e.target).length) {
47533      sort.removeClass("is-active");
47534    }
47535  });
47536});
47537
47538$(document).ready(function () {
47539  $(".js-dropdown-checkbox-search").each(function () {
47540    let checks = $(this).closest(".custom-checkgroup").find(".custom-check");
47541    let searchValue, value;
47542    $(this).on("keyup", function () {
47543      value = $(this).val().toLowerCase();
47544      checks.filter(function () {
47545        searchValue = $(this).text().toLowerCase().replace(/[0-9]/g, "");
47546        $(this).toggle(searchValue.indexOf(value) > -1);
47547      });
47548
47549      if (searchValue.indexOf(value) > -1 === false) {
47550        $(".js-dropdown-search-alert").css("display", "block");
47551      } else {
47552        $(".js-dropdown-search-alert").css("display", "none");
47553      }
47554    });
47555  });
47556});
47557
47558$(".js-catalog-share").on("click", function () {
47559  let currentLocation = document.URL;
47560  let copyArea = document.querySelector(".js-share-input");
47561
47562  copyArea.value = currentLocation;
47563});
47564
47565$(".js-share-copy").on("click", function () {
47566  let currentLocation = document.URL;
47567  navigator.clipboard.writeText(currentLocation).then(function () {
47568    $(".share-modal__message").addClass("is-visible");
47569    setTimeout(function () {
47570      $(".share-modal__message").removeClass("is-visible");
47571    }, 500);
47572  });
47573});
47574
47575$(".js-catalog-share").fancybox({
47576  src: "#share-modal",
47577  autoFocus: false,
47578  baseClass: "fancy-basic",
47579});
47580
47581$(".js-catalog-filter-btn").fancybox({
47582  autoFocus: false,
47583  baseClass: "fancy-right",
47584  touch: false,
47585});
47586
47587$(document).ready(function () {
47588  let heading = $(".js-catalog-title");
47589  if (heading.length) {
47590    let startTitle = heading.text().trim();
47591  }
47592
47593  $(".catalog-subcategories__label").on("click", function () {
47594    if ($(this).hasClass("is-active")) {
47595      $(this).removeClass("is-active");
47596      // if(heading.length) {
47597      //     heading.text(startTitle);
47598      // }
47599
47600      return;
47601    }
47602
47603    $(".catalog-subcategories__label").removeClass("is-active");
47604    $(this).addClass("is-active");
47605
47606    // if(heading.length) {
47607    //     heading.text($(this).find('.catalog-subcategories__label-main').text().trim())
47608    // }
47609  });
47610});
47611
47612$(document).ready(function () {
47613  var $range = $(".js-year-range");
47614  var $inputFrom = $(".js-year-from");
47615  var $inputTo = $(".js-year-to");
47616  var instance;
47617  var min = 1800;
47618  var max = 2024;
47619  var from = 1900;
47620  var to = 1965;
47621
47622  $range.ionRangeSlider({
47623    skin: "round",
47624    type: "double",
47625    min: min,
47626    max: max,
47627    from: 1900,
47628    to: 1965,
47629    hide_min_max: true,
47630    hide_from_to: true,
47631    onStart: updateInputs,
47632    onChange: updateInputs,
47633    onFinish: updateInputs,
47634  });
47635
47636  instance = $range.data("ionRangeSlider");
47637
47638  function updateInputs(data) {
47639    from = data.from;
47640    to = data.to;
47641
47642    $inputFrom.prop("value", prettify(from));
47643    $inputTo.prop("value", prettify(to));
47644  }
47645});
47646
47647$(".js-year-from-reset").on("click", function () {
47648  let min = $(".js-year-range").data("ionRangeSlider").options.min;
47649  let max = $(".js-year-to-hidden").val();
47650
47651  $(".js-year-range").data("ionRangeSlider").update({
47652    from: min,
47653    to: max,
47654  });
47655
47656  $(".js-year-from").prop("value", prettify(min));
47657});
47658
47659$(".js-year-to-reset").on("click", function () {
47660  let min = $(".js-year-from-hidden").val();
47661  let max = $(".js-year-range").data("ionRangeSlider").options.max;
47662
47663  $(".js-year-range").data("ionRangeSlider").update({
47664    from: min,
47665    to: max,
47666  });
47667
47668  $(".js-year-to").prop("value", prettify(max));
47669});
47670
47671$(document).ready(function () {
47672  var $range = $(".js-floor-range");
47673  var $inputFrom = $(".js-floor-from");
47674  var $inputTo = $(".js-floor-to");
47675  var instance;
47676  var min = 1;
47677  var max = 99;
47678  var from = 5;
47679  var to = 50;
47680
47681  $range.ionRangeSlider({
47682    skin: "round",
47683    type: "double",
47684    min: min,
47685    max: max,
47686    from: 5,
47687    to: 50,
47688    hide_min_max: true,
47689    hide_from_to: true,
47690    onStart: updateInputs,
47691    onChange: updateInputs,
47692    onFinish: updateInputs,
47693  });
47694
47695  instance = $range.data("ionRangeSlider");
47696
47697  function updateInputs(data) {
47698    from = data.from;
47699    to = data.to;
47700
47701    $inputFrom.prop("value", prettify(from));
47702    $inputTo.prop("value", prettify(to));
47703  }
47704});
47705
47706$(".js-floor-from-reset").on("click", function () {
47707  let min = $(".js-floor-range").data("ionRangeSlider").options.min;
47708  let max = $(".js-floor-to-hidden").val();
47709
47710  $(".js-floor-range").data("ionRangeSlider").update({
47711    from: min,
47712    to: max,
47713  });
47714
47715  $(".js-floor-from").prop("value", prettify(min));
47716});
47717
47718$(".js-floor-to-reset").on("click", function () {
47719  let min = $(".js-floor-from-hidden").val();
47720  let max = $(".js-floor-range").data("ionRangeSlider").options.max;
47721
47722  $(".js-floor-range").data("ionRangeSlider").update({
47723    from: min,
47724    to: max,
47725  });
47726
47727  $(".js-floor-to").prop("value", prettify(max));
47728});
47729
47730$(document).ready(function () {
47731  var $range = $(".js-floorcount-range");
47732  var $inputFrom = $(".js-floorcount-from");
47733  var $inputTo = $(".js-floorcount-to");
47734  var instance;
47735  var min = 1;
47736  var max = 99;
47737  var from = 5;
47738  var to = 50;
47739
47740  $range.ionRangeSlider({
47741    skin: "round",
47742    type: "double",
47743    min: min,
47744    max: max,
47745    from: 5,
47746    to: 50,
47747    hide_min_max: true,
47748    hide_from_to: true,
47749    onStart: updateInputs,
47750    onChange: updateInputs,
47751    onFinish: updateInputs,
47752  });
47753
47754  instance = $range.data("ionRangeSlider");
47755
47756  function updateInputs(data) {
47757    from = data.from;
47758    to = data.to;
47759
47760    $inputFrom.prop("value", prettify(from));
47761    $inputTo.prop("value", prettify(to));
47762  }
47763});
47764
47765$(".js-floorcount-from-reset").on("click", function () {
47766  let min = $(".js-floorcount-range").data("ionRangeSlider").options.min;
47767  let max = $(".js-floorcount-to-hidden").val();
47768
47769  $(".js-floorcount-range").data("ionRangeSlider").update({
47770    from: min,
47771    to: max,
47772  });
47773
47774  $(".js-floorcount-from").prop("value", prettify(min));
47775});
47776
47777$(".js-floorcount-to-reset").on("click", function () {
47778  let min = $(".js-floorcount-from-hidden").val();
47779  let max = $(".js-floorcount-range").data("ionRangeSlider").options.max;
47780
47781  $(".js-floorcount-range").data("ionRangeSlider").update({
47782    from: min,
47783    to: max,
47784  });
47785
47786  $(".js-floorcount-to").prop("value", prettify(max));
47787});
47788
47789$(".catalog-filter__item-head").on("click", function () {
47790  $(this).parent().find(".catalog-filter__item-hidden").slideToggle();
47791  $(this).toggleClass("is-active");
47792});
47793
47794// $(document).ready(function() {
47795//     var $range = $(".js-area-range");
47796//     var $inputFrom = $(".js-area-from");
47797//     var $inputTo = $(".js-area-to");
47798//     var instance;
47799//     var min = 0;
47800//     var max = 1000;
47801//     var from = 0;
47802//     var to = 0;
47803
47804//     $range.ionRangeSlider({
47805//         skin: "round",
47806//         type: "double",
47807//         min: min,
47808//         max: max,
47809//         from: 0,
47810//         to: 10000,
47811//         hide_min_max: true,
47812//         hide_from_to: true,
47813//         onStart: updateInputs,
47814//         onChange: updateInputs,
47815//         onFinish: updateInputs
47816//     });
47817
47818//     instance = $range.data("ionRangeSlider");
47819
47820//     function updateInputs (data) {
47821//         from = data.from;
47822//         to = data.to;
47823
47824//         $inputFrom.prop("value", prettify(from));
47825//         $inputTo.prop("value", prettify(to) );
47826
47827//         $(".js-area-total").prop("value", prettify(from) + '  м²' + ' - ' + prettify(to) + '  м²');
47828
47829//         $('.js-area-from-hidden').prop("value", from);
47830//         $('.js-area-to-hidden').prop("value", to);
47831//     }
47832
47833//     $('.js-area-from').on("input", function () {
47834//         var val = $(this).prop("value");
47835
47836//         // validate
47837//         if (val < min) {
47838//             val = min;
47839//         } else if (val > to) {
47840//             val = to;
47841//         }
47842
47843//         instance.update({
47844//             from: val
47845//         });
47846//         $(".js-area-total").prop("value", prettify(val) + '  м²' + ' - ' + prettify(to) + '  м²');
47847//         $(this).prop("value", val);
47848
47849//     });
47850
47851//     $('.js-area-to').on("input", function () {
47852//         var val = $(this).prop("value");
47853
47854//         // validate
47855//         if (val < from) {
47856//             val = from;
47857//         } else if (val > max) {
47858//             val = max;
47859//         }
47860
47861//         instance.update({
47862//             to: val
47863//         });
47864//         $(".js-area-total").prop("value", prettify(from) + '  м²' + ' - ' + prettify(val) + '  м²');
47865//         $(this).prop("value", val);
47866//     });
47867// });
47868
47869$(".js-price-to-reset").on("click", function () {
47870  let min = $(".js-price-from-hidden").val();
47871  let max = $(".js-price-range").data("ionRangeSlider").options.max;
47872
47873  $(".js-price-range").data("ionRangeSlider").update({
47874    from: min,
47875    to: max,
47876  });
47877
47878  $(".js-price-to").prop("value", prettify(max));
47879  $(".js-price-to-hidden").prop("value", max);
47880});
47881
47882$(".js-filter-reset").on("click", function () {
47883  let form = $(this).closest("form");
47884
47885  form.find(".js-dropdown-checkbox-reset").trigger("click");
47886  form.find("select").val("").trigger("change");
47887
47888  form.find(".js-price-range").each(function () {
47889    var slider = $(this).data("ionRangeSlider");
47890    let min = slider.options.min;
47891    let max = slider.options.max;
47892    slider.update({
47893      from: min,
47894      to: max,
47895    });
47896
47897    form.find(".js-price-from").prop("value", prettify(min));
47898    form.find(".js-price-to").prop("value", prettify(max));
47899    form.find(".js-price-from-hidden").prop("value", min);
47900    form.find(".js-price-to-hidden").prop("value", max);
47901  });
47902
47903  form.find(".js-area-range").each(function () {
47904    var slider = $(this).data("ionRangeSlider");
47905    let min = slider.options.min;
47906    let max = slider.options.max;
47907    slider.update({
47908      from: min,
47909      to: max,
47910    });
47911
47912    form.find(".js-area-from").prop("value", prettify(min));
47913    form.find(".js-area-to").prop("value", prettify(max));
47914    form.find(".js-area-from-hidden").prop("value", min);
47915    form.find(".js-area-to-hidden").prop("value", max);
47916  });
47917
47918  form.find(".js-year-range").each(function () {
47919    var slider = $(this).data("ionRangeSlider");
47920    let min = slider.options.min;
47921    let max = slider.options.max;
47922    slider.update({
47923      from: min,
47924      to: max,
47925    });
47926
47927    form.find(".js-year-from").prop("value", prettify(min));
47928    form.find(".js-year-to").prop("value", prettify(max));
47929  });
47930
47931  form.find(".js-floor-range").each(function () {
47932    var slider = $(this).data("ionRangeSlider");
47933    let min = slider.options.min;
47934    let max = slider.options.max;
47935    slider.update({
47936      from: min,
47937      to: max,
47938    });
47939
47940    form.find(".js-floor-from").prop("value", prettify(min));
47941    form.find(".js-floor-to").prop("value", prettify(max));
47942  });
47943
47944  form.find(".js-floorcount-range").each(function () {
47945    var slider = $(this).data("ionRangeSlider");
47946    let min = slider.options.min;
47947    let max = slider.options.max;
47948    slider.update({
47949      from: min,
47950      to: max,
47951    });
47952
47953    form.find(".js-floorcount-from").prop("value", prettify(min));
47954    form.find(".js-floorcount-to").prop("value", prettify(max));
47955  });
47956});
47957
47958$(document).on("click", ".categories-accordeon__head", function () {
47959  $(this).parent().find(".categories-accordeon__hidden").slideToggle();
47960  $(this).toggleClass("is-active");
47961});
47962
47963$(".category__select").select2({
47964  placeholder: "Не выбрано",
47965});
47966
47967var digestSlider = new Swiper(".js-digest-slider", {
47968  slidesPerView: 4,
47969  spaceBetween: 30,
47970  breakpoints: {
47971    300: {
47972      slidesPerView: 1.1,
47973      spaceBetween: 10,
47974    },
47975
47976    767: {
47977      slidesPerView: 2,
47978      spaceBetween: 16,
47979    },
47980
47981    1023: {
47982      slidesPerView: 3,
47983      spaceBetween: 20,
47984    },
47985
47986    1439: {
47987      slidesPerView: 4,
47988      spaceBetween: 30,
47989      mousewheel: {
47990        enabled: false, // Отключаем скролл слайдера
47991      },
47992      simulateTouch: false, // Отключаем скролл слайдера
47993      allowTouchMove: false, // Отключаем скролл слайдера
47994    },
47995  },
47996});
47997document.addEventListener("DOMContentLoaded", function () {
47998  function moveBlock() {
47999    var docsFilterHidden = document.querySelector(".docs-filter__hidden");
48000    var docsHead = document.querySelector(".docs__head");
48001    var docsFilter = document.querySelector(".docs-filter");
48002
48003    // Проверяем, существуют ли необходимые элементы на странице
48004    if (docsFilterHidden && docsHead && docsFilter) {
48005      if (window.innerWidth < 1024) {
48006        docsHead.insertAdjacentElement("afterend", docsFilterHidden);
48007      } else {
48008        docsFilter.appendChild(docsFilterHidden);
48009      }
48010    }
48011  }
48012
48013  // Вызов функции при загрузке страницы
48014  moveBlock();
48015
48016  // Вызов функции при изменении размера окна
48017  window.addEventListener("resize", moveBlock);
48018});
48019
48020$(document).on("click", ".docs-filter__btn", function () {
48021  $(this).toggleClass("is-active");
48022  $(".docs-filter__hidden").toggleClass("is-active");
48023});
48024
48025$(document).ready(function () {
48026  if ($(".js-date").length == 1) {
48027    function setToday() {
48028      let today = new Date();
48029
48030      let todayYear = today.getFullYear();
48031      let todayMonth = today.getMonth() + 1;
48032      let todayDay = today.getDate();
48033
48034      if (todayDay <= 9) {
48035        todayDay = "0" + todayDay;
48036      }
48037
48038      if (todayMonth <= 9) {
48039        todayMonth = "0" + todayMonth;
48040      }
48041
48042      if (todayMonth > 12) {
48043        todayMonth = "01";
48044      }
48045
48046      today = `${todayDay}.${todayMonth}.${todayYear}`;
48047
48048      return today;
48049    }
48050
48051    let today = setToday();
48052
48053    $("input.js-date")
48054      .dateRangePicker({
48055        separator: " - ",
48056        alwaysOpen: false,
48057        singleMonth: true,
48058        autoClose: true,
48059        singleDate: true,
48060        language: "ru",
48061        monthSelect: true,
48062        yearSelect: [1925, moment().get("year")],
48063        showShortcuts: false,
48064        showTopbar: false,
48065        format: "DD.MM.YYYY",
48066        startOfWeek: "monday",
48067        customArrowPrevSymbol: '<span class="arrow arrow-left"></span>',
48068        customArrowNextSymbol: '<span class="arrow arrow-right"></span>',
48069        endDate: moment(),
48070      })
48071      .bind("datepicker-first-date-selected", function (event, obj) {
48072        $(this).attr("data-date", moment(obj.date1).format("DD.MM.YYYY"));
48073        $(this).trigger("change");
48074      });
48075  }
48076});
48077
48078$("input.js-date").on("change", function () {
48079  $(this).val($(this).attr("data-date"));
48080});
48081
48082$(".footer-location__select").select2({
48083  minimumResultsForSearch: Infinity,
48084});
48085
48086let isStoryProgressActive = false; // Флаг для управления прогрессом
48087let animationFrameId = null; // Переменная для хранения requestAnimationFrame
48088let nextTimeoutId = null; // Переменная для хранения setTimeout
48089
48090document.querySelectorAll(".stories-item").forEach((storiesItem) => {
48091  const pagination = document.createElement("div");
48092  pagination.classList.add("stories-item__pagination");
48093
48094  const slides = storiesItem.querySelectorAll(".stories-item-slider__slide");
48095  const slideCount = slides.length;
48096
48097  pagination.setAttribute(
48098    "style",
48099    `grid-template-columns: repeat(${slideCount}, 1fr);`
48100  );
48101
48102  slides.forEach(() => {
48103    const paginationItem = document.createElement("div");
48104    paginationItem.classList.add("stories-item__pagination-item");
48105
48106    const innerDiv = document.createElement("div");
48107
48108    paginationItem.appendChild(innerDiv);
48109
48110    pagination.appendChild(paginationItem);
48111  });
48112
48113  storiesItem.appendChild(pagination);
48114});
48115
48116let sliderElements = $(".stories__body").html();
48117console.log(sliderElements);
48118
48119// $(document).on("click", ".actual-slider__link", function () {
48120//   let slideId = $(this).attr("data-slide");
48121
48122//   let storiesSlider = new Swiper(".js-stories-slider", {
48123//     slidesPerView: 1,
48124//     initialSlide: slideId,
48125//     observeParents: true,
48126//     observer: true,
48127//     centeredSlides: true,
48128//     mousewheel: {
48129//       enabled: false,
48130//     },
48131//     simulateTouch: false,
48132//     allowTouchMove: false,
48133//     breakpoints: {
48134//       300: {
48135//         slidesPerView: 1,
48136//       },
48137
48138//       767: {
48139//         slidesPerView: 1,
48140//       },
48141
48142//       1023: {
48143//         slidesPerView: 1,
48144//       },
48145
48146//       1439: {
48147//         slidesPerView: 3,
48148//         spaceBetween: 22,
48149//       },
48150//     },
48151//   });
48152
48153//   let wrappers = document.querySelectorAll(".stories-slider__item");
48154
48155//   wrappers.forEach(function (wrapper) {
48156//     let slider = wrapper.querySelector(".js-stories-item-slider");
48157//     let next = wrapper.querySelector(".stories__next");
48158//     let prev = wrapper.querySelector(".stories__prev");
48159
48160//     let storiesItemSlider = new Swiper(slider, {
48161//       slidesPerView: 1,
48162//       effect: "fade",
48163//       observeParents: true,
48164//       observer: true,
48165//       mousewheel: {
48166//         enabled: false,
48167//       },
48168//       fadeEffect: {
48169//         crossFade: true,
48170//       },
48171//       simulateTouch: false,
48172//       allowTouchMove: false,
48173//     });
48174
48175//     function stopStoryProgress() {
48176//       isStoryProgressActive = false;
48177//       if (animationFrameId) {
48178//         cancelAnimationFrame(animationFrameId);
48179//       }
48180//       if (nextTimeoutId) {
48181//         clearTimeout(nextTimeoutId);
48182//       }
48183//     }
48184
48185//     next.addEventListener("click", function () {
48186//       stopStoryProgress(); // Остановить прогресс
48187//       setTimeout(() => {
48188//         updateStoryProgress();
48189//       }, 100);
48190//       let slidesCount =
48191//         slider.querySelectorAll(".stories-item-slider__slide").length - 1;
48192//       let activeSlide = storiesItemSlider.activeIndex;
48193
48194//       if (slidesCount === activeSlide) {
48195//         storiesSlider.slideNext();
48196//       } else {
48197//         storiesItemSlider.slideNext();
48198//       }
48199//     });
48200
48201//     prev.addEventListener("click", function () {
48202//       stopStoryProgress(); // Остановить прогресс
48203//       setTimeout(() => {
48204//         updateStoryProgress();
48205//       }, 100);
48206//       let activeSlide = storiesItemSlider.activeIndex;
48207
48208//       if (0 === activeSlide) {
48209//         storiesSlider.slidePrev();
48210//       } else {
48211//         storiesItemSlider.slidePrev();
48212//       }
48213//     });
48214//   });
48215
48216//   $(".stories").addClass("is-active");
48217
48218//   function updateStoryProgress() {
48219//     isStoryProgressActive = true;
48220//     let activeSlide = document.querySelector(
48221//       ".stories-slider__slide.swiper-slide-active"
48222//     );
48223
48224//     if (activeSlide) {
48225//       let storySlides = activeSlide.querySelectorAll(
48226//         ".stories-item-slider__slide"
48227//       );
48228//       let activeStorySlideIndex = Array.from(storySlides).findIndex((slide) =>
48229//         slide.classList.contains("swiper-slide-active")
48230//       );
48231
48232//       if (activeStorySlideIndex !== -1) {
48233//         let paginationItems = activeSlide.querySelectorAll(
48234//           ".stories-item__pagination .stories-item__pagination-item div"
48235//         );
48236
48237//         // Обновляем ширину для предыдущих и следующих элементов пагинации
48238//         paginationItems.forEach((item, index) => {
48239//           if (index < activeStorySlideIndex) {
48240//             item.style.width = "100%";
48241//           } else if (index === activeStorySlideIndex) {
48242//             item.style.width = "0%"; // Будет изменяться в процессе анимации
48243//           } else {
48244//             item.style.width = "0%";
48245//           }
48246//         });
48247
48248//         let paginationBlock = paginationItems[activeStorySlideIndex];
48249
48250//         if (paginationBlock) {
48251//           let startTime = Date.now();
48252//           let duration = 4500;
48253
48254//           function animateWidth() {
48255//             if (!isStoryProgressActive) return; // Проверка активности прогресса
48256//             let currentTime = Date.now();
48257//             let elapsedTime = currentTime - startTime;
48258//             let progress = Math.min(elapsedTime / duration, 1);
48259
48260//             paginationBlock.style.width = progress * 100 + "%";
48261
48262//             if (progress < 1) {
48263//               animationFrameId = requestAnimationFrame(animateWidth);
48264//             }
48265//           }
48266
48267//           animationFrameId = requestAnimationFrame(animateWidth);
48268//         }
48269//       }
48270
48271//       let nextButton = activeSlide.querySelector(".stories__next");
48272//       if (nextButton) {
48273//         // Получаем все слайды
48274//         let ssSlides = document.querySelectorAll(".stories-slider__slide");
48275//         let sisSlides = document.querySelectorAll(
48276//           ".stories-slider__slide.swiper-slide-active .stories-item-slider__slide"
48277//         );
48278
48279//         // Находим активные слайды
48280//         let ssSlideActive = document.querySelector(
48281//           ".stories-slider__slide.swiper-slide-active"
48282//         );
48283//         let sisSlideActive = document.querySelector(
48284//           ".stories-slider__slide.swiper-slide-active .stories-item-slider__slide.swiper-slide-active"
48285//         );
48286
48287//         // Получаем порядковые номера активных слайдов
48288//         let ssSlideActiveIndex = Array.from(ssSlides).indexOf(ssSlideActive);
48289//         let sisSlideActiveIndex = Array.from(sisSlides).indexOf(sisSlideActive);
48290
48291//         if (
48292//           ssSlides.length - 1 === ssSlideActiveIndex &&
48293//           sisSlides.length - 1 === sisSlideActiveIndex
48294//         ) {
48295//           console.log("done");
48296//         } else {
48297//           nextTimeoutId = setTimeout(function () {
48298//             nextButton.click();
48299//           }, 5000);
48300//         }
48301//       }
48302//     }
48303//   }
48304
48305//   updateStoryProgress();
48306// });
48307
48308$(document).on("click", ".stories__close", function () {
48309  $(".stories").removeClass("is-active");
48310  /* location.reload(false); */
48311  $(".stories__slider").remove();
48312  $(".stories__body").append(sliderElements);
48313});
48314$(".form__select").select2({
48315  placeholder: "Не выбрано",
48316  allowClear: true,
48317  minimumResultsForSearch: Infinity,
48318});
48319
48320$("input[type=tel]").mask("+7 (999) 999-99-99");
48321document.addEventListener("DOMContentLoaded", function () {
48322  const links = document.querySelectorAll(".header-services__link.is-arrow");
48323  const contents = document.querySelectorAll(".header-services__content");
48324
48325  links.forEach((link) => {
48326    link.addEventListener("mouseenter", function () {
48327      const service = this.getAttribute("data-service");
48328
48329      // Убираем класс is-visible у всех ссылок и контентов
48330      links.forEach((l) => l.classList.remove("is-visible"));
48331      contents.forEach((c) => c.classList.remove("is-visible"));
48332
48333      // Добавляем класс is-visible для текущей ссылки и соответствующего контента
48334      this.classList.add("is-visible");
48335      const content = document.querySelector(
48336        `.header-services__content[data-content="${service}"]`
48337      );
48338      if (content) {
48339        content.classList.add("is-visible");
48340      }
48341    });
48342  });
48343
48344  contents.forEach((content) => {
48345    content.addEventListener("mouseenter", function () {
48346      const contentService = this.getAttribute("data-content");
48347      const correspondingLink = document.querySelector(
48348        `.header-services__link.is-arrow[data-service="${contentService}"]`
48349      );
48350      if (correspondingLink) {
48351        correspondingLink.classList.add("is-visible");
48352      }
48353    });
48354
48355    content.addEventListener("mouseleave", function () {
48356      // this.classList.remove('is-visible');
48357      const contentService = this.getAttribute("data-content");
48358      const correspondingLink = document.querySelector(
48359        `.header-services__link.is-arrow[data-service="${contentService}"]`
48360      );
48361      if (correspondingLink) {
48362        // correspondingLink.classList.remove('is-visible');
48363      }
48364    });
48365  });
48366
48367  document
48368    .querySelector(".header-nav__hidden")
48369    .addEventListener("mouseleave", function () {
48370      links.forEach((l) => l.classList.remove("is-visible"));
48371      contents.forEach((c) => c.classList.remove("is-visible"));
48372    });
48373});
48374
48375$(document).on("click", ".header__menu-btn", function () {
48376  $(this).toggleClass("is-active");
48377  $(".header-menu").toggleClass("is-active");
48378});
48379
48380$(document).on("click", ".header__navigation", function () {
48381  $(this).toggleClass("is-active");
48382  $(".mob-menu").toggleClass("is-active");
48383  $(".overlay").toggleClass("is-active");
48384  $("body").toggleClass("is-fixed");
48385});
48386
48387$(document).on("click", ".overlay", function () {
48388  $(this).removeClass("is-active");
48389  $(".mob-menu").removeClass("is-active");
48390  $(".header__navigation").removeClass("is-active");
48391  $("body").removeClass("is-fixed");
48392});
48393$(document).on("click", ".help-faq__head", function () {
48394  $(this).parent().find(".help-faq__hidden").slideToggle();
48395  $(this).toggleClass("is-active");
48396});
48397
48398document.querySelectorAll(".help-more").forEach((n) => {
48399  var smiSlider = new Swiper(n.querySelector(".js-smi-slider"), {
48400    slidesPerView: 3,
48401    spaceBetween: 20,
48402    loop: true,
48403    navigation: {
48404      nextEl: n.querySelector(".smi-slider__next"),
48405      prevEl: n.querySelector(".smi-slider__prev"),
48406    },
48407    breakpoints: {
48408      300: {
48409        slidesPerView: 1.1,
48410      },
48411
48412      767: {
48413        slidesPerView: 2,
48414      },
48415
48416      1023: {
48417        slidesPerView: 2,
48418      },
48419
48420      1439: {
48421        slidesPerView: 3,
48422      },
48423    },
48424  });
48425});
48426
48427document.querySelectorAll(".actual").forEach((n) => {
48428  var actualSlider = new Swiper(n.querySelector(".js-actual-slider"), {
48429    slidesPerView: 6,
48430    spaceBetween: 15,
48431    navigation: {
48432      nextEl: n.querySelector(".actual-slider__next"),
48433      prevEl: n.querySelector(".actual-slider__prev"),
48434    },
48435    breakpoints: {
48436      300: {
48437        slidesPerView: 2.1,
48438        spaceBetween: 10,
48439      },
48440
48441      767: {
48442        slidesPerView: 3,
48443        spaceBetween: 10,
48444      },
48445
48446      1023: {
48447        slidesPerView: 4,
48448        spaceBetween: 15,
48449      },
48450
48451      1199: {
48452        slidesPerView: 5,
48453        spaceBetween: 15,
48454      },
48455
48456      1439: {
48457        slidesPerView: 6,
48458        spaceBetween: 15,
48459      },
48460    },
48461  });
48462});
48463
48464document.querySelectorAll(".partners").forEach((n) => {
48465  var partnersSlider = new Swiper(n.querySelector(".js-partners-slider"), {
48466    slidesPerView: 5,
48467    spaceBetween: 20,
48468    allowTouchMove: false,
48469    loop: true,
48470    autoplay: {
48471      delay: 1,
48472      disableOnInteraction: false,
48473    },
48474    speed: 5000,
48475    breakpoints: {
48476      300: {
48477        slidesPerView: 2,
48478      },
48479
48480      767: {
48481        slidesPerView: 2,
48482      },
48483
48484      1023: {
48485        slidesPerView: 3,
48486      },
48487
48488      1439: {
48489        slidesPerView: 5,
48490      },
48491    },
48492  });
48493});
48494
48495document.querySelectorAll(".media").forEach((n) => {
48496  var mediaSlider = new Swiper(n.querySelector(".js-media-slider"), {
48497    slidesPerView: 3,
48498    spaceBetween: 15,
48499    loop: true,
48500    navigation: {
48501      nextEl: n.querySelector(".media-slider__next"),
48502      prevEl: n.querySelector(".media-slider__prev"),
48503    },
48504    breakpoints: {
48505      300: {
48506        slidesPerView: 1.1,
48507        spaceBetween: 10,
48508      },
48509
48510      767: {
48511        slidesPerView: 1.1,
48512        spaceBetween: 10,
48513      },
48514
48515      1023: {
48516        slidesPerView: 2,
48517        spaceBetween: 15,
48518      },
48519
48520      1439: {
48521        slidesPerView: 3,
48522        spaceBetween: 15,
48523      },
48524    },
48525  });
48526});
48527
48528document.querySelectorAll(".cases").forEach((n) => {
48529  var casesSlider = new Swiper(n.querySelector(".js-cases-slider"), {
48530    slidesPerView: 2,
48531    spaceBetween: 15,
48532    loop: true,
48533    navigation: {
48534      nextEl: n.querySelector(".cases-slider__next"),
48535      prevEl: n.querySelector(".cases-slider__prev"),
48536    },
48537    breakpoints: {
48538      300: {
48539        slidesPerView: 1.1,
48540        spaceBetween: 10,
48541      },
48542
48543      767: {
48544        slidesPerView: 1.1,
48545        spaceBetween: 10,
48546      },
48547
48548      1023: {
48549        slidesPerView: 2,
48550        spaceBetween: 15,
48551      },
48552
48553      1439: {
48554        slidesPerView: 2,
48555        spaceBetween: 30,
48556      },
48557    },
48558  });
48559});
48560
48561document.querySelectorAll(".objects").forEach((n) => {
48562  var objectsSlider = new Swiper(n.querySelector(".js-objects-slider"), {
48563    slidesPerView: 6,
48564    spaceBetween: 15,
48565    navigation: {
48566      nextEl: n.querySelector(".objects-slider__next"),
48567      prevEl: n.querySelector(".objects-slider__prev"),
48568    },
48569    breakpoints: {
48570      300: {
48571        slidesPerView: 1.1,
48572        spaceBetween: 10,
48573      },
48574
48575      767: {
48576        slidesPerView: 2,
48577        spaceBetween: 10,
48578      },
48579
48580      1023: {
48581        slidesPerView: 3,
48582        spaceBetween: 15,
48583      },
48584
48585      1439: {
48586        slidesPerView: 4,
48587        spaceBetween: 24,
48588      },
48589    },
48590  });
48591});
48592
48593$(".assets").each(function () {
48594  let slideCount = $(this).find(".swiper-slide").length;
48595  console.log(slideCount);
48596  if ($(window).outerWidth() > 1439) {
48597    if (slideCount < 7) {
48598      $(".assets-slider__next").hide();
48599      $(".assets-slider__prev").hide();
48600    }
48601  }
48602});
48603
48604document.querySelectorAll(".assets").forEach((n) => {
48605  var assetsSlider = new Swiper(n.querySelector(".js-assets-slider"), {
48606    slidesPerView: 6,
48607    spaceBetween: 15,
48608    navigation: {
48609      nextEl: n.querySelector(".assets-slider__next"),
48610      prevEl: n.querySelector(".assets-slider__prev"),
48611    },
48612    breakpoints: {
48613      300: {
48614        slidesPerView: 1.1,
48615        spaceBetween: 10,
48616      },
48617
48618      767: {
48619        slidesPerView: 2,
48620        spaceBetween: 10,
48621      },
48622
48623      1023: {
48624        slidesPerView: 3,
48625        spaceBetween: 10,
48626      },
48627
48628      1439: {
48629        slidesPerView: 5,
48630        spaceBetween: 10,
48631      },
48632    },
48633  });
48634});
48635
48636$(".directions__tabs").on(
48637  "click",
48638  ".directions__tab:not(.is-active)",
48639  function () {
48640    $(this)
48641      .addClass("is-active")
48642      .siblings()
48643      .removeClass("is-active")
48644      .closest(".directions")
48645      .find(".directions__content")
48646      .removeClass("is-active")
48647      .eq($(this).index())
48648      .addClass("is-active");
48649  }
48650);
48651
48652$(".directions-card__tabs").on(
48653  "click",
48654  ".directions-card__tab:not(.is-active)",
48655  function () {
48656    $(this)
48657      .addClass("is-active")
48658      .siblings()
48659      .removeClass("is-active")
48660      .parent()
48661      .parent()
48662      .find(".directions-card__content")
48663      .removeClass("is-active")
48664      .eq($(this).index())
48665      .addClass("is-active");
48666  }
48667);
48668
48669$(document).on("click", ".subscription-interests__button", function () {
48670  $(".subscription-interests__hidden").toggleClass("is-active");
48671});
48672
48673function addPlaysInlineToVideos() {
48674  const videos = document.querySelectorAll("video");
48675  videos.forEach((video) => {
48676    video.setAttribute("playsinline", "");
48677  });
48678}
48679
48680// Вызов функции
48681addPlaysInlineToVideos();
48682
48683var examplePackSlider = new Swiper(".js-map-slider-first", {
48684  slidesPerView: "auto",
48685  spaceBetween: 4,
48686  loop: true,
48687  speed: 5000,
48688
48689  autoplay: {
48690    enabled: true,
48691    delay: 1,
48692  },
48693});
48694
48695var examplePackSlider = new Swiper(".js-map-slider-second", {
48696  slidesPerView: "auto",
48697  spaceBetween: 4,
48698  centeredSlides: true,
48699  loop: true,
48700  speed: 5000,
48701
48702  autoplay: {
48703    enabled: true,
48704    delay: 1,
48705    reverseDirection: true,
48706  },
48707});
48708
48709var itDirectionsSlider = new Swiper(".js-it-directions-slider", {
48710  slidesPerView: 1,
48711	autoHeight: true,
48712  mousewheel: {
48713    enabled: false, // Отключаем скролл слайдера
48714  },
48715  simulateTouch: false, // Отключаем скролл слайдера
48716  allowTouchMove: false, // Отключаем скролл слайдера
48717  effect: "fade",
48718  navigation: {
48719    nextEl: ".it-directions-slider__next",
48720    prevEl: ".it-directions-slider__prev",
48721  },
48722  pagination: {
48723    el: ".it-directions-slider__pagination",
48724    clickable: true,
48725    renderBullet: function (index, className) {
48726      // Получаем значение data-name для каждого слайда
48727      var name = this.slides.eq(index).attr("data-name");
48728      return '<span class="' + className + '">' + name + "</span>";
48729    },
48730  },
48731  breakpoints: {
48732    300: {
48733      slidesPerView: 1,
48734      spaceBetween: 10,
48735    },
48736
48737    767: {
48738      slidesPerView: 1,
48739      spaceBetween: 16,
48740    },
48741
48742    1023: {
48743      slidesPerView: 1,
48744      spaceBetween: 20,
48745    },
48746
48747    1439: {
48748      slidesPerView: 1,
48749    },
48750  },
48751});
48752
48753var dFirstSlider = new Swiper(".js-it-directions-first", {
48754  spaceBetween: 14,
48755  loop: true,
48756  speed: 5000,
48757  slidesPerView: 4,
48758  autoplay: {
48759    enabled: true,
48760    delay: 1,
48761  },
48762  breakpoints: {
48763    300: {
48764      slidesPerView: 4,
48765    },
48766
48767    767: {
48768      slidesPerView: 4,
48769    },
48770
48771    1023: {
48772      slidesPerView: 4,
48773    },
48774
48775    1439: {
48776      slidesPerView: 4,
48777    },
48778  },
48779});
48780
48781var dSecondSlider = new Swiper(".js-it-directions-second", {
48782  spaceBetween: 14,
48783  loop: true,
48784  speed: 5000,
48785  slidesPerView: 4,
48786  autoplay: {
48787    enabled: true,
48788    delay: 1,
48789    reverseDirection: true,
48790  },
48791  breakpoints: {
48792    300: {
48793      slidesPerView: 4,
48794    },
48795
48796    767: {
48797      slidesPerView: 4,
48798    },
48799
48800    1023: {
48801      slidesPerView: 4,
48802    },
48803
48804    1439: {
48805      slidesPerView: 4,
48806    },
48807  },
48808});
48809
48810var companyMoreSlider = new Swiper(".js-company-more-slider", {
48811  slidesPerView: 4,
48812  spaceBetween: 30,
48813  breakpoints: {
48814    300: {
48815      slidesPerView: 1.1,
48816      spaceBetween: 10,
48817    },
48818
48819    767: {
48820      slidesPerView: 2,
48821      spaceBetween: 16,
48822    },
48823
48824    1023: {
48825      slidesPerView: 3,
48826      spaceBetween: 20,
48827    },
48828
48829    1439: {
48830      slidesPerView: 4,
48831      spaceBetween: 30,
48832      mousewheel: {
48833        enabled: false, // Отключаем скролл слайдера
48834      },
48835      simulateTouch: false, // Отключаем скролл слайдера
48836      allowTouchMove: false, // Отключаем скролл слайдера
48837    },
48838  },
48839});
48840// go to land-real.js
48841
48842// go to land-real.js
48843
48844// go to land-real.js
48845
48846$(".js-types-slider-container").each(function () {
48847  let slider = $(this).find(".js-types-slider")[0];
48848
48849  let next = $(this).find(".land-types__slider-next")[0];
48850  let prev = $(this).find(".land-types__slider-prev")[0];
48851  let pagination = $(this).find(".land-types__slider-pagination")[0];
48852
48853  let breakpoint = $(this).find(".js-types-slider").attr("data-count");
48854
48855  let options = {
48856    slidesPerView: 6,
48857    spaceBetween: 16,
48858
48859    breakpoints: {
48860      300: {
48861        slidesPerView: 1.5,
48862        spaceBetween: 5,
48863      },
48864
48865      560: {
48866        slidesPerView: 2,
48867        spaceBetween: 5,
48868      },
48869
48870      768: {
48871        slidesPerView: 3,
48872        spaceBetween: 5,
48873      },
48874
48875      1023: {
48876        slidesPerView: 4,
48877        spaceBetween: 5,
48878      },
48879
48880      1199: {
48881        slidesPerView: 5,
48882        spaceBetween: 5,
48883      },
48884
48885      1439: {
48886        slidesPerView: 6,
48887        spaceBetween: 16,
48888      },
48889    },
48890  };
48891
48892  if (breakpoint === "4") {
48893    options = {
48894      slidesPerView: 4,
48895      spaceBetween: 24,
48896
48897      breakpoints: {
48898        300: {
48899          slidesPerView: 1.5,
48900          spaceBetween: 5,
48901        },
48902
48903        768: {
48904          slidesPerView: 2,
48905          spaceBetween: 5,
48906        },
48907
48908        1023: {
48909          slidesPerView: 3,
48910          spaceBetween: 5,
48911        },
48912
48913        1439: {
48914          slidesPerView: 4,
48915          spaceBetween: 24,
48916        },
48917      },
48918    };
48919  }
48920
48921  var landTypesSlider = new Swiper(".js-types-slider", {
48922    navigation: {
48923      nextEl: next,
48924      prevEl: prev,
48925    },
48926
48927    pagination: {
48928      el: pagination,
48929      type: "bullets",
48930      clickable: true,
48931    },
48932
48933    ...options,
48934  });
48935});
48936
48937var landPackSlider = new Swiper(".js-pack-slider", {
48938  slidesPerView: "auto",
48939  spaceBetween: 16,
48940  direction: "vertical",
48941
48942  pagination: {
48943    el: ".land-pack__slider-pagination",
48944    type: "bullets",
48945    clickable: true,
48946  },
48947
48948  breakpoints: {
48949    300: {
48950      slidesPerView: 1.2,
48951      spaceBetween: 12,
48952      swipe: true,
48953      longSwipes: true,
48954      shortSwipes: true,
48955      followFinger: true,
48956      simulateTouch: true,
48957      allowTouchMove: true,
48958      touchStartPreventDefault: true,
48959      passiveListeners: true,
48960      direction: "horizontal",
48961    },
48962
48963    767: {
48964      swipe: false,
48965      longSwipes: false,
48966      shortSwipes: false,
48967      followFinger: false,
48968      simulateTouch: false,
48969      allowTouchMove: false,
48970      touchStartPreventDefault: false,
48971      passiveListeners: false,
48972      direction: "vertical",
48973    },
48974  },
48975});
48976
48977var examplePackSlider = new Swiper(".js-example-slider", {
48978  slidesPerView: 2,
48979  spaceBetween: 30,
48980
48981  navigation: {
48982    nextEl: ".land-example__slider-next",
48983    prevEl: ".land-example__slider-prev",
48984  },
48985
48986  pagination: {
48987    el: ".land-example__slider-pagination",
48988    type: "bullets",
48989    clickable: true,
48990  },
48991
48992  breakpoints: {
48993    300: {
48994      slidesPerView: 1.1,
48995      spaceBetween: 10,
48996    },
48997
48998    1199: {
48999      slidesPerView: 2,
49000      spaceBetween: 30,
49001    },
49002  },
49003});
49004
49005var landAdviceSlider = new Swiper(".js-advance-slider", {
49006  slidesPerView: 1,
49007  spaceBetween: 16,
49008  effect: "fade",
49009  speed: 1000,
49010
49011  fadeEffect: {
49012    crossfade: true,
49013  },
49014
49015  navigation: {
49016    nextEl: ".land-advance__slider-next",
49017    prevEl: ".land-advance__slider-prev",
49018  },
49019
49020  pagination: {
49021    el: ".land-advance__slider-pagination",
49022    type: "bullets",
49023    clickable: true,
49024  },
49025
49026  on: {
49027    slideChange: function () {
49028      let index = this.realIndex;
49029      $(".land-advance__tab").removeClass("is-active");
49030      $(".land-advance__tab").eq(index).addClass("is-active");
49031    },
49032  },
49033});
49034
49035$(".land-advance__tab").on("click", function () {
49036  let index = $(this).index();
49037  $(".land-advance__tab").removeClass("is-active");
49038  $(this).addClass("is-active");
49039  landAdviceSlider.slideTo(index);
49040});
49041
49042var examplePackSlider = new Swiper(".js-trust-slider-first", {
49043  slidesPerView: 4,
49044  spaceBetween: 20,
49045  loop: true,
49046  speed: 5000,
49047
49048  autoplay: {
49049    enabled: true,
49050    delay: 1,
49051  },
49052
49053  breakpoints: {
49054    300: {
49055      slidesPerView: 2,
49056    },
49057
49058    767: {
49059      slidesPerView: 2,
49060    },
49061
49062    1023: {
49063      slidesPerView: 3,
49064    },
49065
49066    1439: {
49067      slidesPerView: 5,
49068    },
49069  },
49070});
49071
49072var examplePackSlider = new Swiper(".js-trust-slider-second", {
49073  slidesPerView: 4,
49074  spaceBetween: 20,
49075  centeredSlides: true,
49076  loop: true,
49077  speed: 5000,
49078
49079  autoplay: {
49080    enabled: true,
49081    delay: 1,
49082    reverseDirection: true,
49083  },
49084
49085  breakpoints: {
49086    300: {
49087      slidesPerView: 2,
49088    },
49089
49090    767: {
49091      slidesPerView: 2,
49092    },
49093
49094    1023: {
49095      slidesPerView: 3,
49096    },
49097
49098    1439: {
49099      slidesPerView: 5,
49100    },
49101  },
49102});
49103
49104var landThingsSlider = new Swiper(".js-things-slider", {
49105  slidesPerView: 6,
49106  spaceBetween: 10,
49107
49108  navigation: {
49109    nextEl: ".land-things__slider-next",
49110    prevEl: ".land-things__slider-prev",
49111  },
49112
49113  pagination: {
49114    el: ".land-things__slider-pagination",
49115    type: "bullets",
49116    clickable: true,
49117  },
49118
49119  breakpoints: {
49120    300: {
49121      slidesPerView: 1.5,
49122      spaceBetween: 5,
49123    },
49124
49125    560: {
49126      slidesPerView: 2,
49127      spaceBetween: 5,
49128    },
49129
49130    768: {
49131      slidesPerView: 3,
49132      spaceBetween: 5,
49133    },
49134
49135    1023: {
49136      slidesPerView: 4,
49137      spaceBetween: 5,
49138    },
49139
49140    1199: {
49141      slidesPerView: 5,
49142      spaceBetween: 5,
49143    },
49144
49145    1439: {
49146      slidesPerView: 6,
49147      spaceBetween: 10,
49148    },
49149  },
49150});
49151
49152$(".land-effect__drop-head").on("click", function () {
49153  $(this).toggleClass("is-active");
49154  $(this).parent().find(".land-effect__drop-hidden").slideToggle();
49155});
49156
49157$(".land-faq__drop-head").on("click", function () {
49158  $(this).toggleClass("is-active");
49159  $(this).parent().find(".land-faq__drop-hidden").slideToggle();
49160});
49161
49162var storySlider = new Swiper(".js-story-slider", {
49163  slidesPerView: 1,
49164  spaceBetween: 16,
49165
49166  navigation: {
49167    nextEl: ".land-story__slider-next",
49168    prevEl: ".land-story__slider-prev",
49169  },
49170
49171  pagination: {
49172    el: ".land-story__slider-pagination",
49173    type: "bullets",
49174    clickable: true,
49175  },
49176});
49177
49178$(".land-story__card-more").on("click", function () {
49179  if ($(this).parent().find("js-story-desc").hasClass("is-visible")) {
49180    $(this).text("Читать полностью");
49181    $(this).parent().find(".js-story-desc").removeClass("is-visible");
49182  } else {
49183    $(this).text("Скрыть");
49184    $(this).parent().find(".js-story-desc").addClass("is-visible");
49185  }
49186});
49187
49188$(".land-review__card-more").on("click", function () {
49189  if ($(this).parent().find(".land-review__card-desc").hasClass("is-visible")) {
49190    $(this).text("Читать полностью");
49191    $(this).parent().find(".land-review__card-desc").removeClass("is-visible");
49192  } else {
49193    $(this).text("Скрыть");
49194    $(this).parent().find(".land-review__card-desc").addClass("is-visible");
49195  }
49196});
49197
49198var landThingsSlider = new Swiper(".js-review-slider", {
49199  slidesPerView: 3,
49200  spaceBetween: 30,
49201  direction: "horizontal",
49202
49203  navigation: {
49204    nextEl: ".land-review__slider-next",
49205    prevEl: ".land-review__slider-prev",
49206  },
49207
49208  pagination: {
49209    el: ".land-review__slider-pagination",
49210    type: "bullets",
49211    clickable: true,
49212  },
49213
49214  breakpoints: {
49215    300: {
49216      slidesPerView: 1.5,
49217      spaceBetween: 5,
49218      direction: "horizontal",
49219    },
49220
49221    560: {
49222      slidesPerView: 2,
49223      spaceBetween: 5,
49224    },
49225
49226    1199: {
49227      slidesPerView: 3,
49228      spaceBetween: 30,
49229    },
49230  },
49231});
49232
49233$(".js-review-desc").each(function () {
49234  let desc = $(this).find(".land-review__card-desc");
49235  let more = $(this).find(".land-review__card-more");
49236
49237  let line = parseFloat(desc.css("line-height"));
49238  let lineClamp = parseFloat(desc.css("-webkit-line-clamp"));
49239  let height = desc.height();
49240
49241  console.log(line * lineClamp);
49242  console.log(height);
49243
49244  if (height + 1 < line * lineClamp) {
49245    more.hide();
49246  }
49247});
49248
49249var landSolutionSlider = new Swiper(".js-land-solution", {
49250  slidesPerView: "auto",
49251  spaceBetween: 0,
49252
49253  pagination: {
49254    el: ".land-solution__slider-pagination",
49255    type: "bullets",
49256    clickable: true,
49257  },
49258
49259  breakpoints: {
49260    300: {
49261      slidesPerView: 2.2,
49262      spaceBetween: 10,
49263      swipe: true,
49264      longSwipes: true,
49265      shortSwipes: true,
49266      followFinger: true,
49267      simulateTouch: true,
49268      allowTouchMove: true,
49269      touchStartPreventDefault: true,
49270      passiveListeners: true,
49271    },
49272
49273    767: {
49274      slidesPerView: 3,
49275      spaceBetween: 10,
49276      swipe: true,
49277      longSwipes: true,
49278      shortSwipes: true,
49279      followFinger: true,
49280      simulateTouch: true,
49281      allowTouchMove: true,
49282      touchStartPreventDefault: true,
49283      passiveListeners: true,
49284    },
49285
49286    900: {
49287      slidesPerView: 4,
49288      spaceBetween: 15,
49289      swipe: true,
49290      longSwipes: true,
49291      shortSwipes: true,
49292      followFinger: true,
49293      simulateTouch: true,
49294      allowTouchMove: true,
49295      touchStartPreventDefault: true,
49296      passiveListeners: true,
49297    },
49298
49299    1199: {
49300      slidesPerView: 5,
49301      spaceBetween: 15,
49302      swipe: false,
49303      longSwipes: false,
49304      shortSwipes: false,
49305      followFinger: false,
49306      simulateTouch: false,
49307      allowTouchMove: false,
49308      touchStartPreventDefault: false,
49309      passiveListeners: false,
49310      slidesPerView: "auto",
49311      spaceBetween: 0,
49312    },
49313  },
49314});
49315
49316var landCatalogSlider = new Swiper(".js-land-catalog", {
49317  slidesPerView: 1,
49318  spaceBetween: 16,
49319  effect: "fade",
49320  speed: 1000,
49321  autoHeight: true,
49322
49323  fadeEffect: {
49324    crossfade: true,
49325  },
49326
49327  navigation: {
49328    nextEl: ".land-catalog__slider-next",
49329    prevEl: ".land-catalog__slider-prev",
49330  },
49331
49332  on: {
49333    slideChange: function () {
49334      let index = this.realIndex;
49335      $(".land-catalog__tab").removeClass("is-active");
49336      $(".land-catalog__tab").eq(index).addClass("is-active");
49337    },
49338  },
49339});
49340
49341$(".land-catalog__tab").on("click", function () {
49342  let index = $(this).index();
49343  $(".land-catalog__tab").removeClass("is-active");
49344  $(this).addClass("is-active");
49345  landCatalogSlider.slideTo(index);
49346});
49347
49348var landSolutionSlider = new Swiper(".js-land-solution-three", {
49349  slidesPerView: "auto",
49350  spaceBetween: 0,
49351
49352  pagination: {
49353    el: ".land-solution__slider-pagination",
49354    type: "bullets",
49355    clickable: true,
49356  },
49357
49358  breakpoints: {
49359    300: {
49360      slidesPerView: 2.2,
49361      spaceBetween: 10,
49362      swipe: true,
49363      longSwipes: true,
49364      shortSwipes: true,
49365      followFinger: true,
49366      simulateTouch: true,
49367      allowTouchMove: true,
49368      touchStartPreventDefault: true,
49369      passiveListeners: true,
49370    },
49371
49372    767: {
49373      slidesPerView: 3,
49374      spaceBetween: 10,
49375      swipe: true,
49376      longSwipes: true,
49377      shortSwipes: true,
49378      followFinger: true,
49379      simulateTouch: true,
49380      allowTouchMove: true,
49381      touchStartPreventDefault: true,
49382      passiveListeners: true,
49383    },
49384
49385    900: {
49386      slidesPerView: 4,
49387      spaceBetween: 15,
49388      swipe: true,
49389      longSwipes: true,
49390      shortSwipes: true,
49391      followFinger: true,
49392      simulateTouch: true,
49393      allowTouchMove: true,
49394      touchStartPreventDefault: true,
49395      passiveListeners: true,
49396    },
49397
49398    1299: {
49399      swipe: false,
49400      longSwipes: false,
49401      shortSwipes: false,
49402      followFinger: false,
49403      simulateTouch: false,
49404      allowTouchMove: false,
49405      touchStartPreventDefault: false,
49406      passiveListeners: false,
49407      slidesPerView: "auto",
49408      spaceBetween: 0,
49409    },
49410  },
49411});
49412
49413var partnersSlider = new Swiper(".js-land-clients", {
49414  slidesPerView: 5,
49415  spaceBetween: 20,
49416  allowTouchMove: false,
49417  loop: true,
49418  autoplay: {
49419    delay: 1,
49420    disableOnInteraction: false,
49421  },
49422  speed: 5000,
49423  breakpoints: {
49424    300: {
49425      slidesPerView: 1.1,
49426    },
49427
49428    767: {
49429      slidesPerView: 2,
49430    },
49431
49432    1023: {
49433      slidesPerView: 3,
49434    },
49435
49436    1439: {
49437      slidesPerView: 5,
49438    },
49439  },
49440});
49441
49442var partnersSlider = new Swiper(".js-land-geo", {
49443  slidesPerView: 5,
49444  spaceBetween: 20,
49445  allowTouchMove: false,
49446  loop: true,
49447  autoplay: {
49448    delay: 1,
49449    disableOnInteraction: false,
49450  },
49451  speed: 5000,
49452  breakpoints: {
49453    300: {
49454      slidesPerView: 4,
49455    },
49456
49457    767: {
49458      slidesPerView: 5,
49459    },
49460
49461    1023: {
49462      slidesPerView: 7,
49463    },
49464
49465    1439: {
49466      slidesPerView: 9,
49467    },
49468  },
49469});
49470
49471$(".js-privatization-tab").on("click", function () {
49472  $(".js-privatization-content").removeClass("is-active");
49473  $(".js-privatization-tab").removeClass("is-active");
49474  $(this).addClass("is-active");
49475
49476  let index = $(this).index();
49477
49478  $(".js-privatization-content").eq(index).addClass("is-active");
49479});
49480
49481if (document.querySelector(".js-lot-thumb")) {
49482  var lotThumb = new Swiper(".js-lot-thumb", {
49483    spaceBetween: 12,
49484    slidesPerView: 4,
49485    freeMode: true,
49486    watchSlidesVisibility: true,
49487    watchSlidesProgress: true,
49488    swipe: false,
49489    longSwipes: false,
49490    shortSwipes: false,
49491    followFinger: false,
49492    simulateTouch: true,
49493    allowTouchMove: false,
49494    touchStartPreventDefault: false,
49495    passiveListeners: false,
49496  });
49497}
49498
49499var vechileSlider = new Swiper(".js-lot-slider", {
49500  spaceBetween: 5,
49501
49502  navigation: {
49503    nextEl: ".lot-gallery__next",
49504    prevEl: ".lot-gallery__prev",
49505  },
49506
49507  breakpoints: {
49508    300: {
49509      slidesPerView: 1,
49510    },
49511
49512    1199: {
49513      slidesPerView: 1,
49514    },
49515  },
49516
49517  thumbs: {
49518    swiper: lotThumb,
49519  },
49520});
49521
49522$(".lot-card__head").on("click", function () {
49523  $(this).toggleClass("is-active");
49524  $(this).parent().find(".lot-card__hidden").slideToggle();
49525});
49526
49527$(".lot-card__overflow-more").on("click", function () {
49528  $(this).hide();
49529  $(this).parent().find(".lot-card__overflow-text").addClass("is-visible");
49530});
49531
49532$(".js-lot-table").each(function () {
49533  let self = $(this);
49534  let visibleCount = self.data("visible");
49535
49536  let items = self.find(".lot-card__table-row");
49537  items.slice(0, visibleCount).show();
49538  //console.log(items);
49539  let more = self.parent().find(".js-lot-table-more");
49540
49541  if (items.length <= visibleCount) {
49542    more.hide();
49543  } else {
49544    more.on("click", function (e) {
49545      x =
49546        visibleCount + 100; /* 100 - Кол-во элементов всего (можно с запасом) */
49547
49548      items.slice(0, x).slideDown();
49549      $(this).hide();
49550    });
49551  }
49552});
49553
49554$(".lot-info__stats").each(function () {
49555  let more = $(this).find(".js-stats-more");
49556
49557  let items = $(this).find(".lot-info__stats-item").not(".js-stats-more");
49558  items.slice(0, 3).css("display", "flex");
49559
49560  more.on("click", function (e) {
49561    items.slice(0, 100).css("display", "flex");
49562    $(this).hide();
49563  });
49564});
49565
49566$(".js-phone-btn").on("click", function (e) {
49567  let phone = $(this).data("phone");
49568  let phoneFormatted = phone.replace(/\D/g, "");
49569  let isChanged = $(this).attr("data-changed");
49570
49571  if (isChanged === "false") {
49572    $(this).addClass("is-changed");
49573    $(this).prop("href", `tel:+${phoneFormatted}`);
49574    $(this).text(phone);
49575    $(this).attr("data-changed", "true");
49576    e.preventDefault();
49577  }
49578});
49579
49580/*$('.lot-slider__card').fancybox({
49581  backFocus: false,
49582})*/
49583document.querySelectorAll(".media-smi").forEach((n) => {
49584  var smiSlider = new Swiper(n.querySelector(".js-smi-slider"), {
49585    slidesPerView: 4,
49586    spaceBetween: 20,
49587    loop: true,
49588    navigation: {
49589      nextEl: n.querySelector(".smi-slider__next"),
49590      prevEl: n.querySelector(".smi-slider__prev"),
49591    },
49592    breakpoints: {
49593      300: {
49594        slidesPerView: 1.1,
49595      },
49596
49597      767: {
49598        slidesPerView: 2,
49599      },
49600
49601      1023: {
49602        slidesPerView: 3,
49603      },
49604
49605      1439: {
49606        slidesPerView: 4,
49607      },
49608    },
49609  });
49610});
49611
49612document.querySelectorAll(".media-more").forEach((n) => {
49613  var smiSlider = new Swiper(n.querySelector(".js-smi-slider"), {
49614    slidesPerView: 4,
49615    spaceBetween: 20,
49616    loop: true,
49617    navigation: {
49618      nextEl: n.querySelector(".smi-slider__next"),
49619      prevEl: n.querySelector(".smi-slider__prev"),
49620    },
49621    breakpoints: {
49622      300: {
49623        slidesPerView: 1.1,
49624      },
49625
49626      767: {
49627        slidesPerView: 2,
49628      },
49629
49630      1023: {
49631        slidesPerView: 3,
49632      },
49633
49634      1439: {
49635        slidesPerView: 4,
49636      },
49637    },
49638  });
49639});
49640document.querySelectorAll(".media-smi").forEach((n) => {
49641  var smiSlider = new Swiper(n.querySelector(".js-smi-slider"), {
49642    slidesPerView: 4,
49643    spaceBetween: 20,
49644    loop: true,
49645    navigation: {
49646      nextEl: n.querySelector(".smi-slider__next"),
49647      prevEl: n.querySelector(".smi-slider__prev"),
49648    },
49649    breakpoints: {
49650      300: {
49651        slidesPerView: 1.1,
49652      },
49653
49654      767: {
49655        slidesPerView: 2,
49656      },
49657
49658      1023: {
49659        slidesPerView: 3,
49660      },
49661
49662      1439: {
49663        slidesPerView: 4,
49664      },
49665    },
49666  });
49667});
49668
49669$(".news-filter__tags").select2({
49670  placeholder: "Поиск по тегам",
49671});
49672
49673$(".news-filter__years").select2({
49674  placeholder: "Все года",
49675});
49676
49677$(".news-view").on("click", ".news-view__item:not(.is-active)", function () {
49678  $(this).addClass("is-active").siblings().removeClass("is-active");
49679  $(".news__grid").toggleClass("is-list");
49680});
49681
49682var reviewsQuotesSlider = new Swiper(".js-reviews-quotes-slider", {
49683  slidesPerView: 1,
49684  effect: "fade",
49685  loop: true,
49686  navigation: {
49687    nextEl: ".reviews-quotes-slider__next",
49688    prevEl: ".reviews-quotes-slider__prev",
49689  },
49690  breakpoints: {
49691    300: {
49692      slidesPerView: 1,
49693    },
49694
49695    767: {
49696      slidesPerView: 1,
49697    },
49698
49699    1023: {
49700      slidesPerView: 1,
49701    },
49702
49703    1439: {
49704      slidesPerView: 1,
49705      mousewheel: {
49706        enabled: false, // Отключаем скролл слайдера
49707      },
49708      simulateTouch: false, // Отключаем скролл слайдера
49709      allowTouchMove: false, // Отключаем скролл слайдера
49710    },
49711  },
49712});
49713var swiper = new Swiper(".js-same-slider", {
49714  slidesPerView: 3,
49715  spaceBetween: 30,
49716  observeParents: true,
49717  observer: true,
49718
49719  navigation: {
49720    nextEl: ".same__next",
49721    prevEl: ".same__prev",
49722  },
49723
49724  breakpoints: {
49725    300: {
49726      slidesPerView: 1.1,
49727      spaceBetween: 16,
49728    },
49729
49730    680: {
49731      slidesPerView: 2,
49732      spaceBetween: 16,
49733    },
49734
49735    1023: {
49736      slidesPerView: 3,
49737      spaceBetween: 16,
49738    },
49739  },
49740});
49741document.querySelectorAll(".help-more").forEach((n) => {
49742  var smiSlider = new Swiper(n.querySelector(".js-smi-slider"), {
49743    slidesPerView: 3,
49744    spaceBetween: 20,
49745    loop: true,
49746    navigation: {
49747      nextEl: n.querySelector(".smi-slider__next"),
49748      prevEl: n.querySelector(".smi-slider__prev"),
49749    },
49750    breakpoints: {
49751      300: {
49752        slidesPerView: 1.1,
49753      },
49754
49755      767: {
49756        slidesPerView: 2,
49757      },
49758
49759      1023: {
49760        slidesPerView: 2,
49761      },
49762
49763      1439: {
49764        slidesPerView: 3,
49765      },
49766    },
49767  });
49768});
49769
49770$(document).on("click", ".js-accordeon", function () {
49771  $(this).next(".js-accordeon-hidden").slideToggle();
49772  $(this).toggleClass("is-active");
49773});
49774
49775var swiper = new Swiper(".js-team-slider", {
49776  slidesPerView: 2,
49777  spaceBetween: 10,
49778  observeParents: true,
49779  observer: true,
49780
49781  breakpoints: {
49782    0: {
49783      slidesPerView: 1.1,
49784      spaceBetween: 10,
49785    },
49786
49787    767: {
49788      slidesPerView: 2,
49789      spaceBetween: 10,
49790    },
49791  },
49792});
49793
49794$(".team-personal__slider-wrapper").each(function () {
49795  let slider = $(this).find(".js-personal-slider")[0];
49796
49797  let slides = $(this).find(".swiper-slide").length;
49798
49799  let next = $(this).find(".team-personal__next")[0];
49800  let prev = $(this).find(".team-personal__prev")[0];
49801
49802  let breakpoint = $(this).attr("data-count");
49803  let options;
49804
49805  if (breakpoint === "4") {
49806    let loop;
49807
49808    if (breakpoint < slides) {
49809      loop = {
49810        loop: true,
49811        speed: 5000,
49812        autoplay: {
49813          enabled: true,
49814          delay: 1,
49815        },
49816      };
49817    }
49818
49819    options = {
49820      slidesPerView: 2,
49821      spaceBetween: 10,
49822      observeParents: true,
49823      observer: true,
49824
49825      ...loop,
49826
49827      breakpoints: {
49828        0: {
49829          slidesPerView: 1.1,
49830          spaceBetween: 10,
49831        },
49832
49833        520: {
49834          slidesPerView: 2,
49835          spaceBetween: 10,
49836        },
49837
49838        620: {
49839          slidesPerView: 2.2,
49840          spaceBetween: 10,
49841        },
49842
49843        860: {
49844          slidesPerView: 3,
49845          spaceBetween: 10,
49846        },
49847
49848        1199: {
49849          slidesPerView: 4,
49850          spaceBetween: 10,
49851        },
49852      },
49853    };
49854  }
49855
49856  if (breakpoint === "5") {
49857    if (breakpoint < slides) {
49858      loop = {
49859        loop: true,
49860        speed: 5000,
49861        autoplay: {
49862          enabled: true,
49863          delay: 1,
49864        },
49865      };
49866    }
49867
49868    options = {
49869      slidesPerView: 2,
49870      spaceBetween: 10,
49871      observeParents: true,
49872      observer: true,
49873
49874      ...loop,
49875
49876      breakpoints: {
49877        0: {
49878          slidesPerView: 1.1,
49879          spaceBetween: 10,
49880        },
49881
49882        480: {
49883          slidesPerView: 2,
49884          spaceBetween: 10,
49885        },
49886
49887        520: {
49888          slidesPerView: 2.2,
49889          spaceBetween: 10,
49890        },
49891
49892        767: {
49893          slidesPerView: 3,
49894          spaceBetween: 10,
49895        },
49896
49897        999: {
49898          slidesPerView: 4,
49899          spaceBetween: 10,
49900        },
49901
49902        1250: {
49903          slidesPerView: 5,
49904          spaceBetween: 10,
49905        },
49906      },
49907    };
49908  }
49909
49910  let update = false;
49911
49912  let teamSlider = new Swiper(slider, {
49913    ...options,
49914
49915    on: {
49916      init: function () {
49917        let realSlidesCount = this.params.slidesPerView;
49918
49919        if (realSlidesCount > slides) {
49920          next.style.display = "none";
49921          prev.style.display = "none";
49922        } else {
49923          this.params.loop = true;
49924        }
49925      },
49926    },
49927
49928    navigation: {
49929      nextEl: next,
49930      prevEl: prev,
49931    },
49932  });
49933
49934  teamSlider.update();
49935});
49936
49937$(".team-card").fancybox({
49938  baseClass: "fancy-righty",
49939});
49940
49941// new
49942
49943// hanvis 11 oct 2024
49944
49945document.addEventListener("DOMContentLoaded", function () {
49946  if (window.location.hash === "#form") {
49947    setTimeout(() => {
49948      scrollToForm();
49949    }, 500);
49950  }
49951});
49952
49953function scrollToForm() {
49954  var element = document.querySelector("#form");
49955  var offset = element.getBoundingClientRect().top + window.pageYOffset - 68; // Настраиваем отступ, если нужно
49956  window.scrollTo({
49957    top: offset,
49958    behavior: "smooth",
49959  });
49960}
49961
49962var buyersVideoSlider = new Swiper(".js-buyers-video-slider", {
49963  slidesPerView: 4,
49964  spaceBetween: 15,
49965  navigation: {
49966    nextEl: ".buyers-video-slider__next",
49967    prevEl: ".buyers-video-slider__prev",
49968  },
49969  breakpoints: {
49970    300: {
49971      slidesPerView: 1.1,
49972      spaceBetween: 10,
49973    },
49974
49975    767: {
49976      slidesPerView: 2,
49977      spaceBetween: 10,
49978    },
49979
49980    1023: {
49981      slidesPerView: 3,
49982      spaceBetween: 15,
49983    },
49984
49985    1439: {
49986      slidesPerView: 4,
49987      spaceBetween: 15,
49988    },
49989  },
49990});
49991
49992$(document).on("click", ".catalog-cards__more", function () {
49993  $(this).addClass("animated");
49994});
49995
49996$(document).on("click", ".js-area-select-trigger", function () {
49997  setTimeout(() => {
49998    const catBtn = document.querySelector(".catalog-form__btn.is-search");
49999    catBtn.click();
50000  }, 500);
50001});
50002
50003$(document).on("click", ".js-price-select-trigger", function () {
50004  setTimeout(() => {
50005    const catBtn = document.querySelector(".catalog-form__btn.is-search");
50006    catBtn.click();
50007  }, 500);
50008});
50009
50010setTimeout(() => {
50011  const rangeSliders = document.querySelectorAll(
50012    ".custom-dropdown__range .irs--round"
50013  );
50014  const resetBtn = document.querySelector(
50015    ".custom-dropdown__clear.js-price-range-reset"
50016  );
50017  const resetBtnArea = document.querySelector(
50018    ".custom-dropdown__clear.js-area-range-reset"
50019  );
50020  const catBtn = document.querySelector(".catalog-form__btn.is-search");
50021
50022  rangeSliders.forEach((rangeSlider) => {
50023    console.log("a");
50024    rangeSlider.addEventListener("mouseup", function () {
50025      console.log("s");
50026
50027      if (catBtn) {
50028        setTimeout(() => {
50029          catBtn.click();
50030        }, 200);
50031      }
50032    });
50033  });
50034
50035  if (resetBtn) {
50036    resetBtn.addEventListener("click", function () {
50037      if (catBtn) {
50038        setTimeout(() => {
50039          catBtn.click();
50040        }, 200);
50041      }
50042    });
50043  }
50044
50045  if (resetBtnArea) {
50046    resetBtnArea.addEventListener("click", function () {
50047      if (catBtn) {
50048        setTimeout(() => {
50049          catBtn.click();
50050        }, 200);
50051      }
50052    });
50053  }
50054}, 500);
50055
50056// hanvis 11 oct 2024
50057
50058$(".js-price-from, .js-price-to, .js-area-from, .js-area-to").on(
50059  "focus",
50060  function () {
50061    $(this).val("");
50062  }
50063);
50064$(document).on("click", ".time-end__close", function () {
50065  $.fancybox.close();
50066});
50067
50068$(document).ready(function () {
50069  let lotBlock = $(".lot__migrate");
50070  let lotAside = $(".lot__aside");
50071  let lotInfoWrapper = $(".lot__migrate-wrapper");
50072
50073  function moveInfoInMain() {
50074    lotInfoWrapper.append(lotBlock);
50075  }
50076  function moveInfoInAside() {
50077    lotAside.append(lotBlock);
50078  }
50079  $(window).on("resize", function () {
50080    if ($(window).outerWidth() < 1023) {
50081      moveInfoInMain();
50082    } else {
50083      moveInfoInAside();
50084    }
50085  });
50086
50087  if ($(window).outerWidth() < 1023) {
50088    moveInfoInMain();
50089  }
50090});
50091
50092$(document).on('mouseenter', '.js-menu-category', function () {
50093    if ($(this).hasClass('is-active')) {
50094        return;
50095    } else {
50096        $('.header-hidden__col-subgroup').removeClass('is-visible');
50097    }
50098    let category = $(this).attr('data-category');
50099    $('.js-menu-category').removeClass('is-active');
50100    $('.header-hidden__col-group').removeClass('is-visible');
50101    $(`.header-hidden__col-group[data-category=${category}]`).addClass('is-visible');
50102    $(this).addClass('is-active');
50103});
50104$(document).on('mouseenter', '.js-menu-subcategory', function () {
50105    let category = $(this).closest('.header-hidden__col-group').attr('data-category');
50106    let subcategory = $(this).attr('data-subcategory');
50107    $('.js-menu-subcategory').removeClass('is-active');
50108    $('.header-hidden__col-subgroup[data-subcategory]').removeClass('is-visible');
50109    $(`.header-hidden__col-subgroup[data-category=${category}][data-subcategory=${subcategory}]`).addClass('is-visible');
50110    $(this).addClass('is-active');
50111});
50112$(document).on('click', '.js-mob-subcategory', function () {
50113    $(this).closest('.header-hidden__heading-wrapper').find('.header-hidden__col-subgroup').slideToggle();
50114    $(this).toggleClass('is-active');
50115});
50116/* End */
50117;
50118; /* Start:"a:4:{s:4:"full";s:51:"/local/templates/rad/static/js/add.js?1787719820369";s:6:"source";s:37:"/local/templates/rad/static/js/add.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
50119$(document).on('click', '.js-contact-btn', function() {
50120    $(this).toggleClass('is-active');
50121    $(this).parent().find('.lot-consult__contact').slideToggle();
50122    let isActive = $(this).hasClass('is-active');
50123    if(isActive) {
50124        $(this).text('Скрыть контакты');
50125    } else {
50126        $(this).text('Показать контакты');
50127    }
50128});
50129
50130/* End */
50131;
50132; /* Start:"a:4:{s:4:"full";s:91:"/local/templates/rad/components/altit/altit.feedback/sell_feedback/script.js?17630442287065";s:6:"source";s:76:"/local/templates/rad/components/altit/altit.feedback/sell_feedback/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
50133(function (window) {
50134
50135    'use strict';
50136
50137    if (window.JSFormFeedback)
50138        return;
50139
50140    window.JSFormFeedback = function (arParams) {
50141
50142        this.arParams = arParams || {};
50143
50144        //Валидация формы
50145        this.valid = function () {
50146
50147            let _this = this;
50148            let formId = '#' + arParams.formId; // Находим ID формы
50149            let form = this.elementForm;// Находим нашу конкретную форму
50150            let voted = form.querySelector('.license-vote'); // Если есть лицензионное соглашение, то находим этот элемент
50151            let btn = form.querySelector('[name=submit]'); // Кнопка отправки формы
50152
50153            // Если есть лицензионное соглашение, то валидируем форму под это условие
50154            if (voted) {
50155
50156                let label = voted.parentElement;
50157
50158                //btn.setAttribute('disabled', 'disabled');
50159                label.addEventListener('change', function() {
50160
50161                    if (voted.checked) {
50162                        btn.removeAttribute('disabled');
50163                        btn.removeAttribute('style');
50164                    } else {
50165                        btn.setAttribute('disabled', 'disabled');
50166                        btn.style.backgroundColor = 'grey';
50167                    }
50168
50169                });
50170
50171            }
50172
50173            // Что делать после нажатия на кнопку отправки формы
50174            btn.addEventListener('click', function () {
50175
50176                let formItems = this.form.elements;
50177                let fileInputs = document.querySelectorAll(formId + ' [type=file]');
50178                let firstError = true;
50179
50180                // Перебираем файловые инпуты
50181                fileInputs.forEach(function (item) {
50182
50183                    if (item.files.length) {
50184
50185                        let fileTypes = arParams.fileTypes;
50186                        let maxFileSize = arParams.maxFileSize;
50187                        let typeError = '';
50188                        let sizeError = '';
50189
50190                        for (let i = 0; i < item.files.length; i++) {
50191
50192                            if (item.files[i].size > maxFileSize) {
50193                                sizeError = 'Превышен допустимый размер файла';
50194                            }
50195
50196                            if (fileTypes.includes(item.files[i].name.split('.').pop().toLowerCase()) === false) {
50197                                typeError = 'Недопустимый тип файла';
50198                            }
50199
50200                            if (typeError) {
50201                                item.setCustomValidity(typeError);
50202                            }
50203
50204                            if (sizeError) {
50205                                if (typeError) {
50206                                    item.setCustomValidity(typeError + ' + ' + sizeError);
50207                                } else {
50208                                    item.setCustomValidity(sizeError);
50209                                }
50210                            }
50211
50212                            if (!typeError && !sizeError) {
50213                                item.setCustomValidity('');
50214                            } else {
50215                                break;
50216                            }
50217
50218                        }
50219
50220                    }
50221
50222                });
50223
50224                // Перебираем элементы формы
50225                for (let i = 0; i < formItems.length; i++) {
50226
50227                    if (formItems[i].type === 'select-one') {
50228                        formItems[i].parentElement.removeAttribute('style');
50229                    } else {
50230                        formItems[i].removeAttribute('style');
50231                    }
50232
50233                    // Проверяем корректность заполнения
50234                    if (!formItems[i].checkValidity()) {
50235
50236                        if (firstError) {
50237                            firstError = false;
50238                        }
50239
50240                        if (formItems[i].type === 'select-one') {
50241                            formItems[i].parentElement.style.border = 'red 1px solid';
50242                        } else {
50243                            formItems[i].style.border = 'red 1px solid';
50244                        }
50245
50246                        // Прокрутка экрана до инпута, где есть ошибка
50247                        /*let error = form.querySelector('[style]'); // Находим инпут, у которого есть инлайн стили ксс
50248                        const yOffset = -100;
50249                        const yCord = error.getBoundingClientRect().top + window.pageYOffset + yOffset;
50250                        window.scroll({top: yCord, behavior: 'smooth'});
50251                        window.recaptchaInited = false;*/
50252                        _this.recaptchaInit();
50253
50254                    }
50255
50256                }
50257
50258            });
50259
50260        };
50261
50262        // Прикручиваем гугл капчу
50263        this.recaptchaInit = function () {
50264
50265            if (typeof grecaptcha !== 'undefined' && this.recaptchaKey) {
50266
50267                let key = this.recaptchaKey;
50268
50269                // Обновление инпутов с ключом от гугла при успешной/неуспешной отправке
50270                document.querySelectorAll('input[name=recaptcha_response]').forEach(function (item) {
50271                    item.value = '';
50272                });
50273
50274                // Инициализация ключей капчи в свои инпуты
50275                grecaptcha.ready(function () {
50276
50277                    grecaptcha.execute(key, {action: 'request'}).then(function (token) {
50278
50279                        var recaptchaNode = document.querySelectorAll('input[name=recaptcha_response]'); // Инпут для капчи
50280                        var nodeLength = recaptchaNode.length;
50281                        var i;
50282
50283                        // Если форм несколько на странице
50284                        if (nodeLength) {
50285
50286                            for (i = 0; i < nodeLength; i++) {
50287                                recaptchaNode[i].value = token;
50288                            }
50289
50290                        }
50291
50292                        window.recaptchaInited = true;
50293
50294                    });
50295
50296                });
50297
50298            }
50299
50300        };
50301
50302        this.init = function (arParams) {
50303            this.elementForm = document.querySelector('#' + arParams.formId);
50304            this.recaptchaKey = arParams.recaptchaKey || '';
50305            this.recaptchaInit();
50306            this.valid();
50307        };
50308
50309        this.init(arParams);
50310        /*let $this = this;
50311        setInterval(function () {
50312            $this.recaptchaInit();
50313        }, 120000);*/
50314		
50315		setInterval(function (formFeedback) {
50316            formFeedback.recaptchaInit();
50317        }, 120000, this);
50318
50319    }
50320
50321})(window);
50322
50323/* End */
50324;
50325; /* Start:"a:4:{s:4:"full";s:92:"/local/templates/rad/components/altit/altit.feedback/feedbackForArt/script.js?17373810277065";s:6:"source";s:77:"/local/templates/rad/components/altit/altit.feedback/feedbackForArt/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
50326(function (window) {
50327
50328    'use strict';
50329
50330    if (window.JSFormFeedback)
50331        return;
50332
50333    window.JSFormFeedback = function (arParams) {
50334
50335        this.arParams = arParams || {};
50336
50337        //Валидация формы
50338        this.valid = function () {
50339
50340            let _this = this;
50341            let formId = '#' + arParams.formId; // Находим ID формы
50342            let form = this.elementForm;// Находим нашу конкретную форму
50343            let voted = form.querySelector('.license-vote'); // Если есть лицензионное соглашение, то находим этот элемент
50344            let btn = form.querySelector('[name=submit]'); // Кнопка отправки формы
50345
50346            // Если есть лицензионное соглашение, то валидируем форму под это условие
50347            if (voted) {
50348
50349                let label = voted.parentElement;
50350
50351                //btn.setAttribute('disabled', 'disabled');
50352                label.addEventListener('change', function() {
50353
50354                    if (voted.checked) {
50355                        btn.removeAttribute('disabled');
50356                        btn.removeAttribute('style');
50357                    } else {
50358                        btn.setAttribute('disabled', 'disabled');
50359                        btn.style.backgroundColor = 'grey';
50360                    }
50361
50362                });
50363
50364            }
50365
50366            // Что делать после нажатия на кнопку отправки формы
50367            btn.addEventListener('click', function () {
50368
50369                let formItems = this.form.elements;
50370                let fileInputs = document.querySelectorAll(formId + ' [type=file]');
50371                let firstError = true;
50372
50373                // Перебираем файловые инпуты
50374                fileInputs.forEach(function (item) {
50375
50376                    if (item.files.length) {
50377
50378                        let fileTypes = arParams.fileTypes;
50379                        let maxFileSize = arParams.maxFileSize;
50380                        let typeError = '';
50381                        let sizeError = '';
50382
50383                        for (let i = 0; i < item.files.length; i++) {
50384
50385                            if (item.files[i].size > maxFileSize) {
50386                                sizeError = 'Превышен допустимый размер файла';
50387                            }
50388
50389                            if (fileTypes.includes(item.files[i].name.split('.').pop().toLowerCase()) === false) {
50390                                typeError = 'Недопустимый тип файла';
50391                            }
50392
50393                            if (typeError) {
50394                                item.setCustomValidity(typeError);
50395                            }
50396
50397                            if (sizeError) {
50398                                if (typeError) {
50399                                    item.setCustomValidity(typeError + ' + ' + sizeError);
50400                                } else {
50401                                    item.setCustomValidity(sizeError);
50402                                }
50403                            }
50404
50405                            if (!typeError && !sizeError) {
50406                                item.setCustomValidity('');
50407                            } else {
50408                                break;
50409                            }
50410
50411                        }
50412
50413                    }
50414
50415                });
50416
50417                // Перебираем элементы формы
50418                for (let i = 0; i < formItems.length; i++) {
50419
50420                    if (formItems[i].type === 'select-one') {
50421                        formItems[i].parentElement.removeAttribute('style');
50422                    } else {
50423                        formItems[i].removeAttribute('style');
50424                    }
50425
50426                    // Проверяем корректность заполнения
50427                    if (!formItems[i].checkValidity()) {
50428
50429                        if (firstError) {
50430                            firstError = false;
50431                        }
50432
50433                        if (formItems[i].type === 'select-one') {
50434                            formItems[i].parentElement.style.border = 'red 1px solid';
50435                        } else {
50436                            formItems[i].style.border = 'red 1px solid';
50437                        }
50438
50439                        // Прокрутка экрана до инпута, где есть ошибка
50440                        /*let error = form.querySelector('[style]'); // Находим инпут, у которого есть инлайн стили ксс
50441                        const yOffset = -100;
50442                        const yCord = error.getBoundingClientRect().top + window.pageYOffset + yOffset;
50443                        window.scroll({top: yCord, behavior: 'smooth'});
50444                        window.recaptchaInited = false;*/
50445                        _this.recaptchaInit();
50446
50447                    }
50448
50449                }
50450
50451            });
50452
50453        };
50454
50455        // Прикручиваем гугл капчу
50456        this.recaptchaInit = function () {
50457
50458            if (typeof grecaptcha !== 'undefined' && this.recaptchaKey) {
50459
50460                let key = this.recaptchaKey;
50461
50462                // Обновление инпутов с ключом от гугла при успешной/неуспешной отправке
50463                document.querySelectorAll('input[name=recaptcha_response]').forEach(function (item) {
50464                    item.value = '';
50465                });
50466
50467                // Инициализация ключей капчи в свои инпуты
50468                grecaptcha.ready(function () {
50469
50470                    grecaptcha.execute(key, {action: 'request'}).then(function (token) {
50471
50472                        var recaptchaNode = document.querySelectorAll('input[name=recaptcha_response]'); // Инпут для капчи
50473                        var nodeLength = recaptchaNode.length;
50474                        var i;
50475
50476                        // Если форм несколько на странице
50477                        if (nodeLength) {
50478
50479                            for (i = 0; i < nodeLength; i++) {
50480                                recaptchaNode[i].value = token;
50481                            }
50482
50483                        }
50484
50485                        window.recaptchaInited = true;
50486
50487                    });
50488
50489                });
50490
50491            }
50492
50493        };
50494
50495        this.init = function (arParams) {
50496            this.elementForm = document.querySelector('#' + arParam
50496s.formId);
50497            this.recaptchaKey = arParams.recaptchaKey || '';
50498            this.recaptchaInit();
50499            this.valid();
50500        };
50501
50502        this.init(arParams);
50503        /*let $this = this;
50504        setInterval(function () {
50505            $this.recaptchaInit();
50506        }, 120000);*/
50507		
50508		setInterval(function (formFeedback) {
50509            formFeedback.recaptchaInit();
50510        }, 120000, this);
50511
50512    }
50513
50514})(window);
50515
50516/* End */
50517;
50518; /* Start:"a:4:{s:4:"full";s:88:"/local/templates/rad/components/altit/altit.feedback/inspection/script.js?17628557316136";s:6:"source";s:73:"/local/templates/rad/components/altit/altit.feedback/inspection/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
50519(function (window) {
50520
50521    'use strict';
50522
50523    if (window.JSFormFeedback)
50524        return;
50525
50526    window.JSFormFeedback = function (arParams) {
50527
50528        this.arParams = arParams || {};
50529
50530        //Валидация формы
50531        this.valid = function () {
50532
50533            let _this = this;
50534            let formId = '#' + arParams.formId; // Находим ID формы
50535            let form = this.elementForm;// Находим нашу конкретную форму
50536            let voted = form.querySelector('.license-vote'); // Если есть лицензионное соглашение, то находим этот элемент
50537            let btn = form.querySelector('[name=submit]'); // Кнопка отправки формы
50538
50539            // Если есть лицензионное соглашение, то валидируем форму под это условие
50540            
50541            // Что делать после нажатия на кнопку отправки формы
50542            btn.addEventListener('click', function () {
50543                console.log(123);
50544                let formItems = this.form.elements;
50545                let fileInputs = document.querySelectorAll(formId + ' [type=file]');
50546                let firstError = true;
50547
50548                // Перебираем файловые инпуты
50549                fileInputs.forEach(function (item) {
50550
50551                    if (item.files.length) {
50552
50553                        let fileTypes = arParams.fileTypes;
50554                        let maxFileSize = arParams.maxFileSize;
50555                        let typeError = '';
50556                        let sizeError = '';
50557
50558                        for (let i = 0; i < item.files.length; i++) {
50559
50560                            if (item.files[i].size > maxFileSize) {
50561                                sizeError = 'Превышен допустимый размер файла';
50562                            }
50563
50564                            if (fileTypes.includes(item.files[i].name.split('.').pop().toLowerCase()) === false) {
50565                                typeError = 'Недопустимый тип файла';
50566                            }
50567
50568                            if (typeError) {
50569                                item.setCustomValidity(typeError);
50570                            }
50571
50572                            if (sizeError) {
50573                                if (typeError) {
50574                                    item.setCustomValidity(typeError + ' + ' + sizeError);
50575                                } else {
50576                                    item.setCustomValidity(sizeError);
50577                                }
50578                            }
50579
50580                            if (!typeError && !sizeError) {
50581                                item.setCustomValidity('');
50582                            } else {
50583                                break;
50584                            }
50585
50586                        }
50587
50588                    }
50589
50590                });
50591
50592                // Перебираем элементы формы
50593                for (let i = 0; i < formItems.length; i++) {
50594
50595                    formItems[i].removeAttribute('style');
50596
50597                    // Проверяем корректность заполнения
50598                    if (!formItems[i].checkValidity()) {
50599
50600                        if (firstError) {
50601                            firstError = false;
50602                        }
50603
50604                        formItems[i].style.border = 'red 1px solid';
50605
50606                        // Прокрутка экрана до инпута, где есть ошибка
50607                        /*let error = form.querySelector('[style]'); // Находим инпут, у которого есть инлайн стили ксс
50608                        const yOffset = -100;
50609                        const yCord = error.getBoundingClientRect().top + window.pageYOffset + yOffset;
50610                        window.scroll({top: yCord, behavior: 'smooth'});
50611                        window.recaptchaInited = false;*/
50612                        _this.recaptchaInit();
50613
50614                    }
50615
50616                }
50617
50618            });
50619
50620        };
50621
50622        // Прикручиваем гугл капчу
50623        this.recaptchaInit = function () {
50624
50625            if (typeof grecaptcha !== 'undefined' && this.recaptchaKey) {
50626
50627                let key = this.recaptchaKey;
50628
50629                // Обновление инпутов с ключом от гугла при успешной/неуспешной отправке
50630                document.querySelectorAll('input[name=recaptcha_response]').forEach(function (item) {
50631                    item.value = '';
50632                });
50633
50634                // Инициализация ключей капчи в свои инпуты
50635                grecaptcha.ready(function () {
50636
50637                    grecaptcha.execute(key, {action: 'request'}).then(function (token) {
50638
50639                        var recaptchaNode = document.querySelectorAll('input[name=recaptcha_response]'); // Инпут для капчи
50640                        var nodeLength = recaptchaNode.length;
50641                        var i;
50642
50643                        // Если форм несколько на странице
50644                        if (nodeLength) {
50645
50646                            for (i = 0; i < nodeLength; i++) {
50647                                recaptchaNode[i].value = token;
50648                            }
50649
50650                        }
50651
50652                        window.recaptchaInited = true;
50653
50654                    });
50655
50656                });
50657
50658            }
50659
50660        };
50661
50662        this.init = function (arParams) {
50663            this.elementForm = document.querySelector('#' + arParams.formId);
50664            this.recaptchaKey = arParams.recaptchaKey || '';
50665            this.recaptchaInit();
50666            this.valid();
50667        };
50668
50669        this.init(arParams);
50670        /*let $this = this;
50671        setInterval(function () {
50672            $this.recaptchaInit();
50673        }, 120000);*/
50674		
50675		setInterval(function (formFeedback) {
50676            formFeedback.recaptchaInit();
50677        }, 120000, this);
50678
50679    }
50680
50681})(window);
50682
50683/* End */
50684;
50685; /* Start:"a:4:{s:4:"full";s:92:"/local/templates/rad/components/altit/altit.feedback/inspection-new/script.js?17383215986574";s:6:"source";s:77:"/local/templates/rad/components/altit/altit.feedback/inspection-new/script.js";s:3:"min";s:0:"";s:3:"map";s:0:"";}"*/
50686(function (window) {
50687
50688    'use strict';
50689
50690    if (window.JSFormFeedback)
50691        return;
50692
50693    window.JSFormFeedback = function (arParams) {
50694
50695        this.arParams = arParams || {};
50696
50697        //Валидация формы
50698        this.valid = function () {
50699
50700            let _this = this;
50701            let formId = '#' + arParams.formId; // Находим ID формы
50702            let form = this.elementForm;// Находим нашу конкретную форму
50703            let voted = form.querySelector('.license-vote'); // Если есть лицензионное соглашение, то находим этот элемент
50704            let btn = form.querySelector('[name=submit]'); // Кнопка отправки формы
50705
50706            // Если есть лицензионное соглашение, то валидируем форму под это условие
50707            if (voted) {
50708
50709                let label = voted.parentElement;
50710
50711                //btn.setAttribute('disabled', 'disabled');
50712                label.addEventListener('change', function() {
50713
50714                    if (voted.checked) {
50715                        btn.removeAttribute('disabled');
50716                    } else {
50717                        btn.setAttribute('disabled', 'disabled');
50718                    }
50719
50720                });
50721
50722            }
50723
50724            // Что делать после нажатия на кнопку отправки формы
50725            btn.addEventListener('click', function () {
50726                console.log(123);
50727                let formItems = this.form.elements;
50728                let fileInputs = document.querySelectorAll(formId + ' [type=file]');
50729                let firstError = true;
50730
50731                // Перебираем файловые инпуты
50732                fileInputs.forEach(function (item) {
50733
50734                    if (item.files.length) {
50735
50736                        let fileTypes = arParams.fileTypes;
50737                        let maxFileSize = arParams.maxFileSize;
50738                        let typeError = '';
50739                        let sizeError = '';
50740
50741                        for (let i = 0; i < item.files.length; i++) {
50742
50743                            if (item.files[i].size > maxFileSize) {
50744                                sizeError = 'Превышен допустимый размер файла';
50745                            }
50746
50747                            if (fileTypes.includes(item.files[i].name.split('.').pop().toLowerCase()) === false) {
50748                                typeError = 'Недопустимый тип файла';
50749                            }
50750
50751                            if (typeError) {
50752                                item.setCustomValidity(typeError);
50753                            }
50754
50755                            if (sizeError) {
50756                                if (typeError) {
50757                                    item.setCustomValidity(typeError + ' + ' + sizeError);
50758                                } else {
50759                                    item.setCustomValidity(sizeError);
50760                                }
50761                            }
50762
50763                            if (!typeError && !sizeError) {
50764                                item.setCustomValidity('');
50765                            } else {
50766                                break;
50767                            }
50768
50769                        }
50770
50771                    }
50772
50773                });
50774
50775                // Перебираем элементы формы
50776                for (let i = 0; i < formItems.length; i++) {
50777
50778                    formItems[i].removeAttribute('style');
50779
50780                    // Проверяем корректность заполнения
50781                    if (!formItems[i].checkValidity()) {
50782
50783                        if (firstError) {
50784                            firstError = false;
50785                        }
50786
50787                        formItems[i].style.border = 'red 1px solid';
50788
50789                        // Прокрутка экрана до инпута, где есть ошибка
50790                        /*let error = form.querySelector('[style]'); // Находим инпут, у которого есть инлайн стили ксс
50791                        const yOffset = -100;
50792                        const yCord = error.getBoundingClientRect().top + window.pageYOffset + yOffset;
50793                        window.scroll({top: yCord, behavior: 'smooth'});
50794                        window.recaptchaInited = false;*/
50795                        _this.recaptchaInit();
50796
50797                    }
50798
50799                }
50800
50801            });
50802
50803        };
50804
50805        // Прикручиваем гугл капчу
50806        this.recaptchaInit = function () {
50807
50808            if (typeof grecaptcha !== 'undefined' && this.recaptchaKey) {
50809
50810                let key = this.recaptchaKey;
50811
50812                // Обновление инпутов с ключом от гугла при успешной/неуспешной отправке
50813                document.querySelectorAll('input[name=recaptcha_response]').forEach(function (item) {
50814                    item.value = '';
50815                });
50816
50817                // Инициализация ключей капчи в свои инпуты
50818                grecaptcha.ready(function () {
50819
50820                    grecaptcha.execute(key, {action: 'request'}).then(function (token) {
50821
50822                        var recaptchaNode = document.querySelectorAll('input[name=recaptcha_response]'); // Инпут для капчи
50823                        var nodeLength = recaptchaNode.length;
50824                        var i;
50825
50826                        // Если форм несколько на странице
50827                        if (nodeLength) {
50828
50829                            for (i = 0; i < nodeLength; i++) {
50830                                recaptchaNode[i].value = token;
50831                            }
50832
50833                        }
50834
50835                        window.recaptchaInited = true;
50836
50837                    });
50838
50839                });
50840
50841            }
50842
50843        };
50844
50845        this.init = function (arParams) {
50846            this.elementForm = document.querySelector('#' + arParam
50846s.formId);
50847            this.recaptchaKey = arParams.recaptchaKey || '';
50848            this.recaptchaInit();
50849            this.valid();
50850        };
50851
50852        this.init(arParams);
50853        /*let $this = this;
50854        setInterval(function () {
50855            $this.recaptchaInit();
50856        }, 120000);*/
50857		
50858		setInterval(function (formFeedback) {
50859            formFeedback.recaptchaInit();
50860        }, 120000, this);
50861
50862    }
50863
50864})(window);
50865
50866/* End */
50867;; /* /local/templates/rad/static/js/main.js?17748691961555909*/
50868; /* /local/templates/rad/static/js/add.js?1787719820369*/
50869; /* /local/templates/rad/components/altit/altit.feedback/sell_feedback/script.js?17630442287065*/
50870; /* /local/templates/rad/components/altit/altit.feedback/feedbackForArt/script.js?17373810277065*/
50871; /* /local/templates/rad/components/altit/altit.feedback/inspection/script.js?17628557316136*/
50872; /* /local/templates/rad/components/altit/altit.feedback/inspection-new/script.js?17383215986574*/

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