PageSourceSearch

https://securesky-plus.com/wp-content/themes/ssplus20250618/assets/js/lib.js

js securesky-plus.com collected 2026-10-02 05:24:42 UTC 861,088 bytes, 20,215 lines download raw bytes

1/*!
2 * Name: lib.js
3 * Since: 2021-12-1
4 * Update: -
5 * Version: 2.0.0
6 * Description: プロジェクトで共通して使用するJavaScriptプラグイン・ライブラリ
7 */
8
9/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
10!(function (e, t) {
11    'use strict';
12    'object' == typeof module && 'object' == typeof module.exports
13        ? (module.exports = e.document
14              ? t(e, !0)
15              : function (e) {
16                    if (!e.document)
17                        throw new Error(
18                            'jQuery requires a window with a document'
19                        );
20                    return t(e);
21                })
22        : t(e);
23})('undefined' != typeof window ? window : this, function (C, e) {
24    'use strict';
25    var t = [],
26        r = Object.getPrototypeOf,
27        s = t.slice,
28        g = t.flat
29            ? function (e) {
30                  return t.flat.call(e);
31              }
32            : function (e) {
33                  return t.concat.apply([], e);
34              },
35        u = t.push,
36        i = t.indexOf,
37        n = {},
38        o = n.toString,
39        v = n.hasOwnProperty,
40        a = v.toString,
41        l = a.call(Object),
42        y = {},
43        m = function (e) {
44            return (
45                'function' == typeof e &&
46                'number' != typeof e.nodeType &&
47                'function' != typeof e.item
48            );
49        },
50        x = function (e) {
51            return null != e && e === e.window;
52        },
53        E = C.document,
54        c = { type: !0, src: !0, nonce: !0, noModule: !0 };
55    function b(e, t, n) {
56        var r,
57            i,
58            o = (n = n || E).createElement('script');
59        if (((o.text = e), t))
60            for (r in c)
61                (i = t[r] || (t.getAttribute && t.getAttribute(r))) &&
62                    o.setAttribute(r, i);
63        n.head.appendChild(o).parentNode.removeChild(o);
64    }
65    function w(e) {
66        return null == e
67            ? e + ''
68            : 'object' == typeof e || 'function' == typeof e
69            ? n[o.call(e)] || 'object'
70            : typeof e;
71    }
72    var f = '3.6.0',
73        S = function (e, t) {
74            return new S.fn.init(e, t);
75        };
76    function p(e) {
77        var t = !!e && 'length' in e && e.length,
78            n = w(e);
79        return (
80            !m(e) &&
81            !x(e) &&
82            ('array' === n ||
83                0 === t ||
84                ('number' == typeof t && 0 < t && t - 1 in e))
85        );
86    }
87    (S.fn = S.prototype =
88        {
89            jquery: f,
90            constructor: S,
91            length: 0,
92            toArray: function () {
93                return s.call(this);
94            },
95            get: function (e) {
96                return null == e
97                    ? s.call(this)
98                    : e < 0
99                    ? this[e + this.length]
100                    : this[e];
101            },
102            pushStack: function (e) {
103                var t = S.merge(this.constructor(), e);
104                return (t.prevObject = this), t;
105            },
106            each: function (e) {
107                return S.each(this, e);
108            },
109            map: function (n) {
110                return this.pushStack(
111                    S.map(this, function (e, t) {
112                        return n.call(e, t, e);
113                    })
114                );
115            },
116            slice: function () {
117                return this.pushStack(s.apply(this, arguments));
118            },
119            first: function () {
120                return this.eq(0);
121            },
122            last: function () {
123                return this.eq(-1);
124            },
125            even: function () {
126                return this.pushStack(
127                    S.grep(this, function (e, t) {
128                        return (t + 1) % 2;
129                    })
130                );
131            },
132            odd: function () {
133                return this.pushStack(
134                    S.grep(this, function (e, t) {
135                        return t % 2;
136                    })
137                );
138            },
139            eq: function (e) {
140                var t = this.length,
141                    n = +e + (e < 0 ? t : 0);
142                return this.pushStack(0 <= n && n < t ? [this[n]] : []);
143            },
144            end: function () {
145                return this.prevObject || this.constructor();
146            },
147            push: u,
148            sort: t.sort,
149            splice: t.splice
150        }),
151        (S.extend = S.fn.extend =
152            function () {
153                var e,
154                    t,
155                    n,
156                    r,
157                    i,
158                    o,
159                    a = arguments[0] || {},
160                    s = 1,
161                    u = arguments.length,
162                    l = !1;
163                for (
164                    'boolean' == typeof a &&
165                        ((l = a), (a = arguments[s] || {}), s++),
166                        'object' == typeof a || m(a) || (a = {}),
167                        s === u && ((a = this), s--);
168                    s < u;
169                    s++
170                )
171                    if (null != (e = arguments[s]))
172                        for (t in e)
173                            (r = e[t]),
174                                '__proto__' !== t &&
175                                    a !== r &&
176                                    (l &&
177                                    r &&
178                                    (S.isPlainObject(r) ||
179                                        (i = Array.isArray(r)))
180                                        ? ((n = a[t]),
181                                          (o =
182                                              i && !Array.isArray(n)
183                                                  ? []
184                                                  : i || S.isPlainObject(n)
185                                                  ? n
186                                                  : {}),
187                                          (i = !1),
188                                          (a[t] = S.extend(l, o, r)))
189                                        : void 0 !== r && (a[t] = r));
190                return a;
191            }),
192        S.extend({
193            expando: 'jQuery' + (f + Math.random()).replace(/\D/g, ''),
194            isReady: !0,
195            error: function (e) {
196                throw new Error(e);
197            },
198            noop: function () {},
199            isPlainObject: function (e) {
200                var t, n;
201                return (
202                    !(!e || '[object Object]' !== o.call(e)) &&
203                    (!(t = r(e)) ||
204                        ('function' ==
205                            typeof (n =
206                                v.call(t, 'constructor') && t.constructor) &&
207                            a.call(n) === l))
208                );
209            },
210            isEmptyObject: function (e) {
211                var t;
212                for (t in e) return !1;
213                return !0;
214            },
215            globalEval: function (e, t, n) {
216                b(e, { nonce: t && t.nonce }, n);
217            },
218            each: function (e, t) {
219                var n,
220                    r = 0;
221                if (p(e)) {
222                    for (n = e.length; r < n; r++)
223                        if (!1 === t.call(e[r], r, e[r])) break;
224                } else for (r in e) if (!1 === t.call(e[r], r, e[r])) break;
225                return e;
226            },
227            makeArray: function (e, t) {
228                var n = t || [];
229                return (
230                    null != e &&
231                        (p(Object(e))
232                            ? S.merge(n, 'string' == typeof e ? [e] : e)
233                            : u.call(n, e)),
234                    n
235                );
236            },
237            inArray: function (e, t, n) {
238                return null == t ? -1 : i.call(t, e, n);
239            },
240            merge: function (e, t) {
241                for (var n = +t.length, r = 0, i = e.length; r < n; r++)
242                    e[i++] = t[r];
243                return (e.length = i), e;
244            },
245            grep: function (e, t, n) {
246                for (var r = [], i = 0, o = e.length, a = !n; i < o; i++)
247                    !t(e[i], i) !== a && r.push(e[i]);
248                return r;
249            },
250            map: function (e, t, n) {
251                var r,
252                    i,
253                    o = 0,
254                    a = [];
255                if (p(e))
256                    for (r = e.length; o < r; o++)
257                        null != (i = t(e[o], o, n)) && a.push(i);
258                else for (o in e) null != (i = t(e[o], o, n)) && a.push(i);
259                return g(a);
260            },
261            guid: 1,
262            support: y
263        }),
264        'function' == typeof Symbol &&
265            (S.fn[Symbol.iterator] = t[Symbol.iterator]),
266        S.each(
267            'Boolean Number String Function Array Date RegExp Object Error Symbol'.split(
268                ' '
269            ),
270            function (e, t) {
271                n['[object ' + t + ']'] = t.toLowerCase();
272            }
273        );
274    var d = (function (n) {
275        var e,
276            d,
277            b,
278            o,
279            i,
280            h,
281            f,
282            g,
283            w,
284            u,
285            l,
286            T,
287            C,
288            a,
289            E,
290            v,
291            s,
292            c,
293            y,
294            S = 'sizzle' + 1 * new Date(),
295            p = n.document,
296            k = 0,
297            r = 0,
298            m = ue(),
299            x = ue(),
300            A = ue(),
301            N = ue(),
302            j = function (e, t) {
303                return e === t && (l = !0), 0;
304            },
305            D = {}.hasOwnProperty,
306            t = [],
307            q = t.pop,
308            L = t.push,
309            H = t.push,
310            O = t.slice,
311            P = function (e, t) {
312                for (var n = 0, r = e.length; n < r; n++)
313                    if (e[n] === t) return n;
314                return -1;
315            },
316            R =
317                'checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped',
318            M = '[\\x20\\t\\r\\n\\f]',
319            I =
320                '(?:\\\\[\\da-fA-F]{1,6}' +
321                M +
322                '?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+',
323            W =
324                '\\[' +
325                M +
326                '*(' +
327                I +
328                ')(?:' +
329                M +
330                '*([*^$|!~]?=)' +
331                M +
332                '*(?:\'((?:\\\\.|[^\\\\\'])*)\'|"((?:\\\\.|[^\\\\"])*)"|(' +
333                I +
334                '))|)' +
335                M +
336                '*\\]',
337            F =
338                ':(' +
339                I +
340                ')(?:\\(((\'((?:\\\\.|[^\\\\\'])*)\'|"((?:\\\\.|[^\\\\"])*)")|((?:\\\\.|[^\\\\()[\\]]|' +
341                W +
342                ')*)|.*)\\)|)',
343            B = new RegExp(M + '+', 'g'),
344            $ = new RegExp(
345                '^' + M + '+|((?:^|[^\\\\])(?:\\\\.)*)' + M + '+$',
346                'g'
347            ),
348            _ = new RegExp('^' + M + '*,' + M + '*'),
349            z = new RegExp('^' + M + '*([>+~]|' + M + ')' + M + '*'),
350            U = new RegExp(M + '|>'),
351            X = new RegExp(F),
352            V = new RegExp('^' + I + '$'),
353            G = {
354                ID: new RegExp('^#(' + I + ')'),
355                CLASS: new RegExp('^\\.(' + I + ')'),
356                TAG: new RegExp('^(' + I + '|[*])'),
357                ATTR: new RegExp('^' + W),
358                PSEUDO: new RegExp('^' + F),
359                CHILD: new RegExp(
360                    '^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(' +
361                        M +
362                        '*(even|odd|(([+-]|)(\\d*)n|)' +
363                        M +
364                        '*(?:([+-]|)' +
365                        M +
366                        '*(\\d+)|))' +
367                        M +
368                        '*\\)|)',
369                    'i'
370                ),
371                bool: new RegExp('^(?:' + R + ')$', 'i'),
372                needsContext: new RegExp(
373                    '^' +
374                        M +
375                        '*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(' +
376                        M +
377                        '*((?:-\\d)?\\d*)' +
378                        M +
379                        '*\\)|)(?=[^-]|$)',
380                    'i'
381                )
382            },
383            Y = /HTML$/i,
384            Q = /^(?:input|select|textarea|button)$/i,
385            J = /^h\d$/i,
386            K = /^[^{]+\{\s*\[native \w/,
387            Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
388            ee = /[+~]/,
389            te = new RegExp(
390                '\\\\[\\da-fA-F]{1,6}' + M + '?|\\\\([^\\r\\n\\f])',
391                'g'
392            ),
393            ne = function (e, t) {
394                var n = '0x' + e.slice(1) - 65536;
395                return (
396                    t ||
397                    (n < 0
398                        ? String.fromCharCode(n + 65536)
399                        : String.fromCharCode(
400                              (n >> 10) | 55296,
401                              (1023 & n) | 56320
402                          ))
403                );
404            },
405            re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
406            ie = function (e, t) {
407                return t
408                    ? '\0' === e
409                        ? '\ufffd'
410                        : e.slice(0, -1) +
411                          '\\' +
412                          e.charCodeAt(e.length - 1).toString(16) +
413                          ' '
414                    : '\\' + e;
415            },
416            oe = function () {
417                T();
418            },
419            ae = be(
420                function (e) {
421                    return (
422                        !0 === e.disabled &&
423                        'fieldset' === e.nodeName.toLowerCase()
424                    );
425                },
426                { dir: 'parentNode', next: 'legend' }
427            );
428        try {
429            H.apply((t = O.call(p.childNodes)), p.childNodes),
430                t[p.childNodes.length].nodeType;
431        } catch (e) {
432            H = {
433                apply: t.length
434                    ? function (e, t) {
435                          L.apply(e, O.call(t));
436                      }
437                    : function (e, t) {
438                          var n = e.length,
439                              r = 0;
440                          while ((e[n++] = t[r++]));
441                          e.length = n - 1;
442                      }
443            };
444        }
445        function se(t, e, n, r) {
446            var i,
447                o,
448                a,
449                s,
450                u,
451                l,
452                c,
453                f = e && e.ownerDocument,
454                p = e ? e.nodeType : 9;
455            if (
456                ((n = n || []),
457                'string' != typeof t || !t || (1 !== p && 9 !== p && 11 !== p))
458            )
459                return n;
460            if (!r && (T(e), (e = e || C), E)) {
461                if (11 !== p && (u = Z.exec(t)))
462                    if ((i = u[1])) {
463                        if (9 === p) {
464                            if (!(a = e.getElementById(i))) return n;
465                            if (a.id === i) return n.push(a), n;
466                        } else if (
467                            f &&
468                            (a = f.getElementById(i)) &&
469                            y(e, a) &&
470                            a.id === i
471                        )
472                            return n.push(a), n;
473                    } else {
474                        if (u[2])
475                            return H.apply(n, e.getElementsByTagName(t)), n;
476                        if (
477                            (i = u[3]) &&
478                            d.getElementsByClassName &&
479                            e.getElementsByClassName
480                        )
481                            return H.apply(n, e.getElementsByClassName(i)), n;
482                    }
483                if (
484                    d.qsa &&
485                    !N[t + ' '] &&
486                    (!v || !v.test(t)) &&
487                    (1 !== p || 'object' !== e.nodeName.toLowerCase())
488                ) {
489                    if (
490                        ((c = t), (f = e), 1 === p && (U.test(t) || z.test(t)))
491                    ) {
492                        ((f = (ee.test(t) && ye(e.parentNode)) || e) === e &&
493                            d.scope) ||
494                            ((s = e.getAttribute('id'))
495                                ? (s = s.replace(re, ie))
496                                : e.setAttribute('id', (s = S))),
497                            (o = (l = h(t)).length);
498                        while (o--)
499                            l[o] = (s ? '#' + s : ':scope') + ' ' + xe(l[o]);
500                        c = l.join(',');
501                    }
502                    try {
503                        return H.apply(n, f.querySelectorAll(c)), n;
504                    } catch (e) {
505                        N(t, !0);
506                    } finally {
507                        s === S && e.removeAttribute('id');
508                    }
509                }
510            }
511            return g(t.replace($, '$1'), e, n, r);
512        }
513        function ue() {
514            var r = [];
515            return function e(t, n) {
516                return (
517                    r.push(t + ' ') > b.cacheLength && delete e[r.shift()],
518                    (e[t + ' '] = n)
519                );
520            };
521        }
522        function le(e) {
523            return (e[S] = !0), e;
524        }
525        function ce(e) {
526            var t = C.createElement('fieldset');
527            try {
528                return !!e(t);
529            } catch (e) {
530                return !1;
531            } finally {
532                t.parentNode && t.parentNode.removeChild(t), (t = null);
533            }
534        }
535        function fe(e, t) {
536            var n = e.split('|'),
537                r = n.length;
538            while (r--) b.attrHandle[n[r]] = t;
539        }
540        function pe(e, t) {
541            var n = t && e,
542                r =
543                    n &&
544                    1 === e.nodeType &&
545                    1 === t.nodeType &&
546                    e.sourceIndex - t.sourceIndex;
547            if (r) return r;
548            if (n) while ((n = n.nextSibling)) if (n === t) return -1;
549            return e ? 1 : -1;
550        }
551        function de(t) {
552            return function (e) {
553                return 'input' === e.nodeName.toLowerCase() && e.type === t;
554            };
555        }
556        function he(n) {
557            return function (e) {
558                var t = e.nodeName.toLowerCase();
559                return ('input' === t || 'button' === t) && e.type === n;
560            };
561        }
562        function ge(t) {
563            return function (e) {
564                return 'form' in e
565                    ? e.parentNode && !1 === e.disabled
566                        ? 'label' in e
567                            ? 'label' in e.parentNode
568                                ? e.parentNode.disabled === t
569                                : e.disabled === t
570                            : e.isDisabled === t ||
571                              (e.isDisabled !== !t && ae(e) === t)
572                        : e.disabled === t
573                    : 'label' in e && e.disabled === t;
574            };
575        }
576        function ve(a) {
577            return le(function (o) {
578                return (
579                    (o = +o),
580                    le(function (e, t) {
581                        var n,
582                            r = a([], e.length, o),
583                            i = r.length;
584                        while (i--) e[(n = r[i])] && (e[n] = !(t[n] = e[n]));
585                    })
586                );
587            });
588        }
589        function ye(e) {
590            return e && 'undefined' != typeof e.getElementsByTagName && e;
591        }
592        for (e in ((d = se.support = {}),
593        (i = se.isXML =
594            function (e) {
595                var t = e && e.namespaceURI,
596                    n = e && (e.ownerDocument || e).documentElement;
597                return !Y.test(t || (n && n.nodeName) || 'HTML');
598            }),
599        (T = se.setDocument =
600            function (e) {
601                var t,
602                    n,
603                    r = e ? e.ownerDocument || e : p;
604                return (
605                    r != C &&
606                        9 === r.nodeType &&
607                        r.documentElement &&
608                        ((a = (C = r).documentElement),
609                        (E = !i(C)),
610                        p != C &&
611                            (n = C.defaultView) &&
612                            n.top !== n &&
613                            (n.addEventListener
614                                ? n.addEventListener('unload', oe, !1)
615                                : n.attachEvent &&
616                                  n.attachEvent('onunload', oe)),
617                        (d.scope = ce(function (e) {
618                            return (
619                                a
620                                    .appendChild(e)
621                                    .appendChild(C.createElement('div')),
622                                'undefined' != typeof e.querySelectorAll &&
623                                    !e.querySelectorAll(':scope fieldset div')
624                                        .length
625                            );
626                        })),
627                        (d.attributes = ce(function (e) {
628                            return (
629                                (e.className = 'i'),
630                                !e.getAttribute('className')
631                            );
632                        })),
633                        (d.getElementsByTagName = ce(function (e) {
634                            return (
635                                e.appendChild(C.createComment('')),
636                                !e.getElementsByTagName('*').length
637                            );
638                        })),
639                        (d.getElementsByClassName = K.test(
640                            C.getElementsByClassName
641                        )),
642                        (d.getById = ce(function (e) {
643                            return (
644                                (a.appendChild(e).id = S),
645                                !C.getElementsByName ||
646                                    !C.getElementsByName(S).length
647                            );
648                        })),
649                        d.getById
650                            ? ((b.filter.ID = function (e) {
651                                  var t = e.replace(te, ne);
652                                  return function (e) {
653                                      return e.getAttribute('id') === t;
654                                  };
655                              }),
656                              (b.find.ID = function (e, t) {
657                                  if (
658                                      'undefined' != typeof t.getElementById &&
659                                      E
660                                  ) {
661                                      var n = t.getElementById(e);
662                                      return n ? [n] : [];
663                                  }
664                              }))
665                            : ((b.filter.ID = function (e) {
666                                  var n = e.replace(te, ne);
667                                  return function (e) {
668                                      var t =
669                                          'undefined' !=
670                                              typeof e.getAttributeNode &&
671                                          e.getAttributeNode('id');
672                                      return t && t.value === n;
673                                  };
674                              }),
675                              (b.find.ID = function (e, t) {
676                                  if (
677                                      'undefined' != typeof t.getElementById &&
678                                      E
679                                  ) {
680                                      var n,
681                                          r,
682                                          i,
683                                          o = t.getElementById(e);
684                                      if (o) {
685                                          if (
686                                              (n = o.getAttributeNode('id')) &&
687                                              n.value === e
688                                          )
689                                              return [o];
690                                          (i = t.getElementsByName(e)), (r = 0);
691                                          while ((o = i[r++]))
692                                              if (
693                                                  (n =
694                                                      o.getAttributeNode(
695                                                          'id'
696                                                      )) &&
697                                                  n.value === e
698                                              )
699                                                  return [o];
700                                      }
701                                      return [];
702                                  }
703                              })),
704                        (b.find.TAG = d.getElementsByTagName
705                            ? function (e, t) {
706                                  return 'undefined' !=
707                                      typeof t.getElementsByTagName
708                                      ? t.getElementsByTagName(e)
709                                      : d.qsa
710                                      ? t.querySelectorAll(e)
711                                      : void 0;
712                              }
713                            : function (e, t) {
714                                  var n,
715                                      r = [],
716                                      i = 0,
717                                      o = t.getElementsByTagName(e);
718                                  if ('*' === e) {
719                                      while ((n = o[i++]))
720                                          1 === n.nodeType && r.push(n);
721                                      return r;
722                                  }
723                                  return o;
724                              }),
725                        (b.find.CLASS =
726                            d.getElementsByClassName &&
727                            function (e, t) {
728                                if (
729                                    'undefined' !=
730                                        typeof t.getElementsByClassName &&
731                                    E
732                                )
733                                    return t.getElementsByClassName(e);
734                            }),
735                        (s = []),
736                        (v = []),
737                        (d.qsa = K.test(C.querySelectorAll)) &&
738                            (ce(function (e) {
739                                var t;
740                                (a.appendChild(e).innerHTML =
741                                    "<a id='" +
742                                    S +
743                                    "'></a><select id='" +
744                                    S +
745                                    "-\r\\' msallowcapture=''><option selected=''></option></select>"),
746                                    e.querySelectorAll("[msallowcapture^='']")
747                                        .length &&
748                                        v.push('[*^$]=' + M + '*(?:\'\'|"")'),
749                                    e.querySelectorAll('[selected]').length ||
750                                        v.push(
751                                            '\\[' + M + '*(?:value|' + R + ')'
752                                        ),
753                                    e.querySelectorAll('[id~=' + S + '-]')
754                                        .length || v.push('~='),
755                                    (t = C.createElement('input')).setAttribute(
756                                        'name',
757                                        ''
758                                    ),
759                                    e.appendChild(t),
760                                    e.querySelectorAll("[name='']").length ||
761                                        v.push(
762                                            '\\[' +
763                                                M +
764                                                '*name' +
765                                                M +
766                                                '*=' +
767                                                M +
768                                                '*(?:\'\'|"")'
769                                        ),
770                                    e.querySelectorAll(':checked').length ||
771                                        v.push(':checked'),
772                                    e.querySelectorAll('a#' + S + '+*')
773                                        .length || v.push('.#.+[+~]'),
774                                    e.querySelectorAll('\\\f'),
775                                    v.push('[\\r\\n\\f]');
776                            }),
777                            ce(function (e) {
778                                e.innerHTML =
779                                    "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
780                                var t = C.createElement('input');
781                                t.setAttribute('type', 'hidden'),
782                                    e.appendChild(t).setAttribute('name', 'D'),
783                                    e.querySelectorAll('[name=d]').length &&
784                                        v.push('name' + M + '*[*^$|!~]?='),
785                                    2 !==
786                                        e.querySelectorAll(':enabled').length &&
787                                        v.push(':enabled', ':disabled'),
788                                    (a.appendChild(e).disabled = !0),
789                                    2 !==
790                                        e.querySelectorAll(':disabled')
791                                            .length &&
792                                        v.push(':enabled', ':disabled'),
793                                    e.querySelectorAll('*,:x'),
794                                    v.push(',.*:');
795                            })),
796                        (d.matchesSelector = K.test(
797                            (c =
798                                a.matches ||
799                                a.webkitMatchesSelector ||
800                                a.mozMatchesSelector ||
801                                a.oMatchesSelector ||
802                                a.msMatchesSelector)
803                        )) &&
804                            ce(function (e) {
805                                (d.disconnectedMatch = c.call(e, '*')),
806                                    c.call(e, "[s!='']:x"),
807                                    s.push('!=', F);
808                            }),
809                        (v = v.length && new RegExp(v.join('|'))),
810                        (s = s.length && new RegExp(s.join('|'))),
811                        (t = K.test(a.compareDocumentPosition)),
812                        (y =
813                            t || K.test(a.contains)
814                                ? function (e, t) {
815                                      var n =
816                                              9 === e.nodeType
817                                                  ? e.documentElement
818                                                  : e,
819                                          r = t && t.parentNode;
820                                      return (
821                                          e === r ||
822                                          !(
823                                              !r ||
824                                              1 !== r.nodeType ||
825                                              !(n.contains
826                                                  ? n.contains(r)
827                                                  : e.compareDocumentPosition &&
828                                                    16 &
829                                                        e.compareDocumentPosition(
830                                                            r
831                                                        ))
832                                          )
833                                      );
834                                  }
835                                : function (e, t) {
836                                      if (t)
837                                          while ((t = t.parentNode))
838                                              if (t === e) return !0;
839                                      return !1;
840                                  }),
841                        (j = t
842                            ? function (e, t) {
843                                  if (e === t) return (l = !0), 0;
844                                  var n =
845                                      !e.compareDocumentPosition -
846                                      !t.compareDocumentPosition;
847                                  return (
848                                      n ||
849                                      (1 &
850                                          (n =
851                                              (e.ownerDocument || e) ==
852                                              (t.ownerDocument || t)
853                                                  ? e.compareDocumentPosition(t)
854                                                  : 1) ||
855                                      (!d.sortDetached &&
856                                          t.compareDocumentPosition(e) === n)
857                                          ? e == C ||
858                                            (e.ownerDocument == p && y(p, e))
859                                              ? -1
860                                              : t == C ||
861                                                (t.ownerDocument == p &&
862                                                    y(p, t))
863                                              ? 1
864                                              : u
865                                              ? P(u, e) - P(u, t)
866                                              : 0
867                                          : 4 & n
868                                          ? -1
869                                          : 1)
870                                  );
871                              }
872                            : function (e, t) {
873                                  if (e === t) return (l = !0), 0;
874                                  var n,
875                                      r = 0,
876                                      i = e.parentNode,
877                                      o = t.parentNode,
878                                      a = [e],
879                                      s = [t];
880                                  if (!i || !o)
881                                      return e == C
882                                          ? -1
883                                          : t == C
884                                          ? 1
885                                          : i
886                                          ? -1
887                                          : o
888                                          ? 1
889                                          : u
890                                          ? P(u, e) - P(u, t)
891                                          : 0;
892                                  if (i === o) return pe(e, t);
893                                  n = e;
894                                  while ((n = n.parentNode)) a.unshift(n);
895                                  n = t;
896                                  while ((n = n.parentNode)) s.unshift(n);
897                                  while (a[r] === s[r]) r++;
898                                  return r
899                                      ? pe(a[r], s[r])
900                                      : a[r] == p
901                                      ? -1
902                                      : s[r] == p
903                                      ? 1
904                                      : 0;
905                              })),
906                    C
907                );
908            }),
909        (se.matches = function (e, t) {
910            return se(e, null, null, t);
911        }),
912        (se.matchesSelector = function (e, t) {
913            if (
914                (T(e),
915                d.matchesSelector &&
916                    E &&
917                    !N[t + ' '] &&
918                    (!s || !s.test(t)) &&
919                    (!v || !v.test(t)))
920            )
921                try {
922                    var n = c.call(e, t);
923                    if (
924                        n ||
925                        d.disconnectedMatch ||
926                        (e.document && 11 !== e.document.nodeType)
927                    )
928                        return n;
929                } catch (e) {
930                    N(t, !0);
931                }
932            return 0 < se(t, C, null, [e]).length;
933        }),
934        (se.contains = function (e, t) {
935            return (e.ownerDocument || e) != C && T(e), y(e, t);
936        }),
937        (se.attr = function (e, t) {
938            (e.ownerDocument || e) != C && T(e);
939            var n = b.attrHandle[t.toLowerCase()],
940                r =
941                    n && D.call(b.attrHandle, t.toLowerCase())
942                        ? n(e, t, !E)
943                        : void 0;
944            return void 0 !== r
945                ? r
946                : d.attributes || !E
947                ? e.getAttribute(t)
948                : (r = e.getAttributeNode(t)) && r.specified
949                ? r.value
950                : null;
951        }),
952        (se.escape = function (e) {
953            return (e + '').replace(re, ie);
954        }),
955        (se.error = function (e) {
956            throw new Error('Syntax error, unrecognized expression: ' + e);
957        }),
958        (se.uniqueSort = function (e) {
959            var t,
960                n = [],
961                r = 0,
962                i = 0;
963            if (
964                ((l = !d.detectDuplicates),
965                (u = !d.sortStable && e.slice(0)),
966                e.sort(j),
967                l)
968            ) {
969                while ((t = e[i++])) t === e[i] && (r = n.push(i));
970                while (r--) e.splice(n[r], 1);
971            }
972            return (u = null), e;
973        }),
974        (o = se.getText =
975            function (e) {
976                var t,
977                    n = '',
978                    r = 0,
979                    i = e.nodeType;
980                if (i) {
981                    if (1 === i || 9 === i || 11 === i) {
982                        if ('string' == typeof e.textContent)
983                            return e.textContent;
984                        for (e = e.firstChild; e; e = e.nextSibling) n += o(e);
985                    }
985 else if (3 === i || 4 === i) return e.nodeValue;
986                } else while ((t = e[r++])) n += o(t);
987                return n;
988            }),
989        ((b = se.selectors =
990            {
991                cacheLength: 50,
992                createPseudo: le,
993                match: G,
994                attrHandle: {},
995                find: {},
996                relative: {
997                    '>': { dir: 'parentNode', first: !0 },
998                    ' ': { dir: 'parentNode' },
999                    '+': { dir: 'previousSibling', first: !0 },
1000                    '~': { dir: 'previousSibling' }
1001                },
1002                preFilter: {
1003                    ATTR: function (e) {
1004                        return (
1005                            (e[1] = e[1].replace(te, ne)),
1006                            (e[3] = (e[3] || e[4] || e[5] || '').replace(
1007                                te,
1008                                ne
1009                            )),
1010                            '~=' === e[2] && (e[3] = ' ' + e[3] + ' '),
1011                            e.slice(0, 4)
1012                        );
1013                    },
1014                    CHILD: function (e) {
1015                        return (
1016                            (e[1] = e[1].toLowerCase()),
1017                            'nth' === e[1].slice(0, 3)
1018                                ? (e[3] || se.error(e[0]),
1019                                  (e[4] = +(e[4]
1020                                      ? e[5] + (e[6] || 1)
1021                                      : 2 *
1022                                        ('even' === e[3] || 'odd' === e[3]))),
1023                                  (e[5] = +(e[7] + e[8] || 'odd' === e[3])))
1024                                : e[3] && se.error(e[0]),
1025                            e
1026                        );
1027                    },
1028                    PSEUDO: function (e) {
1029                        var t,
1030                            n = !e[6] && e[2];
1031                        return G.CHILD.test(e[0])
1032                            ? null
1033                            : (e[3]
1034                                  ? (e[2] = e[4] || e[5] || '')
1035                                  : n &&
1036                                    X.test(n) &&
1037                                    (t = h(n, !0)) &&
1038                                    (t =
1039                                        n.indexOf(')', n.length - t) -
1040                                        n.length) &&
1041                                    ((e[0] = e[0].slice(0, t)),
1042                                    (e[2] = n.slice(0, t))),
1043                              e.slice(0, 3));
1044                    }
1045                },
1046                filter: {
1047                    TAG: function (e) {
1048                        var t = e.replace(te, ne).toLowerCase();
1049                        return '*' === e
1050                            ? function () {
1051                                  return !0;
1052                              }
1053                            : function (e) {
1054                                  return (
1055                                      e.nodeName &&
1056                                      e.nodeName.toLowerCase() === t
1057                                  );
1058                              };
1059                    },
1060                    CLASS: function (e) {
1061                        var t = m[e + ' '];
1062                        return (
1063                            t ||
1064                            ((t = new RegExp(
1065                                '(^|' + M + ')' + e + '(' + M + '|$)'
1066                            )) &&
1067                                m(e, function (e) {
1068                                    return t.test(
1069                                        ('string' == typeof e.className &&
1070                                            e.className) ||
1071                                            ('undefined' !=
1072                                                typeof e.getAttribute &&
1073                                                e.getAttribute('class')) ||
1074                                            ''
1075                                    );
1076                                }))
1077                        );
1078                    },
1079                    ATTR: function (n, r, i) {
1080                        return function (e) {
1081                            var t = se.attr(e, n);
1082                            return null == t
1083                                ? '!=' === r
1084                                : !r ||
1085                                      ((t += ''),
1086                                      '=' === r
1087                                          ? t === i
1088                                          : '!=' === r
1089                                          ? t !== i
1090                                          : '^=' === r
1091                                          ? i && 0 === t.indexOf(i)
1092                                          : '*=' === r
1093                                          ? i && -1 < t.indexOf(i)
1094                                          : '$=' === r
1095                                          ? i && t.slice(-i.length) === i
1096                                          : '~=' === r
1097                                          ? -1 <
1098                                            (
1099                                                ' ' +
1100                                                t.replace(B, ' ') +
1101                                                ' '
1102                                            ).indexOf(i)
1103                                          : '|=' === r &&
1104                                            (t === i ||
1105                                                t.slice(0, i.length + 1) ===
1106                                                    i + '-'));
1107                        };
1108                    },
1109                    CHILD: function (h, e, t, g, v) {
1110                        var y = 'nth' !== h.slice(0, 3),
1111                            m = 'last' !== h.slice(-4),
1112                            x = 'of-type' === e;
1113                        return 1 === g && 0 === v
1114                            ? function (e) {
1115                                  return !!e.parentNode;
1116                              }
1117                            : function (e, t, n) {
1118                                  var r,
1119                                      i,
1120                                      o,
1121                                      a,
1122                                      s,
1123                                      u,
1124                                      l =
1125                                          y !== m
1126                                              ? 'nextSibling'
1127                                              : 'previousSibling',
1128                                      c = e.parentNode,
1129                                      f = x && e.nodeName.toLowerCase(),
1130                                      p = !n && !x,
1131                                      d = !1;
1132                                  if (c) {
1133                                      if (y) {
1134                                          while (l) {
1135                                              a = e;
1136                                              while ((a = a[l]))
1137                                                  if (
1138                                                      x
1139                                                          ? a.nodeName.toLowerCase() ===
1140                                                            f
1141                                                          : 1 === a.nodeType
1142                                                  )
1143                                                      return !1;
1144                                              u = l =
1145                                                  'only' === h &&
1146                                                  !u &&
1147                                                  'nextSibling';
1148                                          }
1149                                          return !0;
1150                                      }
1151                                      if (
1152                                          ((u = [
1153                                              m ? c.firstChild : c.lastChild
1154                                          ]),
1155                                          m && p)
1156                                      ) {
1157                                          (d =
1158                                              (s =
1159                                                  (r =
1160                                                      (i =
1161                                                          (o =
1162                                                              (a = c)[S] ||
1163                                                              (a[S] = {}))[
1164                                                              a.uniqueID
1165                                                          ] ||
1166                                                          (o[a.uniqueID] = {}))[
1167                                                          h
1168                                                      ] || [])[0] === k &&
1169                                                  r[1]) && r[2]),
1170                                              (a = s && c.childNodes[s]);
1171                                          while (
1172                                              (a =
1173                                                  (++s && a && a[l]) ||
1174                                                  (d = s = 0) ||
1175                                                  u.pop())
1176                                          )
1177                                              if (
1178                                                  1 === a.nodeType &&
1179                                                  ++d &&
1180                                                  a === e
1181                                              ) {
1182                                                  i[h] = [k, s, d];
1183                                                  break;
1184                                              }
1185                                      } else if (
1186                                          (p &&
1187                                              (d = s =
1188                                                  (r =
1189                                                      (i =
1190                                                          (o =
1191                                                              (a = e)[S] ||
1192                                                              (a[S] = {}))[
1193                                                              a.uniqueID
1194                                                          ] ||
1195                                                          (o[a.uniqueID] = {}))[
1196                                                          h
1197                                                      ] || [])[0] === k &&
1198                                                  r[1]),
1199                                          !1 === d)
1200                                      )
1201                                          while (
1202                                              (a =
1203                                                  (++s && a && a[l]) ||
1204                                                  (d = s = 0) ||
1205                                                  u.pop())
1206                                          )
1207                                              if (
1208                                                  (x
1209                                                      ? a.nodeName.toLowerCase() ===
1210                                                        f
1211                                                      : 1 === a.nodeType) &&
1212                                                  ++d &&
1213                                                  (p &&
1214                                                      ((i =
1215                                                          (o =
1216                                                              a[S] ||
1217                                                              (a[S] = {}))[
1218                                                              a.uniqueID
1219                                                          ] ||
1220                                                          (o[a.uniqueID] = {}))[
1221                                                          h
1222                                                      ] = [k, d]),
1223                                                  a === e)
1224                                              )
1225                                                  break;
1226                                      return (
1227                                          (d -= v) === g ||
1228                                          (d % g == 0 && 0 <= d / g)
1229                                      );
1230                                  }
1231                              };
1232                    },
1233                    PSEUDO: function (e, o) {
1234                        var t,
1235                            a =
1236                                b.pseudos[e] ||
1237                                b.setFilters[e.toLowerCase()] ||
1238                                se.error('unsupported pseudo: ' + e);
1239                        return a[S]
1240                            ? a(o)
1241                            : 1 < a.length
1242                            ? ((t = [e, e, '', o]),
1243                              b.setFilters.hasOwnProperty(e.toLowerCase())
1244                                  ? le(function (e, t) {
1245                                        var n,
1246                                            r = a(e, o),
1247                                            i = r.length;
1248                                        while (i--)
1249                                            e[(n = P(e, r[i]))] = !(t[n] =
1250                                                r[i]);
1251                                    })
1252                                  : function (e) {
1253                                        return a(e, 0, t);
1254                                    })
1255                            : a;
1256                    }
1257                },
1258                pseudos: {
1259                    not: le(function (e) {
1260                        var r = [],
1261                            i = [],
1262                            s = f(e.replace($, '$1'));
1263                        return s[S]
1264                            ? le(function (e, t, n, r) {
1265                                  var i,
1266                                      o = s(e, null, r, []),
1267                                      a = e.length;
1268                                  while (a--)
1269                                      (i = o[a]) && (e[a] = !(t[a] = i));
1270                              })
1271                            : function (e, t, n) {
1272                                  return (
1273                                      (r[0] = e),
1274                                      s(r, null, n, i),
1275                                      (r[0] = null),
1276                                      !i.pop()
1277                                  );
1278                              };
1279                    }),
1280                    has: le(function (t) {
1281                        return function (e) {
1282                            return 0 < se(t, e).length;
1283                        };
1284                    }),
1285                    contains: le(function (t) {
1286                        return (
1287                            (t = t.replace(te, ne)),
1288                            function (e) {
1289                                return -1 < (e.textContent || o(e)).indexOf(t);
1290                            }
1291                        );
1292                    }),
1293                    lang: le(function (n) {
1294                        return (
1295                            V.test(n || '') ||
1296                                se.error('unsupported lang: ' + n),
1297                            (n = n.replace(te, ne).toLowerCase()),
1298                            function (e) {
1299                                var t;
1300                                do {
1301                                    if (
1302                                        (t = E
1303                                            ? e.lang
1304                                            : e.getAttribute('xml:lang') ||
1305                                              e.getAttribute('lang'))
1306                                    )
1307                                        return (
1308                                            (t = t.toLowerCase()) === n ||
1309                                            0 === t.indexOf(n + '-')
1310                                        );
1311                                } while (
1312                                    (e = e.parentNode) &&
1313                                    1 === e.nodeType
1314                                );
1315                                return !1;
1316                            }
1317                        );
1318                    }),
1319                    target: function (e) {
1320                        var t = n.location && n.location.hash;
1321                        return t && t.slice(1) === e.id;
1322                    },
1323                    root: function (e) {
1324                        return e === a;
1325                    },
1326                    focus: function (e) {
1327                        return (
1328                            e === C.activeElement &&
1329                            (!C.hasFocus || C.hasFocus()) &&
1330                            !!(e.type || e.href || ~e.tabIndex)
1331                        );
1332                    },
1333                    enabled: ge(!1),
1334                    disabled: ge(!0),
1335                    checked: function (e) {
1336                        var t = e.nodeName.toLowerCase();
1337                        return (
1338                            ('input' === t && !!e.checked) ||
1339                            ('option' === t && !!e.selected)
1340                        );
1341                    },
1342                    selected: function (e) {
1343                        return (
1344                            e.parentNode && e.parentNode.selectedIndex,
1345                            !0 === e.selected
1346                        );
1347                    },
1348                    empty: function (e) {
1349                        for (e = e.firstChild; e; e = e.nextSibling)
1350                            if (e.nodeType < 6) return !1;
1351                        return !0;
1352                    },
1353                    parent: function (e) {
1354                        return !b.pseudos.empty(e);
1355                    },
1356                    header: function (e) {
1357                        return J.test(e.nodeName);
1358                    },
1359                    input: function (e) {
1360                        return Q.test(e.nodeName);
1361                    },
1362                    button: function (e) {
1363                        var t = e.nodeName.toLowerCase();
1364                        return (
1365                            ('input' === t && 'button' === e.type) ||
1366                            'button' === t
1367                        );
1368                    },
1369                    text: function (e) {
1370                        var t;
1371                        return (
1372                            'input' === e.nodeName.toLowerCase() &&
1373                            'text' === e.type &&
1374                            (null == (t = e.getAttribute('type')) ||
1375                                'text' === t.toLowerCase())
1376                        );
1377                    },
1378                    first: ve(function () {
1379                        return [0];
1380                    }),
1381                    last: ve(function (e, t) {
1382                        return [t - 1];
1383                    }),
1384                    eq: ve(function (e, t, n) {
1385                        return [n < 0 ? n + t : n];
1386                    }),
1387                    even: ve(function (e, t) {
1388                        for (var n = 0; n < t; n += 2) e.push(n);
1389                        return e;
1390                    }),
1391                    odd: ve(function (e, t) {
1392                        for (var n = 1; n < t; n += 2) e.push(n);
1393                        return e;
1394                    }),
1395                    lt: ve(function (e, t, n) {
1396                        for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r; )
1397                            e.push(r);
1398                        return e;
1399                    }),
1400                    gt: ve(function (e, t, n) {
1401                        for (var r = n < 0 ? n + t : n; ++r < t; ) e.push(r);
1402                        return e;
1403                    })
1404                }
1405            }).pseudos.nth = b.pseudos.eq),
1406        { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }))
1407            b.pseudos[e] = de(e);
1408        for (e in { submit: !0, reset: !0 }) b.pseudos[e] = he(e);
1409        function me() {}
1410        function xe(e) {
1411            for (var t = 0, n = e.length, r = ''; t < n; t++) r += e[t].value;
1412            return r;
1413        }
1414        function be(s, e, t) {
1415            var u = e.dir,
1416                l = e.next,
1417                c = l || u,
1418                f = t && 'parentNode' === c,
1419                p = r++;
1420            return e.first
1421                ? function (e, t, n) {
1422                      while ((e = e[u]))
1423                          if (1 === e.nodeType || f) return s(e, t, n);
1424                      return !1;
1425                  }
1426                : function (e, t, n) {
1427                      var r,
1428                          i,
1429                          o,
1430                          a = [k, p];
1431                      if (n) {
1432                          while ((e = e[u]))
1433                              if ((1 === e.nodeType || f) && s(e, t, n))
1434                                  return !0;
1435                      } else
1436                          while ((e = e[u]))
1437                              if (1 === e.nodeType || f)
1438                                  if (
1439                                      ((i =
1440                                          (o = e[S] || (e[S] = {}))[
1441                                              e.uniqueID
1442                                          ] || (o[e.uniqueID] = {})),
1443                                      l && l === e.nodeName.toLowerCase())
1444                                  )
1445                                      e = e[u] || e;
1446                                  else {
1447                                      if (
1448                                          (r = i[c]) &&
1449                                          r[0] === k &&
1450                                          r[1] === p
1451                                      )
1452                                          return (a[2] = r[2]);
1453                                      if (((i[c] = a)[2] = s(e, t, n)))
1454                                          return !0;
1455                                  }
1456                      return !1;
1457                  };
1458        }
1459        function we(i) {
1460            return 1 < i.length
1461                ? function (e, t, n) {
1462                      var r = i.length;
1463                      while (r--) if (!i[r](e, t, n)) return !1;
1464                      return !0;
1465                  }
1466                : i[0];
1467        }
1468        function Te(e, t, n, r, i) {
1469            for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++)
1470                (o = e[s]) &&
1471                    ((n && !n(o, r, i)) || (a.push(o), l && t.push(s)));
1472            return a;
1473        }
1474        function Ce(d, h, g, v, y, e) {
1475            return (
1476                v && !v[S] && (v = Ce(v)),
1477                y && !y[S] && (y = Ce(y, e)),
1478                le(function (e, t, n, r) {
1479                    var i,
1480                        o,
1481                        a,
1482                        s = [],
1483                        u = [],
1484                        l = t.length,
1485                        c =
1486                            e ||
1487                            (function (e, t, n) {
1488                                for (var r = 0, i = t.length; r < i; r++)
1489                                    se(e, t[r], n);
1490                                return n;
1491                            })(h || '*', n.nodeType ? [n] : n, []),
1492                        f = !d || (!e && h) ? c : Te(c, s, d, n, r),
1493                        p = g ? (y || (e ? d : l || v) ? [] : t) : f;
1494                    if ((g && g(f, p, n, r), v)) {
1495                        (i = Te(p, u)), v(i, [], n, r), (o = i.length);
1496                        while (o--) (a = i[o]) && (p[u[o]] = !(f[u[o]] = a));
1497                    }
1498                    if (e) {
1499                        if (y || d) {
1500                            if (y) {
1501                                (i = []), (o = p.length);
1502                                while (o--) (a = p[o]) && i.push((f[o] = a));
1503                                y(null, (p = []), i, r);
1504                            }
1505                            o = p.length;
1506                            while (o--)
1507                                (a = p[o]) &&
1508                                    -1 < (i = y ? P(e, a) : s[o]) &&
1509                                    (e[i] = !(t[i] = a));
1510                        }
1511                    } else
1512                        (p = Te(p === t ? p.splice(l, p.length) : p)),
1513                            y ? y(null, t, p, r) : H.apply(t, p);
1514                })
1515            );
1516        }
1517        function Ee(e) {
1518            for (
1519                var i,
1520                    t,
1521                    n,
1522                    r = e.length,
1523                    o = b.relative[e[0].type],
1524                    a = o || b.relative[' '],
1525                    s = o ? 1 : 0,
1526                    u = be(
1527                        function (e) {
1528                            return e === i;
1529                        },
1530                        a,
1531                        !0
1532                    ),
1533                    l = be(
1534                        function (e) {
1535                            return -1 < P(i, e);
1536                        },
1537                        a,
1538                        !0
1539                    ),
1540                    c = [
1541                        function (e, t, n) {
1542                            var r =
1543                                (!o && (n || t !== w)) ||
1544                                ((i = t).nodeType ? u(e, t, n) : l(e, t, n));
1545                            return (i = null), r;
1546                        }
1547                    ];
1548                s < r;
1549                s++
1550            )
1551                if ((t = b.relative[e[s].type])) c = [be(we(c), t)];
1552                else {
1553                    if (
1554                        (t = b.filter[e[s].type].apply(null, e[s].matches))[S]
1555                    ) {
1556                        for (n = ++s; n < r; n++)
1557                            if (b.relative[e[n].type]) break;
1558                        return Ce(
1559                            1 < s && we(c),
1560                            1 < s &&
1561                                xe(
1562                                    e.slice(0, s - 1).concat({
1563                                        value: ' ' === e[s - 2].type ? '*' : ''
1564                                    })
1565                                ).replace($, '$1'),
1566                            t,
1567                            s < n && Ee(e.slice(s, n)),
1568                            n < r && Ee((e = e.slice(n))),
1569                            n < r && xe(e)
1570                        );
1571                    }
1572                    c.push(t);
1573                }
1574            return we(c);
1575        }
1576        return (
1577            (me.prototype = b.filters = b.pseudos),
1578            (b.setFilters = new me()),
1579            (h = se.tokenize =
1580                function (e, t) {
1581                    var n,
1582                        r,
1583                        i,
1584                        o,
1585                        a,
1586                        s,
1587                        u,
1588                        l = x[e + ' '];
1589                    if (l) return t ? 0 : l.slice(0);
1590                    (a = e), (s = []), (u = b.preFilter);
1591                    while (a) {
1592                        for (o in ((n && !(r = _.exec(a))) ||
1593                            (r && (a = a.slice(r[0].length) || a),
1594                            s.push((i = []))),
1595                        (n = !1),
1596                        (r = z.exec(a)) &&
1597                            ((n = r.shift()),
1598                            i.push({ value: n, type: r[0].replace($, ' ') }),
1599                            (a = a.slice(n.length))),
1600                        b.filter))
1601                            !(r = G[o].exec(a)) ||
1602                                (u[o] && !(r = u[o](r))) ||
1603                                ((n = r.shift()),
1604                                i.push({ value: n, type: o, matches: r }),
1605                                (a = a.slice(n.length)));
1606                        if (!n) break;
1607                    }
1608                    return t ? a.length : a ? se.error(e) : x(e, s).slice(0);
1609                }),
1610            (f = se.compile =
1611                function (e, t) {
1612                    var n,
1613                        v,
1614                        y,
1615                        m,
1616                        x,
1617                        r,
1618                        i = [],
1619                        o = [],
1620                        a = A[e + ' '];
1621                    if (!a) {
1622                        t || (t = h(e)), (n = t.length);
1623                        while (n--) (a = Ee(t[n]))[S] ? i.push(a) : o.push(a);
1624                        (a = A(
1625                            e,
1626                            ((v = o),
1627                            (m = 0 < (y = i).length),
1628                            (x = 0 < v.length),
1629                            (r = function (e, t, n, r, i) {
1630                                var o,
1631                                    a,
1632                                    s,
1633                                    u = 0,
1634                                    l = '0',
1635                                    c = e && [],
1636                                    f = [],
1637                                    p = w,
1638                                    d = e || (x && b.find.TAG('*', i)),
1639                                    h = (k +=
1640                                        null == p ? 1 : Math.random() || 0.1),
1641                                    g = d.length;
1642                                for (
1643                                    i && (w = t == C || t || i);
1644                                    l !== g && null != (o = d[l]);
1645                                    l++
1646                                ) {
1647                                    if (x && o) {
1648                                        (a = 0),
1649                                            t ||
1650                                                o.ownerDocument == C ||
1651                                                (T(o), (n = !E));
1652                                        while ((s = v[a++]))
1653                                            if (s(o, t || C, n)) {
1654                                                r.push(o);
1655                                                break;
1656                                            }
1657                                        i && (k = h);
1658                                    }
1659                                    m && ((o = !s && o) && u--, e && c.push(o));
1660                                }
1661                                if (((u += l), m && l !== u)) {
1662                                    a = 0;
1663                                    while ((s = y[a++])) s(c, f, t, n);
1664                                    if (e) {
1665                                        if (0 < u)
1666                                            while (l--)
1667                                                c[l] ||
1668                                                    f[l] ||
1669                                                    (f[l] = q.call(r));
1670                                        f = Te(f);
1671                                    }
1672                                    H.apply(r, f),
1673                                        i &&
1674                                            !e &&
1675                                            0 < f.length &&
1676                                            1 < u + y.length &&
1677                                            se.uniqueSort(r);
1678                                }
1679                                return i && ((k = h), (w = p)), c;
1680                            }),
1681                            m ? le(r) : r)
1682                        )).selector = e;
1683                    }
1684                    return a;
1685                }),
1686            (g = se.select =
1687                function (e, t, n, r) {
1688                    var i,
1689                        o,
1690                        a,
1691                        s,
1692                        u,
1693                        l = 'function' == typeof e && e,
1694                        c = !r && h((e = l.selector || e));
1695                    if (((n = n || []), 1 === c.length)) {
1696                        if (
1697                            2 < (o = c[0] = c[0].slice(0)).length &&
1698                            'ID' === (a = o[0]).type &&
1699                            9 === t.nodeType &&
1700                            E &&
1701                            b.relative[o[1].type]
1702                        ) {
1703                            if (
1704                                !(t = (b.find.ID(
1705                                    a.matches[0].replace(te, ne),
1706                                    t
1707                                ) || [])[0])
1708                            )
1709                                return n;
1710                            l && (t = t.parentNode),
1711                                (e = e.slice(o.shift().value.length));
1712                        }
1713                        i = G.needsContext.test(e) ? 0 : o.length;
1714                        while (i--) {
1715                            if (((a = o[i]), b.relative[(s = a.type)])) break;
1716                            if (
1717                                (u = b.find[s]) &&
1718                                (r = u(
1719                                    a.matches[0].replace(te, ne),
1720                                    (ee.test(o[0].type) && ye(t.parentNode)) ||
1721                                        t
1722                                ))
1723                            ) {
1724                                if ((o.splice(i, 1), !(e = r.length && xe(o))))
1725                                    return H.apply(n, r), n;
1726                                break;
1727                            }
1728                        }
1729                    }
1730                    return (
1731                        (l || f(e, c))(
1732                            r,
1733                            t,
1734                            !E,
1735                            n,
1736                            !t || (ee.test(e) && ye(t.parentNode)) || t
1737                        ),
1738                        n
1739                    );
1740                }),
1741            (d.sortStable = S.split('').sort(j).join('') === S),
1742            (d.detectDuplicates = !!l),
1743            T(),
1744            (d.sortDetached = ce(function (e) {
1745                return (
1746                    1 & e.compareDocumentPosition(C.createElement('fieldset'))
1747                );
1748            })),
1749            ce(function (e) {
1750                return (
1751                    (e.innerHTML = "<a href='#'></a>"),
1752                    '#' === e.firstChild.getAttribute('href')
1753                );
1754            }) ||
1755                fe('type|href|height|width', function (e, t, n) {
1756                    if (!n)
1757                        return e.getAttribute(
1758                            t,
1759                            'type' === t.toLowerCase() ? 1 : 2
1760                        );
1761                }),
1762            (d.attributes &&
1763                ce(function (e) {
1764                    return (
1765                        (e.innerHTML = '<input/>'),
1766                        e.firstChild.setAttribute('value', ''),
1767                        '' === e.firstChild.getAttribute('value')
1768                    );
1769                })) ||
1770                fe('value', function (e, t, n) {
1771                    if (!n && 'input' === e.nodeName.toLowerCase())
1772                        return e.defaultValue;
1773                }),
1774            ce(function (e) {
1775                return null == e.getAttribute('disabled');
1776            }) ||
1777                fe(R, function (e, t, n) {
1778                    var r;
1779                    if (!n)
1780                        return !0 === e[t]
1781                            ? t.toLowerCase()
1782                            : (r = e.getAttributeNode(t)) && r.specified
1783                            ? r.value
1784                            : null;
1785                }),
1786            se
1787        );
1788    })(C);
1789    (S.find = d),
1790        (S.expr = d.selectors),
1791        (S.expr[':'] = S.expr.pseudos),
1792        (S.uniqueSort = S.unique = d.uniqueSort),
1793        (S.text = d.getText),
1794        (S.isXMLDoc = d.isXML),
1795        (S.contains = d.contains),
1796        (S.escapeSelector = d.escape);
1797    var h = function (e, t, n) {
1798            var r = [],
1799                i = void 0 !== n;
1800            while ((e = e[t]) && 9 !== e.nodeType)
1801                if (1 === e.nodeType) {
1802                    if (i && S(e).is(n)) break;
1803                    r.push(e);
1804                }
1805            return r;
1806        },
1807        T = function (e, t) {
1808            for (var n = []; e; e = e.nextSibling)
1809                1 === e.nodeType && e !== t && n.push(e);
1810            return n;
1811        },
1812        k = S.expr.match.needsContext;
1813    function A(e, t) {
1814        return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase();
1815    }
1816    var N = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
1817    function j(e, n, r) {
1818        return m(n)
1819            ? S.grep(e, function (e, t) {
1820                  return !!n.call(e, t, e) !== r;
1821              })
1822            : n.nodeType
1823            ? S.grep(e, function (e) {
1824                  return (e === n) !== r;
1825              })
1826            : 'string' != typeof n
1827            ? S.grep(e, function (e) {
1828                  return -1 < i.call(n, e) !== r;
1829              })
1830            : S.filter(n, e, r);
1831    }
1832    (S.filter = function (e, t, n) {
1833        var r = t[0];
1834        return (
1835            n && (e = ':not(' + e + ')'),
1836            1 === t.length && 1 === r.nodeType
1837                ? S.find.matchesSelector(r, e)
1838                    ? [r]
1839                    : []
1840                : S.find.matches(
1841                      e,
1842                      S.grep(t, function (e) {
1843                          return 1 === e.nodeType;
1844                      })
1845                  )
1846        );
1847    }),
1848        S.fn.extend({
1849            find: function (e) {
1850                var t,
1851                    n,
1852                    r = this.length,
1853                    i = this;
1854                if ('string' != typeof e)
1855                    return this.pushStack(
1856                        S(e).filter(function () {
1857                            for (t = 0; t < r; t++)
1858                                if (S.contains(i[t], this)) return !0;
1859                        })
1860                    );
1861                for (n = this.pushStack([]), t = 0; t < r; t++)
1862                    S.find(e, i[t], n);
1863                return 1 < r ? S.uniqueSort(n) : n;
1864            },
1865            filter: function (e) {
1866                return this.pushStack(j(this, e || [], !1));
1867            },
1868            not: function (e) {
1869                return this.pushStack(j(this, e || [], !0));
1870            },
1871            is: function (e) {
1872                return !!j(
1873                    this,
1874                    'string' == typeof e && k.test(e) ? S(e) : e || [],
1875                    !1
1876                ).length;
1877            }
1878        });
1879    var D,
1880        q = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
1881    ((S.fn.init = function (e, t, n) {
1882        var r, i;
1883        if (!e) return this;
1884        if (((n = n || D), 'string' == typeof e)) {
1885            if (
1886                !(r =
1887                    '<' === e[0] && '>' === e[e.length - 1] && 3 <= e.length
1888                        ? [null, e, null]
1889                        : q.exec(e)) ||
1890                (!r[1] && t)
1891            )
1892                return !t || t.jquery
1893                    ? (t || n).find(e)
1894                    : this.constructor(t).find(e);
1895            if (r[1]) {
1896                if (
1897                    ((t = t instanceof S ? t[0] : t),
1898                    S.merge(
1899                        this,
1900                        S.parseHTML(
1901                            r[1],
1902                            t && t.nodeType ? t.ownerDocument || t : E,
1903                            !0
1904                        )
1905                    ),
1906                    N.test(r[1]) && S.isPlainObject(t))
1907                )
1908                    for (r in t)
1909                        m(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
1910                return this;
1911            }
1912            return (
1913                (i = E.getElementById(r[2])) &&
1914                    ((this[0] = i), (this.length = 1)),
1915                this
1916            );
1917        }
1918        return e.nodeType
1919            ? ((this[0] = e), (this.length = 1), this)
1920            : m(e)
1921            ? void 0 !== n.ready
1922                ? n.ready(e)
1923                : e(S)
1924            : S.makeArray(e, this);
1925    }).prototype = S.fn),
1926        (D = S(E));
1927    var L = /^(?:parents|prev(?:Until|All))/,
1928        H = { children: !0, contents: !0, next: !0, prev: !0 };
1929    function O(e, t) {
1930        while ((e = e[t]) && 1 !== e.nodeType);
1931        return e;
1932    }
1933    S.fn.extend({
1934        has: function (e) {
1935            var t = S(e, this),
1936                n = t.length;
1937            return this.filter(function () {
1938                for (var e = 0; e < n; e++)
1939                    if (S.contains(this, t[e])) return !0;
1940            });
1941        },
1942        closest: function (e, t) {
1943            var n,
1944                r = 0,
1945                i = this.length,
1946                o = [],
1947                a = 'string' != typeof e && S(e);
1948            if (!k.test(e))
1949                for (; r < i; r++)
1950                    for (n = this[r]; n && n !== t; n = n.parentNode)
1951                        if (
1952                            n.nodeType < 11 &&
1953                            (a
1954                                ? -1 < a.index(n)
1955                                : 1 === n.nodeType &&
1956                                  S.find.matchesSelector(n, e))
1957                        ) {
1958                            o.push(n);
1959                            break;
1960                        }
1961            return this.pushStack(1 < o.length ? S.uniqueSort(o) : o);
1962        },
1963        index: function (e) {
1964            return e
1965                ? 'string' == typeof e
1966                    ? i.call(S(e), this[0])
1967                    : i.call(this, e.jquery ? e[0] : e)
1968                : this[0] && this[0].parentNode
1969                ? this.first().prevAll().length
1970                : -1;
1971        },
1972        add: function (e, t) {
1973            return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e, t))));
1974        },
1975        addBack: function (e) {
1976            return this.add(
1977                null == e ? this.prevObject : this.prevObject.filter(e)
1978            );
1979        }
1980    }),
1981        S.each(
1982            {
1983                parent: function (e) {
1984                    var t = e.parentNode;
1985                    return t && 11 !== t.nodeType ? t : null;
1986                },
1987                parents: function (e) {
1988                    return h(e, 'parentNode');
1989                },
1990                parentsUntil: function (e, t, n) {
1991                    return h(e, 'parentNode', n);
1992                },
1993                next: function (e) {
1994                    return O(e, 'nextSibling');
1995                },
1996                prev: function (e) {
1997                    return O(e, 'previousSibling');
1998                },
1999                nextAll: function (e) {
2000                    return h(e, 'nextSibling');
2001                },
2002                prevAll: function (e) {
2003                    return h(e, 'previousSibling');
2004                },
2005                nextUntil: function (e, t, n) {
2006                    return h(e, 'nextSibling', n);
2007                },
2008                prevUntil: function (e, t, n) {
2009                    return h(e, 'previousSibling', n);
2010                },
2011                siblings: function (e) {
2012                    return T((e.parentNode || {}).firstChild, e);
2013                },
2014                children: function (e) {
2015                    return T(e.firstChild);
2016                },
2017                contents: function (e) {
2018                    return null != e.contentDocument && r(e.contentDocument)
2019                        ? e.contentDocument
2020                        : (A(e, 'template') && (e = e.content || e),
2021                          S.merge([], e.childNodes));
2022                }
2023            },
2024            function (r, i) {
2025                S.fn[r] = function (e, t) {
2026                    var n = S.map(this, i, e);
2027                    return (
2028                        'Until' !== r.slice(-5) && (t = e),
2029                        t && 'string' == typeof t && (n = S.filter(t, n)),
2030                        1 < this.length &&
2031                            (H[r] || S.uniqueSort(n), L.test(r) && n.reverse()),
2032                        this.pushStack(n)
2033                    );
2034                };
2035            }
2036        );
2037    var P = /[^\x20\t\r\n\f]+/g;
2038    function R(e) {
2039        return e;
2040    }
2041    function M(e) {
2042        throw e;
2043    }
2044    function I(e, t, n, r) {
2045        var i;
2046        try {
2047            e && m((i = e.promise))
2048                ? i.call(e).done(t).fail(n)
2049                : e && m((i = e.then))
2050                ? i.call(e, t, n)
2051                : t.apply(void 0, [e].slice(r));
2052        } catch (e) {
2053            n.apply(void 0, [e]);
2054        }
2055    }
2056    (S.Callbacks = function (r) {
2057        var e, n;
2058        r =
2059            'string' == typeof r
2060                ? ((e = r),
2061                  (n = {}),
2062                  S.each(e.match(P) || [], function (e, t) {
2063                      n[t] = !0;
2064                  }),
2065                  n)
2066                : S.extend({}, r);
2067        var i,
2068            t,
2069            o,
2070            a,
2071            s = [],
2072            u = [],
2073            l = -1,
2074            c = function () {
2075                for (a = a || r.once, o = i = !0; u.length; l = -1) {
2076                    t = u.shift();
2077                    while (++l < s.length)
2078                        !1 === s[l].apply(t[0], t[1]) &&
2079                            r.stopOnFalse &&
2080                            ((l = s.length), (t = !1));
2081                }
2082                r.memory || (t = !1), (i = !1), a && (s = t ? [] : '');
2083            },
2084            f = {
2085                add: function () {
2086                    return (
2087                        s &&
2088                            (t && !i && ((l = s.length - 1), u.push(t)),
2089                            (function n(e) {
2090                                S.each(e, function (e, t) {
2091                                    m(t)
2092                                        ? (r.unique && f.has(t)) || s.push(t)
2093                                        : t &&
2094                                          t.length &&
2095                                          'string' !== w(t) &&
2096                                          n(t);
2097                                });
2098                            })(arguments),
2099                            t && !i && c()),
2100                        this
2101                    );
2102                },
2103                remove: function () {
2104                    return (
2105                        S.each(arguments, function (e, t) {
2106                            var n;
2107                            while (-1 < (n = S.inArray(t, s, n)))
2108                                s.splice(n, 1), n <= l && l--;
2109                        }),
2110                        this
2111                    );
2112                },
2113                has: function (e) {
2114                    return e ? -1 < S.inArray(e, s) : 0 < s.length;
2115                },
2116                empty: function () {
2117                    return s && (s = []), this;
2118                },
2119                disable: function () {
2120                    return (a = u = []), (s = t = ''), this;
2121                },
2122                disabled: function () {
2123                    return !s;
2124                },
2125                lock: function () {
2126                    return (a = u = []), t || i || (s = t = ''), this;
2127                },
2128                locked: function () {
2129                    return !!a;
2130                },
2131                fireWith: function (e, t) {
2132                    return (
2133                        a ||
2134                            ((t = [e, (t = t || []).slice ? t.slice() : t]),
2135                            u.push(t),
2136                            i || c()),
2137                        this
2138                    );
2139                },
2140                fire: function () {
2141                    return f.fireWith(this, arguments), this;
2142                },
2143                fired: function () {
2144                    return !!o;
2145                }
2146            };
2147        return f;
2148    }),
2149        S.extend({
2150            Deferred: function (e) {
2151                var o = [
2152                        [
2153                            'notify',
2154                            'progress',
2155                            S.Callbacks('memory'),
2156                            S.Callbacks('memory'),
2157                            2
2158                        ],
2159                        [
2160                            'resolve',
2161                            'done',
2162                            S.Callbacks('once memory'),
2163                            S.Callbacks('once memory'),
2164                            0,
2165                            'resolved'
2166                        ],
2167                        [
2168                            'reject',
2169                            'fail',
2170                            S.Callbacks('once memory'),
2171                            S.Callbacks('once memory'),
2172                            1,
2173                            'rejected'
2174                        ]
2175                    ],
2176                    i = 'pending',
2177                    a = {
2178                        state: function () {
2179                            return i;
2180                        },
2181                        always: function () {
2182                            return s.done(arguments).fail(arguments), this;
2183                        },
2184                        catch: function (e) {
2185                            return a.then(null, e);
2186                        },
2187                        pipe: function () {
2188                            var i = arguments;
2189                            return S.Deferred(function (r) {
2190                                S.each(o, function (e, t) {
2191                                    var n = m(i[t[4]]) && i[t[4]];
2192                                    s[t[1]](function () {
2193                                        var e = n && n.apply(this, arguments);
2194                                        e && m(e.promise)
2195                                            ? e
2196                                                  .promise()
2197                                                  .progress(r.notify)
2198                                                  .done(r.resolve)
2199                                                  .fail(r.reject)
2200                                            : r[t[0] + 'With'](
2201                                                  this,
2202                                                  n ? [e] : arguments
2203                                              );
2204                                    });
2205                                }),
2206                                    (i = null);
2207                            }).promise();
2208                        },
2209                        then: function (t, n, r) {
2210                            var u = 0;
2211                            function l(i, o, a, s) {
2212                                return function () {
2213                                    var n = this,
2214                                        r = arguments,
2215                                        e = function () {
2216                                            var e, t;
2217                                            if (!(i < u)) {
2218                                                if (
2219                                                    (e = a.apply(n, r)) ===
2220                                                    o.promise()
2221                                                )
2222                                                    throw new TypeError(
2223                                                        'Thenable self
2223-resolution'
2224                                                    );
2225                                                (t =
2226                                                    e &&
2227                                                    ('object' == typeof e ||
2228                                                        'function' ==
2229                                                            typeof e) &&
2230                                                    e.then),
2231                                                    m(t)
2232                                                        ? s
2233                                                            ? t.call(
2234                                                                  e,
2235                                                                  l(u, o, R, s),
2236                                                                  l(u, o, M, s)
2237                                                              )
2238                                                            : (u++,
2239                                                              t.call(
2240                                                                  e,
2241                                                                  l(u, o, R, s),
2242                                                                  l(u, o, M, s),
2243                                                                  l(
2244                                                                      u,
2245                                                                      o,
2246                                                                      R,
2247                                                                      o.notifyWith
2248                                                                  )
2249                                                              ))
2250                                                        : (a !== R &&
2251                                                              ((n = void 0),
2252                                                              (r = [e])),
2253                                                          (s || o.resolveWith)(
2254                                                              n,
2255                                                              r
2256                                                          ));
2257                                            }
2258                                        },
2259                                        t = s
2260                                            ? e
2261                                            : function () {
2262                                                  try {
2263                                                      e();
2264                                                  } catch (e) {
2265                                                      S.Deferred
2266                                                          .exceptionHook &&
2267                                                          S.Deferred.exceptionHook(
2268                                                              e,
2269                                                              t.stackTrace
2270                                                          ),
2271                                                          u <= i + 1 &&
2272                                                              (a !== M &&
2273                                                                  ((n = void 0),
2274                                                                  (r = [e])),
2275                                                              o.rejectWith(
2276                                                                  n,
2277                                                                  r
2278                                                              ));
2279                                                  }
2280                                              };
2281                                    i
2282                                        ? t()
2283                                        : (S.Deferred.getStackHook &&
2284                                              (t.stackTrace =
2285                                                  S.Deferred.getStackHook()),
2286                                          C.setTimeout(t));
2287                                };
2288                            }
2289                            return S.Deferred(function (e) {
2290                                o[0][3].add(
2291                                    l(0, e, m(r) ? r : R, e.notifyWith)
2292                                ),
2293                                    o[1][3].add(l(0, e, m(t) ? t : R)),
2294                                    o[2][3].add(l(0, e, m(n) ? n : M));
2295                            }).promise();
2296                        },
2297                        promise: function (e) {
2298                            return null != e ? S.extend(e, a) : a;
2299                        }
2300                    },
2301                    s = {};
2302                return (
2303                    S.each(o, function (e, t) {
2304                        var n = t[2],
2305                            r = t[5];
2306                        (a[t[1]] = n.add),
2307                            r &&
2308                                n.add(
2309                                    function () {
2310                                        i = r;
2311                                    },
2312                                    o[3 - e][2].disable,
2313                                    o[3 - e][3].disable,
2314                                    o[0][2].lock,
2315                                    o[0][3].lock
2316                                ),
2317                            n.add(t[3].fire),
2318                            (s[t[0]] = function () {
2319                                return (
2320                                    s[t[0] + 'With'](
2321                                        this === s ? void 0 : this,
2322                                        arguments
2323                                    ),
2324                                    this
2325                                );
2326                            }),
2327                            (s[t[0] + 'With'] = n.fireWith);
2328                    }),
2329                    a.promise(s),
2330                    e && e.call(s, s),
2331                    s
2332                );
2333            },
2334            when: function (e) {
2335                var n = arguments.length,
2336                    t = n,
2337                    r = Array(t),
2338                    i = s.call(arguments),
2339                    o = S.Deferred(),
2340                    a = function (t) {
2341                        return function (e) {
2342                            (r[t] = this),
2343                                (i[t] =
2344                                    1 < arguments.length
2345                                        ? s.call(arguments)
2346                                        : e),
2347                                --n || o.resolveWith(r, i);
2348                        };
2349                    };
2350                if (
2351                    n <= 1 &&
2352                    (I(e, o.done(a(t)).resolve, o.reject, !n),
2353                    'pending' === o.state() || m(i[t] && i[t].then))
2354                )
2355                    return o.then();
2356                while (t--) I(i[t], a(t), o.reject);
2357                return o.promise();
2358            }
2359        });
2360    var W = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
2361    (S.Deferred.exceptionHook = function (e, t) {
2362        C.console &&
2363            C.console.warn &&
2364            e &&
2365            W.test(e.name) &&
2366            C.console.warn(
2367                'jQuery.Deferred exception: ' + e.message,
2368                e.stack,
2369                t
2370            );
2371    }),
2372        (S.readyException = function (e) {
2373            C.setTimeout(function () {
2374                throw e;
2375            });
2376        });
2377    var F = S.Deferred();
2378    function B() {
2379        E.removeEventListener('DOMContentLoaded', B),
2380            C.removeEventListener('load', B),
2381            S.ready();
2382    }
2383    (S.fn.ready = function (e) {
2384        return (
2385            F.then(e)['catch'](function (e) {
2386                S.readyException(e);
2387            }),
2388            this
2389        );
2390    }),
2391        S.extend({
2392            isReady: !1,
2393            readyWait: 1,
2394            ready: function (e) {
2395                (!0 === e ? --S.readyWait : S.isReady) ||
2396                    ((S.isReady = !0) !== e && 0 < --S.readyWait) ||
2397                    F.resolveWith(E, [S]);
2398            }
2399        }),
2400        (S.ready.then = F.then),
2401        'complete' === E.readyState ||
2402        ('loading' !== E.readyState && !E.documentElement.doScroll)
2403            ? C.setTimeout(S.ready)
2404            : (E.addEventListener('DOMContentLoaded', B),
2405              C.addEventListener('load', B));
2406    var $ = function (e, t, n, r, i, o, a) {
2407            var s = 0,
2408                u = e.length,
2409                l = null == n;
2410            if ('object' === w(n))
2411                for (s in ((i = !0), n)) $(e, t, s, n[s], !0, o, a);
2412            else if (
2413                void 0 !== r &&
2414                ((i = !0),
2415                m(r) || (a = !0),
2416                l &&
2417                    (a
2418                        ? (t.call(e, r), (t = null))
2419                        : ((l = t),
2420                          (t = function (e, t, n) {
2421                              return l.call(S(e), n);
2422                          }))),
2423                t)
2424            )
2425                for (; s < u; s++)
2426                    t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n)));
2427            return i ? e : l ? t.call(e) : u ? t(e[0], n) : o;
2428        },
2429        _ = /^-ms-/,
2430        z = /-([a-z])/g;
2431    function U(e, t) {
2432        return t.toUpperCase();
2433    }
2434    function X(e) {
2435        return e.replace(_, 'ms-').replace(z, U);
2436    }
2437    var V = function (e) {
2438        return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType;
2439    };
2440    function G() {
2441        this.expando = S.expando + G.uid++;
2442    }
2443    (G.uid = 1),
2444        (G.prototype = {
2445            cache: function (e) {
2446                var t = e[this.expando];
2447                return (
2448                    t ||
2449                        ((t = {}),
2450                        V(e) &&
2451                            (e.nodeType
2452                                ? (e[this.expando] = t)
2453                                : Object.defineProperty(e, this.expando, {
2454                                      value: t,
2455                                      configurable: !0
2456                                  }))),
2457                    t
2458                );
2459            },
2460            set: function (e, t, n) {
2461                var r,
2462                    i = this.cache(e);
2463                if ('string' == typeof t) i[X(t)] = n;
2464                else for (r in t) i[X(r)] = t[r];
2465                return i;
2466            },
2467            get: function (e, t) {
2468                return void 0 === t
2469                    ? this.cache(e)
2470                    : e[this.expando] && e[this.expando][X(t)];
2471            },
2472            access: function (e, t, n) {
2473                return void 0 === t ||
2474                    (t && 'string' == typeof t && void 0 === n)
2475                    ? this.get(e, t)
2476                    : (this.set(e, t, n), void 0 !== n ? n : t);
2477            },
2478            remove: function (e, t) {
2479                var n,
2480                    r = e[this.expando];
2481                if (void 0 !== r) {
2482                    if (void 0 !== t) {
2483                        n = (t = Array.isArray(t)
2484                            ? t.map(X)
2485                            : (t = X(t)) in r
2486                            ? [t]
2487                            : t.match(P) || []).length;
2488                        while (n--) delete r[t[n]];
2489                    }
2490                    (void 0 === t || S.isEmptyObject(r)) &&
2491                        (e.nodeType
2492                            ? (e[this.expando] = void 0)
2493                            : delete e[this.expando]);
2494                }
2495            },
2496            hasData: function (e) {
2497                var t = e[this.expando];
2498                return void 0 !== t && !S.isEmptyObject(t);
2499            }
2500        });
2501    var Y = new G(),
2502        Q = new G(),
2503        J = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
2504        K = /[A-Z]/g;
2505    function Z(e, t, n) {
2506        var r, i;
2507        if (void 0 === n && 1 === e.nodeType)
2508            if (
2509                ((r = 'data-' + t.replace(K, '-$&').toLowerCase()),
2510                'string' == typeof (n = e.getAttribute(r)))
2511            ) {
2512                try {
2513                    n =
2514                        'true' === (i = n) ||
2515                        ('false' !== i &&
2516                            ('null' === i
2517                                ? null
2518                                : i === +i + ''
2519                                ? +i
2520                                : J.test(i)
2521                                ? JSON.parse(i)
2522                                : i));
2523                } catch (e) {}
2524                Q.set(e, t, n);
2525            } else n = void 0;
2526        return n;
2527    }
2528    S.extend({
2529        hasData: function (e) {
2530            return Q.hasData(e) || Y.hasData(e);
2531        },
2532        data: function (e, t, n) {
2533            return Q.access(e, t, n);
2534        },
2535        removeData: function (e, t) {
2536            Q.remove(e, t);
2537        },
2538        _data: function (e, t, n) {
2539            return Y.access(e, t, n);
2540        },
2541        _removeData: function (e, t) {
2542            Y.remove(e, t);
2543        }
2544    }),
2545        S.fn.extend({
2546            data: function (n, e) {
2547                var t,
2548                    r,
2549                    i,
2550                    o = this[0],
2551                    a = o && o.attributes;
2552                if (void 0 === n) {
2553                    if (
2554                        this.length &&
2555                        ((i = Q.get(o)),
2556                        1 === o.nodeType && !Y.get(o, 'hasDataAttrs'))
2557                    ) {
2558                        t = a.length;
2559                        while (t--)
2560                            a[t] &&
2561                                0 === (r = a[t].name).indexOf('data-') &&
2562                                ((r = X(r.slice(5))), Z(o, r, i[r]));
2563                        Y.set(o, 'hasDataAttrs', !0);
2564                    }
2565                    return i;
2566                }
2567                return 'object' == typeof n
2568                    ? this.each(function () {
2569                          Q.set(this, n);
2570                      })
2571                    : $(
2572                          this,
2573                          function (e) {
2574                              var t;
2575                              if (o && void 0 === e)
2576                                  return void 0 !== (t = Q.get(o, n))
2577                                      ? t
2578                                      : void 0 !== (t = Z(o, n))
2579                                      ? t
2580                                      : void 0;
2581                              this.each(function () {
2582                                  Q.set(this, n, e);
2583                              });
2584                          },
2585                          null,
2586                          e,
2587                          1 < arguments.length,
2588                          null,
2589                          !0
2590                      );
2591            },
2592            removeData: function (e) {
2593                return this.each(function () {
2594                    Q.remove(this, e);
2595                });
2596            }
2597        }),
2598        S.extend({
2599            queue: function (e, t, n) {
2600                var r;
2601                if (e)
2602                    return (
2603                        (t = (t || 'fx') + 'queue'),
2604                        (r = Y.get(e, t)),
2605                        n &&
2606                            (!r || Array.isArray(n)
2607                                ? (r = Y.access(e, t, S.makeArray(n)))
2608                                : r.push(n)),
2609                        r || []
2610                    );
2611            },
2612            dequeue: function (e, t) {
2613                t = t || 'fx';
2614                var n = S.queue(e, t),
2615                    r = n.length,
2616                    i = n.shift(),
2617                    o = S._queueHooks(e, t);
2618                'inprogress' === i && ((i = n.shift()), r--),
2619                    i &&
2620                        ('fx' === t && n.unshift('inprogress'),
2621                        delete o.stop,
2622                        i.call(
2623                            e,
2624                            function () {
2625                                S.dequeue(e, t);
2626                            },
2627                            o
2628                        )),
2629                    !r && o && o.empty.fire();
2630            },
2631            _queueHooks: function (e, t) {
2632                var n = t + 'queueHooks';
2633                return (
2634                    Y.get(e, n) ||
2635                    Y.access(e, n, {
2636                        empty: S.Callbacks('once memory').add(function () {
2637                            Y.remove(e, [t + 'queue', n]);
2638                        })
2639                    })
2640                );
2641            }
2642        }),
2643        S.fn.extend({
2644            queue: function (t, n) {
2645                var e = 2;
2646                return (
2647                    'string' != typeof t && ((n = t), (t = 'fx'), e--),
2648                    arguments.length < e
2649                        ? S.queue(this[0], t)
2650                        : void 0 === n
2651                        ? this
2652                        : this.each(function () {
2653                              var e = S.queue(this, t, n);
2654                              S._queueHooks(this, t),
2655                                  'fx' === t &&
2656                                      'inprogress' !== e[0] &&
2657                                      S.dequeue(this, t);
2658                          })
2659                );
2660            },
2661            dequeue: function (e) {
2662                return this.each(function () {
2663                    S.dequeue(this, e);
2664                });
2665            },
2666            clearQueue: function (e) {
2667                return this.queue(e || 'fx', []);
2668            },
2669            promise: function (e, t) {
2670                var n,
2671                    r = 1,
2672                    i = S.Deferred(),
2673                    o = this,
2674                    a = this.length,
2675                    s = function () {
2676                        --r || i.resolveWith(o, [o]);
2677                    };
2678                'string' != typeof e && ((t = e), (e = void 0)),
2679                    (e = e || 'fx');
2680                while (a--)
2681                    (n = Y.get(o[a], e + 'queueHooks')) &&
2682                        n.empty &&
2683                        (r++, n.empty.add(s));
2684                return s(), i.promise(t);
2685            }
2686        });
2687    var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
2688        te = new RegExp('^(?:([+-])=|)(' + ee + ')([a-z%]*)$', 'i'),
2689        ne = ['Top', 'Right', 'Bottom', 'Left'],
2690        re = E.documentElement,
2691        ie = function (e) {
2692            return S.contains(e.ownerDocument, e);
2693        },
2694        oe = { composed: !0 };
2695    re.getRootNode &&
2696        (ie = function (e) {
2697            return (
2698                S.contains(e.ownerDocument, e) ||
2699                e.getRootNode(oe) === e.ownerDocument
2700            );
2701        });
2702    var ae = function (e, t) {
2703        return (
2704            'none' === (e = t || e).style.display ||
2705            ('' === e.style.display && ie(e) && 'none' === S.css(e, 'display'))
2706        );
2707    };
2708    function se(e, t, n, r) {
2709        var i,
2710            o,
2711            a = 20,
2712            s = r
2713                ? function () {
2714                      return r.cur();
2715                  }
2716                : function () {
2717                      return S.css(e, t, '');
2718                  },
2719            u = s(),
2720            l = (n && n[3]) || (S.cssNumber[t] ? '' : 'px'),
2721            c =
2722                e.nodeType &&
2723                (S.cssNumber[t] || ('px' !== l && +u)) &&
2724                te.exec(S.css(e, t));
2725        if (c && c[3] !== l) {
2726            (u /= 2), (l = l || c[3]), (c = +u || 1);
2727            while (a--)
2728                S.style(e, t, c + l),
2729                    (1 - o) * (1 - (o = s() / u || 0.5)) <= 0 && (a = 0),
2730                    (c /= o);
2731            (c *= 2), S.style(e, t, c + l), (n = n || []);
2732        }
2733        return (
2734            n &&
2735                ((c = +c || +u || 0),
2736                (i = n[1] ? c + (n[1] + 1) * n[2] : +n[2]),
2737                r && ((r.unit = l), (r.start = c), (r.end = i))),
2738            i
2739        );
2740    }
2741    var ue = {};
2742    function le(e, t) {
2743        for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++)
2744            (r = e[c]).style &&
2745                ((n = r.style.display),
2746                t
2747                    ? ('none' === n &&
2748                          ((l[c] = Y.get(r, 'display') || null),
2749                          l[c] || (r.style.display = '')),
2750                      '' === r.style.display &&
2751                          ae(r) &&
2752                          (l[c] =
2753                              ((u = a = o = void 0),
2754                              (a = (i = r).ownerDocument),
2755                              (s = i.nodeName),
2756                              (u = ue[s]) ||
2757                                  ((o = a.body.appendChild(a.createElement(s))),
2758                                  (u = S.css(o, 'display')),
2759                                  o.parentNode.removeChild(o),
2760                                  'none' === u && (u = 'block'),
2761                                  (ue[s] = u)))))
2762                    : 'none' !== n &&
2763                      ((l[c] = 'none'), Y.set(r, 'display', n)));
2764        for (c = 0; c < f; c++) null != l[c] && (e[c].style.display = l[c]);
2765        return e;
2766    }
2767    S.fn.extend({
2768        show: function () {
2769            return le(this, !0);
2770        },
2771        hide: function () {
2772            return le(this);
2773        },
2774        toggle: function (e) {
2775            return 'boolean' == typeof e
2776                ? e
2777                    ? this.show()
2778                    : this.hide()
2779                : this.each(function () {
2780                      ae(this) ? S(this).show() : S(this).hide();
2781                  });
2782        }
2783    });
2784    var ce,
2785        fe,
2786        pe = /^(?:checkbox|radio)$/i,
2787        de = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i,
2788        he = /^$|^module$|\/(?:java|ecma)script/i;
2789    (ce = E.createDocumentFragment().appendChild(E.createElement('div'))),
2790        (fe = E.createElement('input')).setAttribute('type', 'radio'),
2791        fe.setAttribute('checked', 'checked'),
2792        fe.setAttribute('name', 't'),
2793        ce.appendChild(fe),
2794        (y.checkClone = ce.cloneNode(!0).cloneNode(!0).lastChild.checked),
2795        (ce.innerHTML = '<textarea>x</textarea>'),
2796        (y.noCloneChecked = !!ce.cloneNode(!0).lastChild.defaultValue),
2797        (ce.innerHTML = '<option></option>'),
2798        (y.option = !!ce.lastChild);
2799    var ge = {
2800        thead: [1, '<table>', '</table>'],
2801        col: [2, '<table><colgroup>', '</colgroup></table>'],
2802        tr: [2, '<table><tbody>', '</tbody></table>'],
2803        td: [3, '<table><tbody><tr>', '</tr></tbody></table>'],
2804        _default: [0, '', '']
2805    };
2806    function ve(e, t) {
2807        var n;
2808        return (
2809            (n =
2810                'undefined' != typeof e.getElementsByTagName
2811                    ? e.getElementsByTagName(t || '*')
2812                    : 'undefined' != typeof e.querySelectorAll
2813                    ? e.querySelectorAll(t || '*')
2814                    : []),
2815            void 0 === t || (t && A(e, t)) ? S.merge([e], n) : n
2816        );
2817    }
2818    function ye(e, t) {
2819        for (var n = 0, r = e.length; n < r; n++)
2820            Y.set(e[n], 'globalEval', !t || Y.get(t[n], 'globalEval'));
2821    }
2822    (ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead),
2823        (ge.th = ge.td),
2824        y.option ||
2825            (ge.optgroup = ge.option =
2826                [1, "<select multiple='multiple'>", '</select>']);
2827    var me = /<|&#?\w+;/;
2828    function xe(e, t, n, r, i) {
2829        for (
2830            var o,
2831                a,
2832                s,
2833                u,
2834                l,
2835                c,
2836                f = t.createDocumentFragment(),
2837                p = [],
2838                d = 0,
2839                h = e.length;
2840            d < h;
2841            d++
2842        )
2843            if ((o = e[d]) || 0 === o)
2844                if ('object' === w(o)) S.merge(p, o.nodeType ? [o] : o);
2845                else if (me.test(o)) {
2846                    (a = a || f.appendChild(t.createElement('div'))),
2847                        (s = (de.exec(o) || ['', ''])[1].toLowerCase()),
2848                        (u = ge[s] || ge._default),
2849                        (a.innerHTML = u[1] + S.htmlPrefilter(o) + u[2]),
2850                        (c = u[0]);
2851                    while (c--) a = a.lastChild;
2852                    S.merge(p, a.childNodes),
2853                        ((a = f.firstChild).textContent = '');
2854                } else p.push(t.createTextNode(o));
2855        (f.textContent = ''), (d = 0);
2856        while ((o = p[d++]))
2857            if (r && -1 < S.inArray(o, r)) i && i.push(o);
2858            else if (
2859                ((l = ie(o)),
2860                (a = ve(f.appendChild(o), 'script')),
2861                l && ye(a),
2862                n)
2863            ) {
2864                c = 0;
2865                while ((o = a[c++])) he.test(o.type || '') && n.push(o);
2866            }
2867        return f;
2868    }
2869    var be = /^([^.]*)(?:\.(.+)|)/;
2870    function we() {
2871        return !0;
2872    }
2873    function Te() {
2874        return !1;
2875    }
2876    function Ce(e, t) {
2877        return (
2878            (e ===
2879                (function () {
2880                    try {
2881                        return E.activeElement;
2882                    } catch (e) {}
2883                })()) ==
2884            ('focus' === t)
2885        );
2886    }
2887    function Ee(e, t, n, r, i, o) {
2888        var a, s;
2889        if ('object' == typeof t) {
2890            for (s in ('string' != typeof n && ((r = r || n), (n = void 0)), t))
2891                Ee(e, s, n, r, t[s], o);
2892            return e;
2893        }
2894        if (
2895            (null == r && null == i
2896                ? ((i = n), (r = n = void 0))
2897                : null == i &&
2898                  ('string' == typeof n
2899                      ? ((i = r), (r = void 0))
2900                      : ((i = r), (r = n), (n = void 0))),
2901            !1 === i)
2902        )
2903            i = Te;
2904        else if (!i) return e;
2905        return (
2906            1 === o &&
2907                ((a = i),
2908                ((i = function (e) {
2909                    return S().off(e), a.apply(this, arguments);
2910                }).guid = a.guid || (a.guid = S.guid++))),
2911            e.each(function () {
2912                S.event.add(this, t, i, r, n);
2913            })
2914        );
2915    }
2916    function Se(e, i, o) {
2917        o
2918            ? (Y.set(e, i, !1),
2919              S.event.add(e, i, {
2920                  namespace: !1,
2921                  handler: function (e) {
2922                      var t,
2923                          n,
2924                          r = Y.get(this, i);
2925                      if (1 & e.isTrigger && this[i]) {
2926                          if (r.length)
2927                              (S.event.special[i] || {}).delegateType &&
2928                                  e.stopPropagation();
2929                          else if (
2930                              ((r = s.call(arguments)),
2931                              Y.set(this, i, r),
2932                              (t = o(this, i)),
2933                              this[i](),
2934                              r !== (n = Y.get(this, i)) || t
2935                                  ? Y.set(this, i, !1)
2936                                  : (n = {}),
2937                              r !== n)
2938                          )
2939                              return (
2940                                  e.stopImmediatePropagation(),
2941                                  e.preventDefault(),
2942                                  n && n.value
2943                              );
2944                      } else
2945                          r.length &&
2946                              (Y.set(this, i, {
2947                                  value: S.event.trigger(
2948                                      S.extend(r[0], S.Event.prototype),
2949                                      r.slice(1),
2950                                      this
2951                                  )
2952                              }),
2953                              e.stopImmediatePropagation());
2954                  }
2955              }))
2956            : void 0 === Y.get(e, i) && S.event.add(e, i, we);
2957    }
2958    (S.event = {
2959        global: {},
2960        add: function (t, e, n, r, i) {
2961            var o,
2962                a,
2963                s,
2964                u,
2965                l,
2966                c,
2967                f,
2968                p,
2969                d,
2970                h,
2971                g,
2972                v = Y.get(t);
2973            if (V(t)) {
2974                n.handler && ((n = (o = n).handler), (i = o.selector)),
2975                    i && S.find.matchesSelector(re, i),
2976                    n.guid || (n.guid = S.guid++),
2977                    (u = v.events) || (u = v.events = Object.create(null)),
2978                    (a = v.handle) ||
2979                        (a = v.handle =
2980                            function (e) {
2981                                return 'undefined' != typeof S &&
2982                                    S.event.triggered !== e.type
2983                                    ? S.event.dispatch.apply(t, arguments)
2984                                    : void 0;
2985                            }),
2986                    (l = (e = (e || '').match(P) || ['']).length);
2987                while (l--)
2988                    (d = g = (s = be.exec(e[l]) || [])[1]),
2989                        (h = (s[2] || '').split('.').sort()),
2990                        d &&
2991                            ((f = S.event.special[d] || {}),
2992                            (d = (i ? f.delegateType : f.bindType) || d),
2993                            (f = S.event.special[d] || {}),
2994                            (c = S.extend(
2995                                {
2996                                    type: d,
2997                                    origType: g,
2998                                    data: r,
2999                                    handler: n,
3000                                    guid: n.guid,
3001                                    selector: i,
3002                                    needsContext:
3003                                        i && S.expr.match.needsContext.test(i),
3004                                    namespace: h.join('.')
3005                                },
3006                                o
3007                            )),
3008                            (p = u[d]) ||
3009                                (((p = u[d] = []).delegateCount = 0),
3010                                (f.setup && !1 !== f.setup.call(t, r, h, a)) ||
3011                                    (t.addEventListener &&
3012                                        t.addEventListener(d, a))),
3013                            f.add &&
3014                                (f.add.call(t, c),
3015                                c.handler.guid || (c.handler.guid = n.guid)),
3016                            i ? p.splice(p.delegateCount++, 0, c) : p.push(c),
3017                            (S.event.global[d] = !0));
3018            }
3019        },
3020        remove: function (e, t, n, r, i) {
3021            var o,
3022                a,
3023                s,
3024                u,
3025                l,
3026                c,
3027                f,
3028                p,
3029                d,
3030                h,
3031                g,
3032                v = Y.hasData(e) && Y.get(e);
3033            if (v && (u = v.events)) {
3034                l = (t = (t || '').match(P) || ['']).length;
3035                while (l--)
3036                    if (
3037                        ((d = g = (s = be.exec(t[l]) || [])[1]),
3038                        (h = (s[2] || '').split('.').sort()),
3039                        d)
3040                    ) {
3041                        (f = S.event.special[d] || {}),
3042                            (p =
3043                                u[
3044                                    (d = (r ? f.delegateType : f.bindType) || d)
3045                                ] || []),
3046                            (s =
3047                                s[2] &&
3048                                new RegExp(
3049                                    '(^|\\.)' +
3050                                        h.join('\\.(?:.*\\.|)') +
3051                                        '(\\.|$)'
3052                                )),
3053                            (a = o = p.length);
3054                        while (o--)
3055                            (c = p[o]),
3056                                (!i && g !== c.origType) ||
3057                                    (n && n.guid !== c.guid) ||
3058                                    (s && !s.test(c.namespace)) ||
3059                                    (r &&
3060                                        r !== c.selector &&
3061                                        ('**' !== r || !c.selector)) ||
3062                                    (p.splice(o, 1),
3063                                    c.selector && p.delegateCount--,
3064                                    f.remove && f.remove.call(e, c));
3065                        a &&
3066                            !p.length &&
3067                            ((f.teardown &&
3068                                !1 !== f.teardown.call(e, h, v.handle)) ||
3069                                S.removeEvent(e, d, v.handle),
3070                            delete u[d]);
3071                    } else for (d in u) S.event.remove(e, d + t[l], n, r, !0);
3072                S.isEmptyObject(u) && Y.remove(e, 'handle events');
3073            }
3074        },
3075        dispatch: function (e) {
3076            var t,
3077                n,
3078                r,
3079                i,
3080                o,
3081                a,
3082                s = new Array(arguments.length),
3083                u = S.event.fix(e),
3084                l =
3085                    (Y.get(this, 'events') || Object.create(null))[u.type] ||
3086                    [],
3087                c = S.event.special[u.type] || {};
3088            for (s[0] = u, t = 1; t < arguments.length; t++)
3089                s[t] = arguments[t];
3090            if (
3091                ((u.delegateTarget = this),
3092                !c.preDispatch || !1 !== c.preDispatch.call(this, u))
3093            ) {
3094                (a = S.event.handlers.call(this, u, l)), (t = 0);
3095                while ((i = a[t++]) && !u.isPropagationStopped()) {
3096                    (u.currentTarget = i.elem), (n = 0);
3097                    while (
3098                        (o = i.handlers[n++]) &&
3099                        !u.isImmediatePropagationStopped()
3100                    )
3101                        (u.rnamespace &&
3102                            !1 !== o.namespace &&
3103                            !u.rnamespace.test(o.namespace)) ||
3104                            ((u.handleObj = o),
3105                            (u.data = o.data),
3106                            void 0 !==
3107                                (r = (
3108                                    (S.event.special[o.origType] || {})
3109                                        .handle || o.handler
3110                                ).apply(i.elem, s)) &&
3111                                !1 === (u.result = r) &&
3112                                (u.preventDefault(), u.stopPropagation()));
3113                }
3114                return c.postDispatch && c.postDispatch.call(this, u), u.result;
3115            }
3116        },
3117        handlers: function (e, t) {
3118            var n,
3119                r,
3120                i,
3121                o,
3122                a,
3123                s = [],
3124                u = t.delegateCount,
3125                l = e.target;
3126            if (u && l.nodeType && !('click' === e.type && 1 <= e.button))
3127                for (; l !== this; l = l.parentNode || this)
3128                    if (
3129                        1 === l.nodeType &&
3130                        ('click' !== e.type || !0 !== l.disabled)
3131                    ) {
3132                        for (o = [], a = {}, n = 0; n < u; n++)
3133                            void 0 === a[(i = (r = t[n]).selector + ' ')] &&
3134                                (a[i] = r.needsContext
3135                                    ? -1 < S(i, this).index(l)
3136                                    : S.find(i, this, null, [l]).length),
3137                                a[i] && o.push(r);
3138                        o.length && s.push({ elem: l, handlers: o });
3139                    }
3140            return (
3141                (l = this),
3142                u < t.length && s.push({ elem: l, handlers: t.slice(u) }),
3143                s
3144            );
3145        },
3146        addProp: function (t, e) {
3147            Object.defineProperty(S.Event.prototype, t, {
3148                enumerable: !0,
3149                configurable: !0,
3150                get: m(e)
3151                    ? function () {
3152                          if (this.originalEvent) return e(this.originalEvent);
3153                      }
3154                    : function () {
3155                          if (this.originalEvent) return this.originalEvent[t];
3156                      },
3157                set: function (e) {
3158                    Object.defineProperty(this, t, {
3159                        enumerable: !0,
3160                        configurable: !0,
3161                        writable: !0,
3162                        value: e
3163                    });
3164                }
3165            });
3166        },
3167        fix: function (e) {
3168            return e[S.expando] ? e : new S.Event(e);
3169        },
3170        special: {
3171            load: { noBubble: !0 },
3172            click: {
3173                setup: function (e) {
3174                    var t = this || e;
3175                    return (
3176                        pe.test(t.type) &&
3177                            t.click &&
3178                            A(t, 'input') &&
3179                            Se(t, 'click', we),
3180                        !1
3181                    );
3182                },
3183                trigger: function (e) {
3184                    var t = this || e;
3185                    return (
3186                        pe.test(t.type) &&
3187                            t.click &&
3188                            A(t, 'input') &&
3189                            Se(t, 'click'),
3190                        !0
3191                    );
3192                },
3193                _default: function (e) {
3194                    var t = e.target;
3195                    return (
3196                        (pe.test(t.type) &&
3197                            t.click &&
3198                            A(t, 'input') &&
3199                            Y.get(t, 'click')) ||
3200                        A(t, 'a')
3201                    );
3202                }
3203            },
3204            beforeunload: {
3205                postDispatch: function (e) {
3206                    void 0 !== e.result &&
3207                        e.originalEvent &&
3208                        (e.originalEvent.returnValue = e.result);
3209                }
3210            }
3211        }
3212    }),
3213        (S.removeEvent = function (e, t, n) {
3214            e.removeEventListener && e.removeEventListener(t, n);
3215        }),
3216        (S.Event = function (e, t) {
3217            if (!(this instanceof S.Event)) return new S.Event(e, t);
3218            e && e.type
3219                ? ((this.originalEvent = e),
3220                  (this.type = e.type),
3221                  (this.isDefaultPrevented =
3222                      e.defaultPrevented ||
3223                      (void 0 === e.defaultPrevented && !1 === e.returnValue)
3224                          ? we
3225                          : Te),
3226                  (this.target =
3227                      e.target && 3 === e.target.nodeType
3228                          ? e.target.parentNode
3229                          : e.target),
3230                  (this.currentTarget = e.currentTarget),
3231                  (this.relatedTarget = e.relatedTarget))
3232                : (this.type = e),
3233                t && S.extend(this, t),
3234                (this.timeStamp = (e && e.timeStamp) || Date.now()),
3235                (this[S.expando] = !0);
3236        }),
3237        (S.Event.prototype = {
3238            constructor: S.Event,
3239            isDefaultPrevented: Te,
3240            isPropagationStopped: Te,
3241            isImmediatePropagationStopped: Te,
3242            isSimulated: !1,
3243            preventDefault: function () {
3244                var e = this.originalEvent;
3245                (this.isDefaultPrevented = we),
3246                    e && !this.isSimulated && e.preventDefault();
3247            },
3248            stopPropagation: function () {
3249                var e = this.originalEvent;
3250                (this.isPropagationStopped = we),
3251                    e && !this.isSimulated && e.stopPropagation();
3252            },
3253            stopImmediatePropagation: function () {
3254                var e = this.originalEvent;
3255                (this.isImmediatePropagationStopped = we),
3256                    e && !this.isSimulated && e.stopImmediatePropagation(),
3257                    this.stopPropagation();
3258            }
3259        }),
3260        S.each(
3261            {
3262                altKey: !0,
3263                bubbles: !0,
3264                cancelable: !0,
3265                changedTouches: !0,
3266                ctrlKey: !0,
3267                detail: !0,
3268                eventPhase: !0,
3269                metaKey: !0,
3270                pageX: !0,
3271                pageY: !0,
3272                shiftKey: !0,
3273                view: !0,
3274                char: !0,
3275                code: !0,
3276                charCode: !0,
3277                key: !0,
3278                keyCode: !0,
3279                button: !0,
3280                buttons: !0,
3281                clientX: !0,
3282                clientY: !0,
3283                offsetX: !0,
3284                offsetY: !0,
3285                pointerId: !0,
3286                pointerType: !0,
3287                screenX: !0,
3288                screenY: !0,
3289                targetTouches: !0,
3290                toElement: !0,
3291                touches: !0,
3292                which: !0
3293            },
3294            S.event.addProp
3295        ),
3296        S.each({ focus: 'focusin', blur: 'focusout' }, function (e, t) {
3297            S.event.special[e] = {
3298                setup: function () {
3299                    return Se(this, e, Ce), !1;
3300                },
3301                trigger: function () {
3302                    return Se(this, e), !0;
3303                },
3304                _default: function () {
3305                    return !0;
3306                },
3307                delegateType: t
3308            };
3309        }),
3310        S.each(
3311            {
3312                mouseenter: 'mouseover',
3313                mouseleave: 'mouseout',
3314                pointerenter: 'pointerover',
3315                pointerleave: 'pointerout'
3316            },
3317            function (e, i) {
3318                S.event.special[e] = {
3319                    delegateType: i,
3320                    bindType: i,
3321                    handle: function (e) {
3322                        var t,
3323                            n = e.relatedTarget,
3324                            r = e.handleObj;
3325                        return (
3326                            (n && (n === this || S.contains(this, n))) ||
3327                                ((e.type = r.origType),
3328                                (t = r.handler.apply(this, arguments)),
3329                                (e.type = i)),
3330                            t
3331                        );
3332                    }
3333                };
3334            }
3335        ),
3336        S.fn.extend({
3337            on: function (e, t, n, r) {
3338                return Ee(this, e, t, n, r);
3339            },
3340            one: function (e, t, n, r) {
3341                return Ee(this, e, t, n, r, 1);
3342            },
3343            off: function (e, t, n) {
3344                var r, i;
3345                if (e && e.preventDefault && e.handleObj)
3346                    return (
3347                        (r = e.handleObj),
3348                        S(e.delegateTarget).off(
3349                            r.namespace
3350                                ? r.origType + '.' + r.namespace
3351                                : r.origType,
3352                            r.selector,
3353                            r.handler
3354                        ),
3355                        this
3356                    );
3357                if ('object' == typeof e) {
3358                    for (i in e) this.off(i, t, e[i]);
3359                    return this;
3360                }
3361                return (
3362                    (!1 !== t && 'function' != typeof t) ||
3363                        ((n = t), (t = void 0)),
3364                    !1 === n && (n = Te),
3365                    this.each(function () {
3366                        S.event.remove(this, e, n, t);
3367                    })
3368                );
3369            }
3370        });
3371    var ke = /<script|<style|<link/i,
3372        Ae = /checked\s*(?:[^=]|=\s*.checked.)/i,
3373        Ne = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
3374    function je(e, t) {
3375        return (
3376            (A(e, 'table') &&
3377                A(11 !== t.nodeType ? t : t.firstChild, 'tr') &&
3378                S(e).children('tbody')[0]) ||
3379            e
3380        );
3381    }
3382    function De(e) {
3383        return (e.type = (null !== e.getAttribute('type')) + '/' + e.type), e;
3384    }
3385    function qe(e) {
3386        return (
3387            'true/' === (e.type || '').slice(0, 5)
3388                ? (e.type = e.type.slice(5))
3389                : e.removeAttribute('type'),
3390            e
3391        );
3392    }
3393    function Le(e, t) {
3394        var n, r, i, o, a, s;
3395        if (1 === t.nodeType) {
3396            if (Y.hasData(e) && (s = Y.get(e).events))
3397                for (i in (Y.remove(t, 'handle events'), s))
3398                    for (n = 0, r = s[i].length; n < r; n++)
3399                        S.event.add(t, i, s[i][n]);
3400            Q.hasData(e) &&
3401                ((o = Q.access(e)), (a = S.extend({}, o)), Q.set(t, a));
3402        }
3403    }
3404    function He(n, r, i, o) {
3405        r = g(r);
3406        var e,
3407            t,
3408            a,
3409            s,
3410            u,
3411            l,
3412            c = 0,
3413            f = n.length,
3414            p = f - 1,
3415            d = r[0],
3416            h = m(d);
3417        if (h || (1 < f && 'string' == typeof d && !y.checkClone && Ae.test(d)))
3418            return n.each(function (e) {
3419                var t = n.eq(e);
3420                h && (r[0] = d.call(this, e, t.html())), He(t, r, i, o);
3421            });
3422        if (
3423            f &&
3424            ((t = (e = xe(r, n[0].ownerDocument, !1, n, o)).firstChild),
3425            1 === e.childNodes.length && (e = t),
3426            t || o)
3427        ) {
3428            for (s = (a = S.map(ve(e, 'script'), De)).length; c < f; c++)
3429                (u = e),
3430                    c !== p &&
3431                        ((u = S.clone(u, !0, !0)),
3432                        s && S.merge(a, ve(u, 'script'))),
3433                    i.call(n[c], u, c);
3434            if (s)
3435                for (
3436                    l = a[a.length - 1].ownerDocument, S.map(a, qe), c = 0;
3437                    c < s;
3438                    c++
3439                )
3440                    (u = a[c]),
3441                        he.test(u.type || '') &&
3442                            !Y.access(u, 'globalEval') &&
3443                            S.contains(l, u) &&
3444                            (u.src && 'module' !== (u.type || '').toLowerCase()
3445                                ? S._evalUrl &&
3446                                  !u.noModule &&
3447                                  S._evalUrl(
3448                                      u.src,
3449                                      {
3450                                          nonce:
3451                                              u.nonce || u.getAttribute('nonce')
3452                                      },
3453                                      l
3454                                  )
3455                                : b(u.textContent.replace(Ne, ''), u, l));
3456        }
3457        return n;
3458    }
3459    function Oe(e, t, n) {
3460        for (var r, i = t ? S.filter(t, e) : e, o = 0; null != (r = i[o]); o++)
3461            n || 1 !== r.nodeType || S.cleanData(ve(r)),
3462                r.parentNode &&
3463                    (n && ie(r) && ye(ve(r, 'script')),
3464                    r.parentNode.removeChild(r));
3465        return e;
3466    }
3467    S.extend({
3468        htmlPrefilter: function (e) {
3469            return e;
3470        },
3471        clone: function (e, t, n) {
3472            var r,
3473                i,
3474                o,
3475                a,
3476                s,
3477                u,
3478                l,
3479                c = e.cloneNode(!0),
3480                f = ie(e);
3481            if (
3482                !(
3483                    y.noCloneChecked ||
3484                    (1 !== e.nodeType && 11 !== e.nodeType) ||
3485                    S.isXMLDoc(e)
3486                )
3487            )
3488                for (a = ve(c), r = 0, i = (o = ve(e)).length; r < i; r++)
3489                    (s = o[r]),
3490                        (u = a[r]),
3491                        void 0,
3492                        'input' === (l = u.nodeName.toLowerCase()) &&
3493                        pe.test(s.type)
3494                            ? (u.checked = s.checked)
3495                            : ('input' !== l && 'textarea' !== l) ||
3496                              (u.defaultValue = s.defaultValue);
3497            if (t)
3498                if (n)
3499                    for (
3500                        o = o || ve(e), a = a || ve(c), r = 0, i = o.length;
3501                        r < i;
3502                        r++
3503                    )
3504                        Le(o[r], a[r]);
3505                else Le(e, c);
3506            return (
3507                0 < (a = ve(c, 'script')).length &&
3508                    ye(a, !f && ve(e, 'script')),
3509                c
3510            );
3511        },
3512        cleanData: function (e) {
3513            for (
3514                var t, n, r, i = S.event.special, o = 0;
3515                void 0 !== (n = e[o]);
3516                o++
3517            )
3518                if (V(n)) {
3519                    if ((t = n[Y.expando])) {
3520                        if (t.events)
3521                            for (r in t.events)
3522                                i[r]
3523                                    ? S.event.remove(n, r)
3524                                    : S.removeEvent(n, r, t.handle);
3525                        n[Y.expando] = void 0;
3526                    }
3527                    n[Q.expando] && (n[Q.expando] = void 0);
3528                }
3529        }
3530    }),
3531        S.fn.extend({
3532            detach: function (e) {
3533                return Oe(this, e, !0);
3534            },
3535            remove: function (e) {
3536                return Oe(this, e);
3537            },
3538            text: function (e) {
3539                return $(
3540                    this,
3541                    function (e) {
3542                        return void 0 === e
3543                            ? S.text(this)
3544                            : this.empty().each(function () {
3545                                  (1 !== this.nodeType &&
3546                                      11 !== this.nodeType &&
3547                                      9 !== this.nodeType) ||
3548                                      (this.textContent = e);
3549                              });
3550                    },
3551                    null,
3552                    e,
3553                    arguments.length
3554                );
3555            },
3556            append: function () {
3557                return He(this, arguments, function (e) {
3558                    (1 !== this.nodeType &&
3559                        11 !== this.nodeType &&
3560                        9 !== this.nodeType) ||
3561                        je(this, e).appendChild(e);
3562                });
3563            },
3564            prepend: function () {
3565                return He(this, arguments, function (e) {
3566                    if (
3567                        1 === this.nodeType ||
3568                        11 === this.nodeType ||
3569                        9 === this.nodeType
3570                    ) {
3571                        var t = je(this, e);
3572                        t.insertBefore(e, t.firstChild);
3573                    }
3574                });
3575            },
3576            before: function () {
3577                return He(this, arguments, function (e) {
3578                    this.parentNode && this.parentNode.insertBefore(e, this);
3579                });
3580            },
3581            after: function () {
3582                return He(this, arguments, function (e) {
3583                    this.parentNode &&
3584                        this.parentNode.insertBefore(e, this.nextSibling);
3585                });
3586            },
3587            empty: function () {
3588                for (var e, t = 0; null != (e = this[t]); t++)
3589                    1 === e.nodeType &&
3590                        (S.cleanData(ve(e, !1)), (e.textContent = ''));
3591                return this;
3592            },
3593            clone: function (e, t) {
3594                return (
3595                    (e = null != e && e),
3596                    (t = null == t ? e : t),
3597                    this.map(function () {
3598                        return S.clone(this, e, t);
3599                    })
3600                );
3601            },
3602            html: function (e) {
3603                return $(
3604                    this,
3605                    function (e) {
3606                        var t = this[0] || {},
3607                            n = 0,
3608                            r = this.length;
3609                        if (void 0 === e && 1 === t.nodeType)
3610                            return t.innerHTML;
3611                        if (
3612                            'string' == typeof e &&
3613                            !ke.test(e) &&
3614                            !ge[(de.exec(e) || ['', ''])[1].toLowerCase()]
3615                        ) {
3616                            e = S.htmlPrefilter(e);
3617                            try {
3618                                for (; n < r; n++)
3619                                    1 === (t = this[n] || {}).nodeType &&
3620                                        (S.cleanData(ve(t, !1)),
3621                                        (t.innerHTML = e));
3622                                t = 0;
3623                            } catch (e) {}
3624                        }
3625                        t && this.empty().append(e);
3626                    },
3627                    null,
3628                    e,
3629                    arguments.length
3630                );
3631            },
3632            replaceWith: function () {
3633                var n = [];
3634                return He(
3635                    this,
3636                    arguments,
3637                    function (e) {
3638                        var t = this.parentNode;
3639                        S.inArray(this, n) < 0 &&
3640                            (S.cleanData(ve(this)),
3641                            t && t.replaceChild(e, this));
3642                    },
3643                    n
3644                );
3645            }
3646        }),
3647        S.each(
3648            {
3649                appendTo: 'append',
3650                prependTo: 'prepend',
3651                insertBefore: 'before',
3652                insertAfter: 'after',
3653                replaceAll: 'replaceWith'
3654            },
3655            function (e, a) {
3656                S.fn[e] = function (e) {
3657                    for (
3658                        var t, n = [], r = S(e), i = r.length - 1, o = 0;
3659                        o <= i;
3660                        o++
3661                    )
3662                        (t = o === i ? this : this.clone(!0)),
3663                            S(r[o])[a](t),
3664                            u.apply(n, t.get());
3665                    return this.pushStack(n);
3666                };
3667            }
3668        );
3669    var Pe = new RegExp('^(' + ee + ')(?!px)[a-z%]+$', 'i'),
3670        Re = function (e) {
3671            var t = e.ownerDocument.defaultView;
3672            return (t && t.opener) || (t = C), t.getComputedStyle(e);
3673        },
3674        Me = function (e, t, n) {
3675            var r,
3676                i,
3677                o = {};
3678            for (i in t) (o[i] = e.style[i]), (e.style[i] = t[i]);
3679            for (i in ((r = n.call(e)), t)) e.style[i] = o[i];
3680            return r;
3681        },
3682        Ie = new RegExp(ne.join('|'), 'i');
3683    function We(e, t, n) {
3684        var r,
3685            i,
3686            o,
3687            a,
3688            s = e.style;
3689        return (
3690            (n = n || Re(e)) &&
3691                ('' !== (a = n.getPropertyValue(t) || n[t]) ||
3692                    ie(e) ||
3693                    (a = S.style(e, t)),
3694                !y.pixelBoxStyles() &&
3695                    Pe.test(a) &&
3696                    Ie.test(t) &&
3697                    ((r = s.width),
3698                    (i = s.minWidth),
3699                    (o = s.maxWidth),
3700                    (s.minWidth = s.maxWidth = s.width = a),
3701                    (a = n.width),
3702                    (s.width = r),
3703                    (s.minWidth = i),
3704                    (s.maxWidth = o))),
3705            void 0 !== a ? a + '' : a
3706        );
3707    }
3708    function Fe(e, t) {
3709        return {
3710            get: function () {
3711                if (!e()) return (this.get = t).apply(this, arguments);
3712                delete this.get;
3713            }
3714        };
3715    }
3716    !(function () {
3717        function e() {
3718            if (l) {
3719                (u.style.cssText =
3720                    'position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0'),
3721                    (l.style.cssText =
3722                        'position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%'),
3723                    re.appendChild(u).appendChild(l);
3724                var e = C.getComputedStyle(l);
3725                (n = '1%' !== e.top),
3726                    (s = 12 === t(e.marginLeft)),
3727                    (l.style.right = '60%'),
3728                    (o = 36 === t(e.right)),
3729                    (r = 36 === t(e.width)),
3730                    (l.style.position = 'absolute'),
3731                    (i = 12 === t(l.offsetWidth / 3)),
3732                    re.removeChild(u),
3733                    (l = null);
3734            }
3735        }
3736        function t(e) {
3737            return Math.round(parseFloat(e));
3738        }
3739        var n,
3740            r,
3741            i,
3742            o,
3743            a,
3744            s,
3745            u = E.createElement('div'),
3746            l = E.createElement('div');
3747        l.style &&
3748            ((l.style.backgroundClip = 'content-box'),
3749            (l.cloneNode(!0).style.backgroundClip = ''),
3750            (y.clearCloneStyle = 'content-box' === l.style.backgroundClip),
3751            S.extend(y, {
3752                boxSizingReliable: function () {
3753                    return e(), r;
3754                },
3755                pixelBoxStyles: function () {
3756                    return e(), o;
3757                },
3758                pixelPosition: function () {
3759                    return e(), n;
3760                },
3761                reliableMarginLeft: function () {
3762                    return e(), s;
3763                },
3764                scrollboxSize: function () {
3765                    return e(), i;
3766                },
3767                reliableTrDimensions: function () {
3768                    var e, t, n, r;
3769                    return (
3770                        null == a &&
3771                            ((e = E.createElement('table')),
3772                            (t = E.createElement('tr')),
3773                            (n = E.createElement('div')),
3774                            (e.style.cssText =
3775                                'position:absolute;left:-11111px;border-collapse:separate'),
3776                            (t.style.cssText = 'border:1px solid'),
3777                            (t.style.height = '1px'),
3778                            (n.style.height = '9px'),
3779                            (n.style.display = 'block'),
3780                            re.appendChild(e).appendChild(t).appendChild(n),
3781                            (r = C.getComputedStyle(t)),
3782                            (a =
3783                                parseInt(r.height, 10) +
3784                                    parseInt(r.borderTopWidth, 10) +
3785                                    parseInt(r.borderBottomWidth, 10) ===
3786                                t.offsetHeight),
3787                            re.removeChild(e)),
3788                        a
3789                    );
3790                }
3791            }));
3792    })();
3793    var Be = ['Webkit', 'Moz', 'ms'],
3794        $e = E.createElement('div').style,
3795        _e = {};
3796    function ze(e) {
3797        var t = S.cssProps[e] || _e[e];
3798        return (
3799            t ||
3800            (e in $e
3801                ? e
3802                : (_e[e] =
3803                      (function (e) {
3804                          var t = e[0].toUpperCase() + e.slice(1),
3805                              n = Be.length;
3806                          while (n--) if ((e = Be[n] + t) in $e) return e;
3807                      })(e) || e))
3808        );
3809    }
3810    var Ue = /^(none|table(?!-c[ea]).+)/,
3811        Xe = /^--/,
3812        Ve = { position: 'absolute', visibility: 'hidden', display: 'block' },
3813        Ge = { letterSpacing: '0', fontWeight: '400' };
3814    function Ye(e, t, n) {
3815        var r = te.exec(t);
3816        return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || 'px') : t;
3817    }
3818    function Qe(e, t, n, r, i, o) {
3819        var a = 'width' === t ? 1 : 0,
3820            s = 0,
3821            u = 0;
3822        if (n === (r ? 'border' : 'content')) return 0;
3823        for (; a < 4; a += 2)
3824            'margin' === n && (u += S.css(e, n + ne[a], !0, i)),
3825                r
3826                    ? ('content' === n &&
3827                          (u -= S.css(e, 'padding' + ne[a], !0, i)),
3828                      'margin' !== n &&
3829                          (u -= S.css(e, 'border' + ne[a] + 'Width', !0, i)))
3830                    : ((u += S.css(e, 'padding' + ne[a], !0, i)),
3831                      'padding' !== n
3832                          ? (u += S.css(e, 'border' + ne[a] + 'Width', !0, i))
3833                          : (s += S.css(e, 'border' + ne[a] + 'Width', !0, i)));
3834        return (
3835            !r &&
3836                0 <= o &&
3837                (u +=
3838                    Math.max(
3839                        0,
3840                        Math.ceil(
3841                            e['offset' + t[0].toUpperCase() + t.slice(1)] -
3842                                o -
3843                                u -
3844                                s -
3845                                0.5
3846                        )
3847                    ) || 0),
3848            u
3849        );
3850    }
3851    function Je(e, t, n) {
3852        var r = Re(e),
3853            i =
3854                (!y.boxSizingReliable() || n) &&
3855                'border-box' === S.css(e, 'boxSizing', !1, r),
3856            o = i,
3857            a = We(e, t, r),
3858            s = 'offset' + t[0].toUpperCase() + t.slice(1);
3859        if (Pe.test(a)) {
3860            if (!n) return a;
3861            a = 'auto';
3862        }
3863        return (
3864            ((!y.boxSizingReliable() && i) ||
3865                (!y.reliableTrDimensions() && A(e, 'tr')) ||
3866                'auto' === a ||
3867                (!parseFloat(a) && 'inline' === S.css(e, 'display', !1, r))) &&
3868                e.getClientRects().length &&
3869                ((i = 'border-box' === S.css(e, 'boxSizing', !1, r)),
3870                (o = s in e) && (a = e[s])),
3871            (a = parseFloat(a) || 0) +
3872                Qe(e, t, n || (i ? 'border' : 'content'), o, r, a) +
3873                'px'
3874        );
3875    }
3876    function Ke(e, t, n, r, i) {
3877        return new Ke.prototype.init(e, t, n, r, i);
3878    }
3879    S.extend({
3880        cssHooks: {
3881            opacity: {
3882                get: function (e, t) {
3883                    if (t) {
3884                        var n = We(e, 'opacity');
3885                        return '' === n ? '1' : n;
3886                    }
3887                }
3888            }
3889        },
3890        cssNumber: {
3891            animationIterationCount: !0,
3892            columnCount: !0,
3893            fillOpacity: !0,
3894            flexGrow: !0,
3895            flexShrink: !0,
3896            fontWeight: !0,
3897            gridArea: !0,
3898            gridColumn: !0,
3899            gridColumnEnd: !0,
3900            gridColumnStart: !0,
3901            gridRow: !0,
3902            gridRowEnd: !0,
3903            gridRowStart: !0,
3904            lineHeight: !0,
3905            opacity: !0,
3906            order: !0,
3907            orphans: !0,
3908            widows: !0,
3909            zIndex: !0,
3910            zoom: !0
3911        },
3912        cssProps: {},
3913        style: function (e, t, n, r) {
3914            if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
3915                var i,
3916                    o,
3917                    a,
3918                    s = X(t),
3919                    u = Xe.test(t),
3920                    l = e.style;
3921                if (
3922                    (u || (t = ze(s)),
3923                    (a = S.cssHooks[t] || S.cssHooks[s]),
3924                    void 0 === n)
3925                )
3926                    return a && 'get' in a && void 0 !== (i = a.get(e, !1, r))
3927                        ? i
3928                        : l[t];
3929                'string' === (o = typeof n) &&
3930                    (i = te.exec(n)) &&
3931                    i[1] &&
3932                    ((n = se(e, t, i)), (o = 'number')),
3933                    null != n &&
3934                        n == n &&
3935                        ('number' !== o ||
3936                            u ||
3937                            (n += (i && i[3]) || (S.cssNumber[s] ? '' : 'px')),
3938                        y.clearCloneStyle ||
3939                            '' !== n ||
3940                            0 !== t.indexOf('background') ||
3941                            (l[t] = 'inherit'),
3942                        (a && 'set' in a && void 0 === (n = a.set(e, n, r))) ||
3943                            (u ? l.setProperty(t, n) : (l[t] = n)));
3944            }
3945        },
3946        css: function (e, t, n, r) {
3947            var i,
3948                o,
3949                a,
3950                s = X(t);
3951            return (
3952                Xe.test(t) || (t = ze(s)),
3953                (a = S.cssHooks[t] || S.cssHooks[s]) &&
3954                    'get' in a &&
3955                    (i = a.get(e, !0, n)),
3956                void 0 === i && (i = We(e, t, r)),
3957                'normal' === i && t in Ge && (i = Ge[t]),
3958                '' === n || n
3959                    ? ((o = parseFloat(i)),
3960                      !0 === n || isFinite(o) ? o || 0 : i)
3961                    : i
3962            );
3963        }
3964    }),
3965        S.each(['height', 'width'], function (e, u) {
3966            S.cssHooks[u] = {
3967                get: function (e, t, n) {
3968                    if (t)
3969                        return !Ue.test(S.css(e, 'display')) ||
3970                            (e.getClientRects().length &&
3971                                e.getBoundingClientRect().width)
3972                            ? Je(e, u, n)
3973                            : Me(e, Ve, function () {
3974                                  return Je(e, u, n);
3975                              });
3976                },
3977                set: function (e, t, n) {
3978                    var r,
3979                        i = Re(e),
3980                        o = !y.scrollboxSize() && 'absolute' === i.position,
3981                        a =
3982                            (o || n) &&
3983                            'border-box' === S.css(e, 'boxSizing', !1, i),
3984                        s = n ? Qe(e, u, n, a, i) : 0;
3985                    return (
3986                        a &&
3987                            o &&
3988                            (s -= Math.ceil(
3989                                e['offset' + u[0].toUpperCase() + u.slice(1)] -
3990                                    parseFloat(i[u]) -
3991                                    Qe(e, u, 'border', !1, i) -
3992                                    0.5
3993                            )),
3994                        s &&
3995                            (r = te.exec(t)) &&
3996                            'px' !== (r[3] || 'px') &&
3997                            ((e.style[u] = t), (t = S.css(e, u))),
3998                        Ye(0, t, s)
3999                    );
4000                }
4001            };
4002        }),
4003        (S.cssHooks.marginLeft = Fe(y.reliableMarginLeft, function (e, t) {
4004            if (t)
4005                return (
4006                    (parseFloat(We(e, 'marginLeft')) ||
4007                        e.getBoundingClientRect().left -
4008                            Me(e, { marginLeft: 0 }, function () {
4009                                return e.getBoundingClientRect().left;
4010                            })) + 'px'
4011                );
4012        })),
4013        S.each({ margin: '', padding: '', border: 'Width' }, function (i, o) {
4014            (S.cssHooks[i + o] = {
4015                expand: function (e) {
4016                    for (
4017                        var t = 0,
4018                            n = {},
4019                            r = 'string' == typeof e ? e.split(' ') : [e];
4020                        t < 4;
4021                        t++
4022                    )
4023                        n[i + ne[t] + o] = r[t] || r[t - 2] || r[0];
4024                    return n;
4025                }
4026            }),
4027                'margin' !== i && (S.cssHooks[i + o].set = Ye);
4028        }),
4029        S.fn.extend({
4030            css: function (e, t) {
4031                return $(
4032                    this,
4033                    function (e, t, n) {
4034                        var r,
4035                            i,
4036                            o = {},
4037                            a = 0;
4038                        if (Array.isArray(t)) {
4039                            for (r = Re(e), i = t.length; a < i; a++)
4040                                o[t[a]] = S.css(e, t[a], !1, r);
4041                            return o;
4042                        }
4043                        return void 0 !== n ? S.style(e, t, n) : S.css(e, t);
4044                    },
4045                    e,
4046                    t,
4047                    1 < arguments.length
4048                );
4049            }
4050        }),
4051        (((S.Tween = Ke).prototype = {
4052            constructor: Ke,
4053            init: function (e, t, n, r, i, o) {
4054                (this.elem = e),
4055                    (this.prop = n),
4056                    (this.easing = i || S.easing._default),
4057                    (this.options = t),
4058                    (this.start = this.now = this.cur()),
4059                    (this.end = r),
4060                    (this.unit = o || (S.cssNumber[n] ? '' : 'px'));
4061            },
4062            cur: function () {
4063                var e = Ke.propHooks[this.prop];
4064                return e && e.get
4065                    ? e.get(this)
4066                    : Ke.propHooks._default.get(this);
4067            },
4068            run: function (e) {
4069                var t,
4070                    n = Ke.propHooks[this.prop];
4071                return (
4072                    this.options.duration
4073                        ? (this.pos = t =
4074                              S.easing[this.easing](
4075                                  e,
4076                                  this.options.duration * e,
4077                                  0,
4078                                  1,
4079                                  this.options.duration
4080                              ))
4081                        : (this.pos = t = e),
4082                    (this.now = (this.end - this.start) * t + this.start),
4083                    this.options.step &&
4084                        this.options.step.call(this.elem, this.now, this),
4085                    n && n.set ? n.set(this) : Ke.propHooks._default.set(this),
4086                    this
4087                );
4088            }
4089        }).init.prototype = Ke.prototype),
4090        ((Ke.propHooks = {
4091            _default: {
4092                get: function (e) {
4093                    var t;
4094                    return 1 !== e.elem.nodeType ||
4095                        (null != e.elem[e.prop] && null == e.elem.style[e.prop])
4096                        ? e.elem[e.prop]
4097                        : (t = S.css(e.elem, e.prop, '')) && 'auto' !== t
4098                        ? t
4099                        : 0;
4100                },
4101                set: function (e) {
4102                    S.fx.step[e.prop]
4103                        ? S.fx.step[e.prop](e)
4104                        : 1 !== e.elem.nodeType ||
4105                          (!S.cssHooks[e.prop] &&
4106                              null == e.elem.style[ze(e.prop)])
4107                        ? (e.elem[e.prop] = e.now)
4108                        : S.style(e.elem, e.prop, e.now + e.unit);
4109                }
4110            }
4111        }).scrollTop = Ke.propHooks.scrollLeft =
4112            {
4113                set: function (e) {
4114                    e.elem.nodeType &&
4115                        e.elem.parentNode &&
4116                        (e.elem[e.prop] = e.now);
4117                }
4118            }),
4119        (S.easing = {
4120            linear: function (e) {
4121                return e;
4122            },
4123            swing: function (e) {
4124                return 0.5 - Math.cos(e * Math.PI) / 2;
4125            },
4126            _default: 'swing'
4127        }),
4128        (S.fx = Ke.prototype.init),
4129        (S.fx.step = {});
4130    var Ze,
4131        et,
4132        tt,
4133        nt,
4134        rt = /^(?:toggle|show|hide)$/,
4135        it = /queueHooks$/;
4136    function ot() {
4137        et &&
4138            (!1 === E.hidden && C.requestAnimationFrame
4139                ? C.requestAnimationFrame(ot)
4140                : C.setTimeout(ot, S.fx.interval),
4141            S.fx.tick());
4142    }
4143    function at() {
4144        return (
4145            C.setTimeout(function () {
4146                Ze = void 0;
4147            }),
4148            (Ze = Date.now())
4149        );
4150    }
4151    function st(e, t) {
4152        var n,
4153            r = 0,
4154            i = { height: e };
4155        for (t = t ? 1 : 0; r < 4; r += 2 - t)
4156            i['margin' + (n = ne[r])] = i['padding' + n] = e;
4157        return t && (i.opacity = i.width = e), i;
4158    }
4159    function ut(e, t, n) {
4160        for (
4161            var r,
4162                i = (lt.tweeners[t] || []).concat(lt.tweeners['*']),
4163                o = 0,
4164                a = i.length;
4165            o < a;
4166            o++
4167        )
4168            if ((r = i[o].call(n, t, e))) return r;
4169    }
4170    function lt(o, e, t) {
4171        var n,
4172            a,
4173            r = 0,
4174            i = lt.prefilters.length,
4175            s = S.Deferred().always(function () {
4176                delete u.elem;
4177            }),
4178            u = function () {
4179                if (a) return !1;
4180                for (
4181                    var e = Ze || at(),
4182                        t = Math.max(0, l.startTime + l.duration - e),
4183                        n = 1 - (t / l.duration || 0),
4184                        r = 0,
4185                        i = l.tweens.length;
4186                    r < i;
4187                    r++
4188                )
4189                    l.tweens[r].run(n);
4190                return (
4191                    s.notifyWith(o, [l, n, t]),
4192                    n < 1 && i
4193                        ? t
4194                        : (i || s.notifyWith(o, [l, 1, 0]),
4195                          s.resolveWith(o, [l]),
4196                          !1)
4197                );
4198            },
4199            l = s.promise({
4200                elem: o,
4201                props: S.extend({}, e),
4202                opts: S.extend(
4203                    !0,
4204                    { specialEasing: {}, easing: S.easing._default },
4205                    t
4206                ),
4207                originalProperties: e,
4208                originalOptions: t,
4209                startTime: Ze || at(),
4210                duration: t.duration,
4211                tweens: [],
4212                createTween: function (e, t) {
4213                    var n = S.Tween(
4214                        o,
4215                        l.opts,
4216                        e,
4217                        t,
4218                        l.opts.specialEasing[e] || l.opts.easing
4219                    );
4220                    return l.tweens.push(n), n;
4221                },
4222                stop: function (e) {
4223                    var t = 0,
4224                        n = e ? l.tweens.length : 0;
4225                    if (a) return this;
4226                    for (a = !0; t < n; t++) l.tweens[t].run(1);
4227                    return (
4228                        e
4229                            ? (s.notifyWith(o, [l, 1, 0]),
4230                              s.resolveWith(o, [l, e]))
4231                            : s.rejectWith(o, [l, e]),
4232                        this
4233                    );
4234                }
4235            }),
4236            c = l.props;
4237        for (
4238            !(function (e, t) {
4239                var n, r, i, o, a;
4240                for (n in e)
4241                    if (
4242                        ((i = t[(r = X(n))]),
4243                        (o = e[n]),
4244                        Array.isArray(o) && ((i = o[1]), (o = e[n] = o[0])),
4245                        n !== r && ((e[r] = o), delete e[n]),
4246                        (a = S.cssHooks[r]) && ('expand' in a))
4247                    )
4248                        for (n in ((o = a.expand(o)), delete e[r], o))
4249                            (n in e) || ((e[n] = o[n]), (t[n] = i));
4250                    else t[r] = i;
4251            })(c, l.opts.specialEasing);
4252            r < i;
4253            r++
4254        )
4255            if ((n = lt.prefilters[r].call(l, o, c, l.opts)))
4256                return (
4257                    m(n.stop) &&
4258                        (S._queueHooks(l.elem, l.opts.queue).stop =
4259                            n.stop.bind(n)),
4260                    n
4261                );
4262        return (
4263            S.map(c, ut, l),
4264            m(l.opts.start) && l.opts.start.call(o, l),
4265            l
4266                .progress(l.opts.progress)
4267                .done(l.opts.done, l.opts.complete)
4268                .fail(l.opts.fail)
4269                .always(l.opts.always),
4270            S.fx.timer(S.extend(u, { elem: o, anim: l, queue: l.opts.queue })),
4271            l
4272        );
4273    }
4274    (S.Animation = S.extend(lt, {
4275        tweeners: {
4276            '*': [
4277                function (e, t) {
4278                    var n = this.createTween(e, t);
4279                    return se(n.elem, e, te.exec(t), n), n;
4280                }
4281            ]
4282        },
4283        tweener: function (e, t) {
4284            m(e) ? ((t = e), (e = ['*'])) : (e = e.match(P));
4285            for (var n, r = 0, i = e.length; r < i; r++)
4286                (n = e[r]),
4287                    (lt.tweeners[n] = lt.tweeners[n] || []),
4288                    lt.tweeners[n].unshift(t);
4289        },
4290        prefilters: [
4291            function (e, t, n) {
4292                var r,
4293                    i,
4294                    o,
4295                    a,
4296                    s,
4297                    u,
4298                    l,
4299                    c,
4300                    f = 'width' in t || 'height' in t,
4301                    p = this,
4302                    d = {},
4303                    h = e.style,
4304                    g = e.nodeType && ae(e),
4305                    v = Y.get(e, 'fxshow');
4306                for (r in (n.queue ||
4307                    (null == (a = S._queueHooks(e, 'fx')).unqueued &&
4308                        ((a.unqueued = 0),
4309                        (s = a.empty.fire),
4310                        (a.empty.fire = function () {
4311                            a.unqueued || s();
4312                        })),
4313                    a.unqueued++,
4314                    p.always(function () {
4315                        p.always(function () {
4316                            a.unqueued--,
4317                                S.queue(e, 'fx').length || a.empty.fire();
4318                        });
4319                    })),
4320                t))
4321                    if (((i = t[r]), rt.test(i))) {
4322                        if (
4323                            (delete t[r],
4324                            (o = o || 'toggle' === i),
4325                            i === (g ? 'hide' : 'show'))
4326                        ) {
4327                            if ('show' !== i || !v || void 0 === v[r]) continue;
4328                            g = !0;
4329                        }
4330                        d[r] = (v && v[r]) || S.style(e, r);
4331                    }
4332                if ((u = !S.isEmptyObject(t)) || !S.isEmptyObject(d))
4333                    for (r in (f &&
4334                        1 === e.nodeType &&
4335                        ((n.overflow = [h.overflow, h.overflowX, h.overflowY]),
4336                        null == (l = v && v.display) &&
4337                            (l = Y.get(e, 'display')),
4338                        'none' === (c = S.css(e, 'display')) &&
4339                            (l
4340                                ? (c = l)
4341                                : (le([e], !0),
4342                                  (l = e.style.display || l),
4343                                  (c = S.css(e, 'display')),
4344                                  le([e]))),
4345                        ('inline' === c ||
4346                            ('inline-block' === c && null != l)) &&
4347                            'none' === S.css(e, 'float') &&
4348                            (u ||
4349                                (p.done(function () {
4350                                    h.display = l;
4351                                }),
4352                                null == l &&
4353                                    ((c = h.display),
4354                                    (l = 'none' === c ? '' : c))),
4355                            (h.display = 'inline-block'))),
4356                    n.overflow &&
4357                        ((h.overflow = 'hidden'),
4358                        p.always(function () {
4359                            (h.overflow = n.overflow[0]),
4360                                (h.overflowX = n.overflow[1]),
4361                                (h.overflowY = n.overflow[2]);
4362                        })),
4363                    (u = !1),
4364                    d))
4365                        u ||
4366                            (v
4367                                ? 'hidden' in v && (g = v.hidden)
4368                                : (v = Y.access(e, 'fxshow', { display: l })),
4369                            o && (v.hidden = !g),
4370                            g && le([e], !0),
4371                            p.done(function () {
4372                                for (r in (g || le([e]),
4373                                Y.remove(e, 'fxshow'),
4374                                d))
4375                                    S.style(e, r, d[r]);
4376                            })),
4377                            (u = ut(g ? v[r] : 0, r, p)),
4378                            r in v ||
4379                                ((v[r] = u.start),
4380                                g && ((u.end = u.start), (u.start = 0)));
4381            }
4382        ],
4383        prefilter: function (e, t) {
4384            t ? lt.prefilters.unshift(e) : lt.prefilters.push(e);
4385        }
4386    })),
4387        (S.speed = function (e, t, n) {
4388            var r =
4389                e && 'object' == typeof e
4390                    ? S.extend({}, e)
4391                    : {
4392                          complete: n || (!n && t) || (m(e) && e),
4393                          duration: e,
4394                          easing: (n && t) || (t && !m(t) && t)
4395                      };
4396            return (
4397                S.fx.off
4398                    ? (r.duration = 0)
4399                    : 'number' != typeof r.duration &&
4400                      (r.duration in S.fx.speeds
4401                          ? (r.duration = S.fx.speeds[r.duration])
4402                          : (r.duration = S.fx.speeds._default)),
4403                (null != r.queue && !0 !== r.queue) || (r.queue = 'fx'),
4404                (r.old = r.complete),
4405                (r.complete = function () {
4406                    m(r.old) && r.old.call(this),
4407                        r.queue && S.dequeue(this, r.queue);
4408                }),
4409                r
4410            );
4411        }),
4412        S.fn.extend({
4413            fadeTo: function (e, t, n, r) {
4414                return this.filter(ae)
4415                    .css('opacity', 0)
4416                    .show()
4417                    .end()
4418                    .animate({ opacity: t }, e, n, r);
4419            },
4420            animate: function (t, e, n, r) {
4421                var i = S.isEmptyObject(t),
4422                    o = S.speed(e, n, r),
4423                    a = function () {
4424                        var e = lt(this, S.extend({}, t), o);
4425                        (i || Y.get(this, 'finish')) && e.stop(!0);
4426                    };
4427                return (
4428                    (a.finish = a),
4429                    i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a)
4430                );
4431            },
4432            stop: function (i, e, o) {
4433                var a = function (e) {
4434                    var t = e.stop;
4435                    delete e.stop, t(o);
4436                };
4437                return (
4438                    'string' != typeof i && ((o = e), (e = i), (i = void 0)),
4439                    e && this.queue(i || 'fx', []),
4440                    this.each(function () {
4441                        var e = !0,
4442                            t = null != i && i + 'queueHooks',
4443                            n = S.timers,
4444                            r = Y.get(this);
4445                        if (t) r[t] && r[t].stop && a(r[t]);
4446                        else
4447                            for (t in r)
4448                                r[t] && r[t].stop && it.test(t) && a(r[t]);
4449                        for (t = n.length; t--; )
4450                            n[t].elem !== this ||
4451                                (null != i && n[t].queue !== i) ||
4452                                (n[t].anim.stop(o), (e = !1), n.splice(t, 1));
4453                        (!e && o) || S.dequeue(this, i);
4454                    })
4455                );
4456            },
4457            finish: function (a) {
4458                return (
4459                    !1 !== a && (a = a || 'fx'),
4460                    this.each(function () {
4461                        var e,
4462                            t = Y.get(this),
4463                            n = t[a + 'queue'],
4464                            r = t[a + 'queueHooks'],
4465                            i = S.timers,
4466                            o = n ? n.length : 0;
4467                        for (
4468                            t.finish = !0,
4469                                S.queue(this, a, []),
4470                                r && r.stop && r.stop.call(this, !0),
4471                                e = i.length;
4472                            e--;
4473
4474                        )
4475                            i[e].elem === this &&
4476                                i[e].queue === a &&
4477                                (i[e].anim.stop(!0), i.splice(e, 1));
4478                        for (e = 0; e < o; e++)
4479                            n[e] && n[e].finish && n[e].finish.call(this);
4480                        delete t.finish;
4481                    })
4482                );
4483            }
4484        }),
4485        S.each(['toggle', 'show', 'hide'], function (e, r) {
4486            var i = S.fn[r];
4487            S.fn[r] = function (e, t, n) {
4488                return null == e || 'boolean' == typeof e
4489                    ? i.apply(this, arguments)
4490                    : this.animate(st(r, !0), e, t, n);
4491            };
4492        }),
4493        S.each(
4494            {
4495                slideDown: st('show'),
4496                slideUp: st('hide'),
4497                slideToggle: st('toggle'),
4498                fadeIn: { opacity: 'show' },
4499                fadeOut: { opacity: 'hide' },
4500                fadeToggle: { opacity: 'toggle' }
4501            },
4502            function (e, r) {
4503                S.fn[e] = function (e, t, n) {
4504                    return this.animate(r, e, t, n);
4505                };
4506            }
4507        ),
4508        (S.timers = []),
4509        (S.fx.tick = function () {
4510            var e,
4511                t = 0,
4512                n = S.timers;
4513            for (Ze = Date.now(); t < n.length; t++)
4514                (e = n[t])() || n[t] !== e || n.splice(t--, 1);
4515            n.length || S.fx.stop(), (Ze = void 0);
4516        }),
4517        (S.fx.timer = function (e) {
4518            S.timers.push(e), S.fx.start();
4519        }),
4520        (S.fx.interval = 13),
4521        (S.fx.start = function () {
4522            et || ((et = !0), ot());
4523        }),
4524        (S.fx.stop = function () {
4525            et = null;
4526        }),
4527        (S.fx.speeds = { slow: 600, fast: 200, _default: 400 }),
4528        (S.fn.delay = function (r, e) {
4529            return (
4530                (r = (S.fx && S.fx.speeds[r]) || r),
4531                (e = e || 'fx'),
4532                this.queue(e, function (e, t) {
4533                    var n = C.setTimeout(e, r);
4534                    t.stop = function () {
4535                        C.clearTimeout(n);
4536                    };
4537                })
4538            );
4539        }),
4540        (tt = E.createElement('input')),
4541        (nt = E.createElement('select').appendChild(E.createElement('option'))),
4542        (tt.type = 'checkbox'),
4543        (y.checkOn = '' !== tt.value),
4544        (y.optSelected = nt.selected),
4545        ((tt = E.createElement('input')).value = 't'),
4546        (tt.type = 'radio'),
4547        (y.radioValue = 't' === tt.value);
4548    var ct,
4549        ft = S.expr.attrHandle;
4550    S.fn.extend({
4551        attr: function (e, t) {
4552            return $(this, S.attr, e, t, 1 < arguments.length);
4553        },
4554        removeAttr: function (e) {
4555            return this.each(function () {
4556                S.removeAttr(this, e);
4557            });
4558        }
4559    }),
4560        S.extend({
4561            attr: function (e, t, n) {
4562                var r,
4563                    i,
4564                    o = e.nodeType;
4565                if (3 !== o && 8 !== o && 2 !== o)
4566                    return 'undefined' == typeof e.getAttribute
4567                        ? S.prop(e, t, n)
4568                        : ((1 === o && S.isXMLDoc(e)) ||
4569                              (i =
4570                                  S.attrHooks[t.toLowerCase()] ||
4571                                  (S.expr.match.bool.test(t) ? ct : void 0)),
4572                          void 0 !== n
4573                              ? null === n
4574                                  ? void S.removeAttr(e, t)
4575                                  : i &&
4576                                    'set' in i &&
4577                                    void 0 !== (r = i.set(e, n, t))
4578                                  ? r
4579                                  : (e.setAttribute(t, n + ''), n)
4580                              : i && 'get' in i && null !== (r = i.get(e, t))
4581                              ? r
4582                              : null == (r = S.find.attr(e, t))
4583                              ? void 0
4584                              : r);
4585            },
4586            attrHooks: {
4587                type: {
4588                    set: function (e, t) {
4589                        if (!y.radioValue && 'radio' === t && A(e, 'input')) {
4590                            var n = e.value;
4591                            return (
4592                                e.setAttribute('type', t), n && (e.value = n), t
4593                            );
4594                        }
4595                    }
4596                }
4597            },
4598            removeAttr: function (e, t) {
4599                var n,
4600                    r = 0,
4601                    i = t && t.match(P);
4602                if (i && 1 === e.nodeType)
4603                    while ((n = i[r++])) e.removeAttribute(n);
4604            }
4605        }),
4606        (ct = {
4607            set: function (e, t, n) {
4608                return !1 === t ? S.removeAttr(e, n) : e.setAttribute(n, n), n;
4609            }
4610        }),
4611        S.each(S.expr.match.bool.source.match(/\w+/g), function (e, t) {
4612            var a = ft[t] || S.find.attr;
4613            ft[t] = function (e, t, n) {
4614                var r,
4615                    i,
4616                    o = t.toLowerCase();
4617                return (
4618                    n ||
4619                        ((i = ft[o]),
4620                        (ft[o] = r),
4621                        (r = null != a(e, t, n) ? o : null),
4622                        (ft[o] = i)),
4623                    r
4624                );
4625            };
4626        });
4627    var pt = /^(?:input|select|textarea|button)$/i,
4628        dt = /^(?:a|area)$/i;
4629    function ht(e) {
4630        return (e.match(P) || []).join(' ');
4631    }
4632    function gt(e) {
4633        return (e.getAttribute && e.getAttribute('class')) || '';
4634    }
4635    function vt(e) {
4636        return Array.isArray(e)
4637            ? e
4638            : ('string' == typeof e && e.match(P)) || [];
4639    }
4640    S.fn.extend({
4641        prop: function (e, t) {
4642            return $(this, S.prop, e, t, 1 < arguments.length);
4643        },
4644        removeProp: function (e) {
4645            return this.each(function () {
4646                delete this[S.propFix[e] || e];
4647            });
4648        }
4649    }),
4650        S.extend({
4651            prop: function (e, t, n) {
4652                var r,
4653                    i,
4654                    o = e.nodeType;
4655                if (3 !== o && 8 !== o && 2 !== o)
4656                    return (
4657                        (1 === o && S.isXMLDoc(e)) ||
4658                            ((t = S.propFix[t] || t), (i = S.propHooks[t])),
4659                        void 0 !== n
4660                            ? i && 'set' in i && void 0 !== (r = i.set(e, n, t))
4661                                ? r
4662                                : (e[t] = n)
4663                            : i && 'get' in i && null !== (r = i.get(e, t))
4664                            ? r
4665                            : e[t]
4666                    );
4667            },
4668            propHooks: {
4669                tabIndex: {
4670                    get: function (e) {
4671                        var t = S.find.attr(e, 'tabindex');
4672                        return t
4673                            ? parseInt(t, 10)
4674                            : pt.test(e.nodeName) ||
4675                              (dt.test(e.nodeName) && e.href)
4676                            ? 0
4677                            : -1;
4678                    }
4679                }
4680            },
4681            propFix: { for: 'htmlFor', class: 'className' }
4682        }),
4683        y.optSelected ||
4684            (S.propHooks.selected = {
4685                get: function (e) {
4686                    var t = e.parentNode;
4687                    return (
4688                        t && t.parentNode && t.parentNode.selectedIndex, null
4689                    );
4690                },
4691                set: function (e) {
4692                    var t = e.parentNode;
4693                    t &&
4694                        (t.selectedIndex,
4695                        t.parentNode && t.parentNode.selectedIndex);
4696                }
4697            }),
4698        S.each(
4699            [
4700                'tabIndex',
4701                'readOnly',
4702                'maxLength',
4703                'cellSpacing',
4704                'cellPadding',
4705                'rowSpan',
4706                'colSpan',
4707                'useMap',
4708                'frameBorder',
4709                'contentEditable'
4710            ],
4711            function () {
4712                S.propFix[this.toLowerCase()] = this;
4713            }
4714        ),
4715        S.fn.extend({
4716            addClass: function (t) {
4717                var e,
4718                    n,
4719                    r,
4720                    i,
4721                    o,
4722                    a,
4723                    s,
4724                    u = 0;
4725                if (m(t))
4726                    return this.each(function (e) {
4727                        S(this).addClass(t.call(this, e, gt(this)));
4728                    });
4729                if ((e = vt(t)).length)
4730                    while ((n = this[u++]))
4731                        if (
4732                            ((i = gt(n)),
4733                            (r = 1 === n.nodeType && ' ' + ht(i) + ' '))
4734                        ) {
4735                            a = 0;
4736                            while ((o = e[a++]))
4737                                r.indexOf(' ' + o + ' ') < 0 && (r += o + ' ');
4738                            i !== (s = ht(r)) && n.setAttribute('class', s);
4739                        }
4740                return this;
4741            },
4742            removeClass: function (t) {
4743                var e,
4744                    n,
4745                    r,
4746                    i,
4747                    o,
4748                    a,
4749                    s,
4750                    u = 0;
4751                if (m(t))
4752                    return this.each(function (e) {
4753                        S(this).removeClass(t.call(this, e, gt(this)));
4754                    });
4755                if (!arguments.length) return this.attr('class', '');
4756                if ((e = vt(t)).length)
4757                    while ((n = this[u++]))
4758                        if (
4759                            ((i = gt(n)),
4760                            (r = 1 === n.nodeType && ' ' + ht(i) + ' '))
4761                        ) {
4762                            a = 0;
4763                            while ((o = e[a++]))
4764                                while (-1 < r.indexOf(' ' + o + ' '))
4765                                    r = r.replace(' ' + o + ' ', ' ');
4766                            i !== (s = ht(r)) && n.setAttribute('class', s);
4767                        }
4768                return this;
4769            },
4770            toggleClass: function (i, t) {
4771                var o = typeof i,
4772                    a = 'string' === o || Array.isArray(i);
4773                return 'boolean' == typeof t && a
4774                    ? t
4775                        ? this.addClass(i)
4776                        : this.removeClass(i)
4777                    : m(i)
4778                    ? this.each(function (e) {
4779                          S(this).toggleClass(i.call(this, e, gt(this), t), t);
4780                      })
4781                    : this.each(function () {
4782                          var e, t, n, r;
4783                          if (a) {
4784                              (t = 0), (n = S(this)), (r = vt(i));
4785                              while ((e = r[t++]))
4786                                  n.hasClass(e)
4787                                      ? n.removeClass(e)
4788                                      : n.addClass(e);
4789                          } else
4790                              (void 0 !== i && 'boolean' !== o) ||
4791                                  ((e = gt(this)) &&
4792                                      Y.set(this, '__className__', e),
4793                                  this.setAttribute &&
4794                                      this.setAttribute(
4795                                          'class',
4796                                          e || !1 === i
4797                                              ? ''
4798                                              : Y.get(this, '__className__') ||
4799                                                    ''
4800                                      ));
4801                      });
4802            },
4803            hasClass: function (e) {
4804                var t,
4805                    n,
4806                    r = 0;
4807                t = ' ' + e + ' ';
4808                while ((n = this[r++]))
4809                    if (
4810                        1 === n.nodeType &&
4811                        -1 < (' ' + ht(gt(n)) + ' ').indexOf(t)
4812                    )
4813                        return !0;
4814                return !1;
4815            }
4816        });
4817    var yt = /\r/g;
4818    S.fn.extend({
4819        val: function (n) {
4820            var r,
4821                e,
4822                i,
4823                t = this[0];
4824            return arguments.length
4825                ? ((i = m(n)),
4826                  this.each(function (e) {
4827                      var t;
4828                      1 === this.nodeType &&
4829                          (null == (t = i ? n.call(this, e, S(this).val()) : n)
4830                              ? (t = '')
4831                              : 'number' == typeof t
4832                              ? (t += '')
4833                              : Array.isArray(t) &&
4834                                (t = S.map(t, function (e) {
4835                                    return null == e ? '' : e + '';
4836                                })),
4837                          ((r =
4838                              S.valHooks[this.type] ||
4839                              S.valHooks[this.nodeName.toLowerCase()]) &&
4840                              'set' in r &&
4841                              void 0 !== r.set(this, t, 'value')) ||
4842                              (this.value = t));
4843                  }))
4844                : t
4845                ? (r =
4846                      S.valHooks[t.type] ||
4847                      S.valHooks[t.nodeName.toLowerCase()]) &&
4848                  'get' in r &&
4849                  void 0 !== (e = r.get(t, 'value'))
4850                    ? e
4851                    : 'string' == typeof (e = t.value)
4852                    ? e.replace(yt, '')
4853                    : null == e
4854                    ? ''
4855                    : e
4856                : void 0;
4857        }
4858    }),
4859        S.extend({
4860            valHooks: {
4861                option: {
4862                    get: function (e) {
4863                        var t = S.find.attr(e, 'value');
4864                        return null != t ? t : ht(S.text(e));
4865                    }
4866                },
4867                select: {
4868                    get: function (e) {
4869                        var t,
4870                            n,
4871                            r,
4872                            i = e.options,
4873                            o = e.selectedIndex,
4874                            a = 'select-one' === e.type,
4875                            s = a ? null : [],
4876                            u = a ? o + 1 : i.length;
4877                        for (r = o < 0 ? u : a ? o : 0; r < u; r++)
4878                            if (
4879                                ((n = i[r]).selected || r === o) &&
4880                                !n.disabled &&
4881                                (!n.parentNode.disabled ||
4882                                    !A(n.parentNode, 'optgroup'))
4883                            ) {
4884                                if (((t = S(n).val()), a)) return t;
4885                                s.push(t);
4886                            }
4887                        return s;
4888                    },
4889                    set: function (e, t) {
4890                        var n,
4891                            r,
4892                            i = e.options,
4893                            o = S.makeArray(t),
4894                            a = i.length;
4895                        while (a--)
4896                            ((r = i[a]).selected =
4897                                -1 < S.inArray(S.valHooks.option.get(r), o)) &&
4898                                (n = !0);
4899                        return n || (e.selectedIndex = -1), o;
4900                    }
4901                }
4902            }
4903        }),
4904        S.each(['radio', 'checkbox'], function () {
4905            (S.valHooks[this] = {
4906                set: function (e, t) {
4907                    if (Array.isArray(t))
4908                        return (e.checked = -1 < S.inArray(S(e).val(), t));
4909                }
4910            }),
4911                y.checkOn ||
4912                    (S.valHooks[this].get = function (e) {
4913                        return null === e.getAttribute('value')
4914                            ? 'on'
4915                            : e.value;
4916                    });
4917        }),
4918        (y.focusin = 'onfocusin' in C);
4919    var mt = /^(?:focusinfocus|focusoutblur)$/,
4920        xt = function (e) {
4921            e.stopPropagation();
4922        };
4923    S.extend(S.event, {
4924        trigger: function (e, t, n, r) {
4925            var i,
4926                o,
4927                a,
4928                s,
4929                u,
4930                l,
4931                c,
4932                f,
4933                p = [n || E],
4934                d = v.call(e, 'type') ? e.type : e,
4935                h = v.call(e, 'namespace') ? e.namespace.split('.') : [];
4936            if (
4937                ((o = f = a = n = n || E),
4938                3 !== n.nodeType &&
4939                    8 !== n.nodeType &&
4940                    !mt.test(d + S.event.triggered) &&
4941                    (-1 < d.indexOf('.') &&
4942                        ((d = (h = d.split('.')).shift()), h.sort()),
4943                    (u = d.indexOf(':') < 0 && 'on' + d),
4944                    ((e = e[S.expando]
4945                        ? e
4946                        : new S.Event(d, 'object' == typeof e && e)).isTrigger =
4947                        r ? 2 : 3),
4948                    (e.namespace = h.join('.')),
4949                    (e.rnamespace = e.namespace
4950                        ? new RegExp(
4951                              '(^|\\.)' + h.join('\\.(?:.*\\.|)') + '(\\.|$)'
4952                          )
4953                        : null),
4954                    (e.result = void 0),
4955                    e.target || (e.target = n),
4956                    (t = null == t ? [e] : S.makeArray(t, [e])),
4957                    (c = S.event.special[d] || {}),
4958                    r || !c.trigger || !1 !== c.trigger.apply(n, t)))
4959            ) {
4960                if (!r && !c.noBubble && !x(n)) {
4961                    for (
4962                        s = c.delegateType || d,
4963                            mt.test(s + d) || (o = o.parentNode);
4964                        o;
4965                        o = o.parentNode
4966                    )
4967                        p.push(o), (a = o);
4968                    a === (n.ownerDocument || E) &&
4969                        p.push(a.defaultView || a.parentWindow || C);
4970                }
4971                i = 0;
4972                while ((o = p[i++]) && !e.isPropagationStopped())
4973                    (f = o),
4974                        (e.type = 1 < i ? s : c.bindType || d),
4975                        (l =
4976                            (Y.get(o, 'events') || Object.create(null))[
4977                                e.type
4978                            ] && Y.get(o, 'handle')) && l.apply(o, t),
4979                        (l = u && o[u]) &&
4980                            l.apply &&
4981                            V(o) &&
4982                            ((e.result = l.apply(o, t)),
4983                            !1 === e.result && e.preventDefault());
4984                return (
4985                    (e.type = d),
4986                    r ||
4987                        e.isDefaultPrevented() ||
4988                        (c._default && !1 !== c._default.apply(p.pop(), t)) ||
4989                        !V(n) ||
4990                        (u &&
4991                            m(n[d]) &&
4992                            !x(n) &&
4993                            ((a = n[u]) && (n[u] = null),
4994                            (S.event.triggered = d),
4995                            e.isPropagationStopped() &&
4996                                f.addEventListener(d, xt),
4997                            n[d](),
4998                            e.isPropagationStopped() &&
4999                                f.removeEventListener(d, xt),
5000                            (S.event.triggered = void 0),
5001                            a && (n[u] = a))),
5002                    e.result
5003                );
5004            }
5005        },
5006        simulate: function (e, t, n) {
5007            var r = S.extend(new S.Event(), n, { type: e, isSimulated: !0 });
5008            S.event.trigger(r, null, t);
5009        }
5010    }),
5011        S.fn.extend({
5012            trigger: function (e, t) {
5013                return this.each(function () {
5014                    S.event.trigger(e, t, this);
5015                });
5016            },
5017            triggerHandler: function (e, t) {
5018                var n = this[0];
5019                if (n) return S.event.trigger(e, t, n, !0);
5020            }
5021        }),
5022        y.focusin ||
5023            S.each({ focus: 'focusin', blur: 'focusout' }, function (n, r) {
5024                var i = function (e) {
5025                    S.event.simulate(r, e.target, S.event.fix(e));
5026                };
5027                S.event.special[r] = {
5028                    setup: function () {
5029                        var e = this.ownerDocument || this.document || this,
5030                            t = Y.access(e, r);
5031                        t || e.addEventListener(n, i, !0),
5032                            Y.access(e, r, (t || 0) + 1);
5033                    },
5034                    teardown: function () {
5035                        var e = this.ownerDocument || this.document || this,
5036                            t = Y.access(e, r) - 1;
5037                        t
5038                            ? Y.access(e, r, t)
5039                            : (e.removeEventListener(n, i, !0), Y.remove(e, r));
5040                    }
5041                };
5042            });
5043    var bt = C.location,
5044        wt = { guid: Date.now() },
5045        Tt = /\?/;
5046    S.parseXML = function (e) {
5047        var t, n;
5048        if (!e || 'string' != typeof e) return null;
5049        try {
5050            t = new C.DOMParser().parseFromString(e, 'text/xml');
5051        } catch (e) {}
5052        return (
5053            (n = t && t.getElementsByTagName('parsererror')[0]),
5054            (t && !n) ||
5055                S.error(
5056                    'Invalid XML: ' +
5057                        (n
5058                            ? S.map(n.childNodes, function (e) {
5059                                  return e.textContent;
5060                              }).join('\n')
5061                            : e)
5062                ),
5063            t
5064        );
5065    };
5066    var Ct = /\[\]$/,
5067        Et = /\r?\n/g,
5068        St = /^(?:submit|button|image|reset|file)$/i,
5069        kt = /^(?:input|select|textarea|keygen)/i;
5070    function At(n, e, r, i) {
5071        var t;
5072        if (Array.isArray(e))
5073            S.each(e, function (e, t) {
5074                r || Ct.test(n)
5075                    ? i(n, t)
5076                    : At(
5077                          n +
5078                              '[' +
5079                              ('object' == typeof t && null != t ? e : '') +
5080                              ']',
5081                          t,
5082                          r,
5083                          i
5084                      );
5085            });
5086        else if (r || 'object' !== w(e)) i(n, e);
5087        else for (t in e) At(n + '[' + t + ']', e[t], r, i);
5088    }
5089    (S.param = function (e, t) {
5090        var n,
5091            r = [],
5092            i = function (e, t) {
5093                var n = m(t) ? t() : t;
5094                r[r.length] =
5095                    encodeURIComponent(e) +
5096                    '=' +
5097                    encodeURIComponent(null == n ? '' : n);
5098            };
5099        if (null == e) return '';
5100        if (Array.isArray(e) || (e.jquery && !S.isPlainObject(e)))
5101            S.each(e, function () {
5102                i(this.name, this.value);
5103            });
5104        else for (n in e) At(n, e[n], t, i);
5105        return r.join('&');
5106    }),
5107        S.fn.extend({
5108            serialize: function () {
5109                return S.param(this.serializeArray());
5110            },
5111            serializeArray: function () {
5112                return this.map(function () {
5113                    var e = S.prop(this, 'elements');
5114                    return e ? S.makeArray(e) : this;
5115                })
5116                    .filter(function () {
5117                        var e = this.type;
5118                        return (
5119                            this.name &&
5120                            !S(this).is(':disabled') &&
5121                            kt.test(this.nodeName) &&
5122                            !St.test(e) &&
5123                            (this.checked || !pe.test(e))
5124                        );
5125                    })
5126                    .map(function (e, t) {
5127                        var n = S(this).val();
5128                        return null == n
5129                            ? null
5130                            : Array.isArray(n)
5131                            ? S.map(n, function (e) {
5132                                  return {
5133                                      name: t.name,
5134                                      value: e.replace(Et, '\r\n')
5135                                  };
5136                              })
5137                            : { name: t.name, value: n.replace(Et, '\r\n') };
5138                    })
5139                    .get();
5140            }
5141        });
5142    var Nt = /%20/g,
5143        jt = /#.*$/,
5144        Dt = /([?&])_=[^&]*/,
5145        qt = /^(.*?):[ \t]*([^\r\n]*)$/gm,
5146        Lt = /^(?:GET|HEAD)$/,
5147        Ht = /^\/\//,
5148        Ot = {},
5149        Pt = {},
5150        Rt = '*/'.concat('*'),
5151        Mt = E.createElement('a');
5152    function It(o) {
5153        return function (e, t) {
5154            'string' != typeof e && ((t = e), (e = '*'));
5155            var n,
5156                r = 0,
5157                i = e.toLowerCase().match(P) || [];
5158            if (m(t))
5159                while ((n = i[r++]))
5160                    '+' === n[0]
5161                        ? ((n = n.slice(1) || '*'),
5162                          (o[n] = o[n] || []).unshift(t))
5163                        : (o[n] = o[n] || []).push(t);
5164        };
5165    }
5166    function Wt(t, i, o, a) {
5167        var s = {},
5168            u = t === Pt;
5169        function l(e) {
5170            var r;
5171            return (
5172                (s[e] = !0),
5173                S.each(t[e] || [], function (e, t) {
5174                    var n = t(i, o, a);
5175                    return 'string' != typeof n || u || s[n]
5176                        ? u
5177                            ? !(r = n)
5178                            : void 0
5179                        : (i.dataTypes.unshift(n), l(n), !1);
5180                }),
5181                r
5182            );
5183        }
5184        return l(i.dataTypes[0]) || (!s['*'] && l('*'));
5185    }
5186    function Ft(e, t) {
5187        var n,
5188            r,
5189            i = S.ajaxSettings.flatOptions || {};
5190        for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]);
5191        return r && S.extend(!0, e, r), e;
5192    }
5193    (Mt.href = bt.href),
5194        S.extend({
5195            active: 0,
5196            lastModified: {},
5197            etag: {},
5198            ajaxSettings: {
5199                url: bt.href,
5200                type: 'GET',
5201                isLocal:
5202                    /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(
5203                        bt.protocol
5204                    ),
5205                global: !0,
5206                processData: !0,
5207                async: !0,
5208                contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
5209                accepts: {
5210                    '*': Rt,
5211                    text: 'text/plain',
5212                    html: 'text/html',
5213                    xml: 'application/xml, text/xml',
5214                    json: 'application/json, text/javascript'
5215                },
5216                contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ },
5217                responseFields: {
5218                    xml: 'responseXML',
5219                    text: 'responseText',
5220                    json: 'responseJSON'
5221                },
5222                converters: {
5223                    '* text': String,
5224                    'text html': !0,
5225                    'text json': JSON.parse,
5226                    'text xml': S.parseXML
5227                },
5228                flatOptions: { url: !0, context: !0 }
5229            },
5230            ajaxSetup: function (e, t) {
5231                return t ? Ft(Ft(e, S.ajaxSettings), t) : Ft(S.ajaxSettings, e);
5232            },
5233            ajaxPrefilter: It(Ot),
5234            ajaxTransport: It(Pt),
5235            ajax: function (e, t) {
5236                'object' == typeof e && ((t = e), (e = void 0)), (t = t || {});
5237                var c,
5238                    f,
5239                    p,
5240                    n,
5241                    d,
5242                    r,
5243                    h,
5244                    g,
5245                    i,
5246                    o,
5247                    v = S.ajaxSetup({}, t),
5248                    y = v.context || v,
5249                    m = v.context && (y.nodeType || y.jquery) ? S(y) : S.event,
5250                    x = S.Deferred(),
5251                    b = S.Callbacks('once memory'),
5252                    w = v.statusCode || {},
5253                    a = {},
5254                    s = {},
5255                    u = 'canceled',
5256                    T = {
5257                        readyState: 0,
5258                        getResponseHeader: function (e) {
5259                            var t;
5260                            if (h) {
5261                                if (!n) {
5262                                    n = {};
5263                                    while ((t = qt.exec(p)))
5264                                        n[t[1].toLowerCase() + ' '] = (
5265                                            n[t[1].toLowerCase() + ' '] || []
5266                                        ).concat(t[2]);
5267                                }
5268                                t = n[e.toLowerCase() + ' '];
5269                            }
5270                            return null == t ? null : t.join(', ');
5271                        },
5272                        getAllResponseHeaders: function () {
5273                            return h ? p : null;
5274                        },
5275                        setRequestHeader: function (e, t) {
5276                            return (
5277                                null == h &&
5278                                    ((e = s[e.toLowerCase()] =
5279                                        s[e.toLowerCase()] || e),
5280                                    (a[e] = t)),
5281                                this
5282                            );
5283                        },
5284                        overrideMimeType: function (e) {
5285                            return null == h && (v.mimeType = e), this;
5286                        },
5287                        statusCode: function (e) {
5288                            var t;
5289                            if (e)
5290                                if (h) T.always(e[T.status]);
5291                                else for (t in e) w[t] = [w[t], e[t]];
5292                            return this;
5293                        },
5294                        abort: function (e) {
5295                            var t = e || u;
5296                            return c && c.abort(t), l(0, t), this;
5297                        }
5298                    };
5299                if (
5300                    (x.promise(T),
5301                    (v.url = ((e || v.url || bt.href) + '').replace(
5302                        Ht,
5303                        bt.protocol + '//'
5304                    )),
5305                    (v.type = t.method || t.type || v.method || v.type),
5306                    (v.dataTypes = (v.dataType || '*')
5307                        .toLowerCase()
5308                        .match(P) || ['']),
5309                    null == v.crossDomain)
5310                ) {
5311                    r = E.createElement('a');
5312                    try {
5313                        (r.href = v.url),
5314                            (r.href = r.href),
5315                            (v.crossDomain =
5316                                Mt.protocol + '//' + Mt.host !=
5317                                r.protocol + '//' + r.host);
5318                    } catch (e) {
5319                        v.crossDomain = !0;
5320                    }
5321                }
5322                if (
5323                    (v.data &&
5324                        v.processData &&
5325                        'string' != typeof v.data &&
5326                        (v.data = S.param(v.data, v.traditional)),
5327                    Wt(Ot, v, t, T),
5328                    h)
5329                )
5330                    return T;
5331                for (i in ((g = S.event && v.global) &&
5332                    0 == S.active++ &&
5333                    S.event.trigger('ajaxStart'),
5334                (v.type = v.type.toUpperCase()),
5335                (v.hasContent = !Lt.test(v.type)),
5336                (f = v.url.replace(jt, '')),
5337                v.hasContent
5338                    ? v.data &&
5339                      v.processData &&
5340                      0 ===
5341                          (v.contentType || '').indexOf(
5342                              'application/x-www-form-urlencoded'
5343                          ) &&
5344                      (v.data = v.data.replace(Nt, '+'))
5345                    : ((o = v.url.slice(f.length)),
5346                      v.data &&
5347                          (v.processData || 'string' == typeof v.data) &&
5348                          ((f += (Tt.test(f) ? '&' : '?') + v.data),
5349                          delete v.data),
5350                      !1 === v.cache &&
5351                          ((f = f.replace(Dt, '$1')),
5352                          (o =
5353                              (Tt.test(f) ? '&' : '?') + '_=' + wt.guid++ + o)),
5354                      (v.url = f + o)),
5355                v.ifModified &&
5356                    (S.lastModified[f] &&
5357                        T.setRequestHeader(
5358                            'If-Modified-Since',
5359                            S.lastModified[f]
5360                        ),
5361                    S.etag[f] &&
5362                        T.setRequestHeader('If-None-Match', S.etag[f])),
5363                ((v.data && v.hasContent && !1 !== v.contentType) ||
5364                    t.contentType) &&
5365                    T.setRequestHeader('Content-Type', v.contentType),
5366                T.setRequestHeader(
5367                    'Accept',
5368                    v.dataTypes[0] && v.accepts[v.dataTypes[0]]
5369                        ? v.accepts[v.dataTypes[0]] +
5370                              ('*' !== v.dataTypes[0]
5371                                  ? ', ' + Rt + '; q=0.01'
5372                                  : '')
5373                        : v.accepts['*']
5374                ),
5375                v.headers))
5376                    T.setRequestHeader(i, v.headers[i]);
5377                if (v.beforeSend && (!1 === v.beforeSend.call(y, T, v) || h))
5378                    return T.abort();
5379                if (
5380                    ((u = 'abort'),
5381                    b.add(v.complete),
5382                    T.done(v.success),
5383                    T.fail(v.error),
5384                    (c = Wt(Pt, v, t, T)))
5385                ) {
5386                    if (
5387                        ((T.readyState = 1),
5388                        g && m.trigger('ajaxSend', [T, v]),
5389                        h)
5390                    )
5391                        return T;
5392                    v.async &&
5393                        0 < v.timeout &&
5394                        (d = C.setTimeout(function () {
5395                            T.abort('timeout');
5396                        }, v.timeout));
5397                    try {
5398                        (h = !1), c.send(a, l);
5399                    } catch (e) {
5400                        if (h) throw e;
5401                        l(-1, e);
5402                    }
5403                } else l(-1, 'No Transport');
5404                function l(e, t, n, r) {
5405                    var i,
5406                        o,
5407                        a,
5408                        s,
5409                        u,
5410                        l = t;
5411                    h ||
5412                        ((h = !0),
5413                        d && C.clearTimeout(d),
5414                        (c = void 0),
5415                        (p = r || ''),
5416                        (T.readyState = 0 < e ? 4 : 0),
5417                        (i = (200 <= e && e < 300) || 304 === e),
5418                        n &&
5419                            (s = (function (e, t, n) {
5420                                var r,
5421                                    i,
5422                                    o,
5423                                    a,
5424                                    s = e.contents,
5425                                    u = e.dataTypes;
5426                                while ('*' === u[0])
5427                                    u.shift(),
5428                                        void 0 === r &&
5429                                            (r =
5430                                                e.mimeType ||
5431                                                t.getResponseHeader(
5432                                                    'Content-Type'
5433                                                ));
5434                                if (r)
5435                                    for (i in s)
5436                                        if (s[i] && s[i].test(r)) {
5437                                            u.unshift(i);
5438                                            break;
5439                                        }
5440                                if (u[0] in n) o = u[0];
5441                                else {
5442                                    for (i in n) {
5443                                        if (
5444                                            !u[0] ||
5445                                            e.converters[i + ' ' + u[0]]
5446                                        ) {
5447                                            o = i;
5448                                            break;
5449                                        }
5450                                        a || (a = i);
5451                                    }
5452                                    o = o || a;
5453                                }
5454                                if (o) return o !== u[0] && u.unshift(o), n[o];
5455                            })(v, T, n)),
5456                        !i &&
5457                            -1 < S.inArray('script', v.dataTypes) &&
5458                            S.inArray('json', v.dataTypes) < 0 &&
5459                            (v.converters['text script'] = function () {}),
5460                        (s = (function (e, t, n, r) {
5461                            var i,
5462                                o,
5463                                a,
5464                                s,
5465                                u,
5466                                l = {},
5467                                c = e.dataTypes.slice();
5468                            if (c[1])
5469                                for (a in e.converters)
5470                                    l[a.toLowerCase()] = e.converters[a];
5471                            o = c.shift();
5472                            while (o)
5473                                if (
5474                                    (e.responseFields[o] &&
5475                                        (n[e.responseFields[o]] = t),
5476                                    !u &&
5477                                        r &&
5478                                        e.dataFilter &&
5479                                        (t = e.dataFilter(t, e.dataType)),
5480                                    (u = o),
5481                                    (o = c.shift()))
5482                                )
5483                                    if ('*' === o) o = u;
5484                                    else if ('*' !== u && u !== o) {
5485                                        if (
5486                                            !(a = l[u + ' ' + o] || l['* ' + o])
5487                                        )
5488                                            for (i in l)
5489                                                if (
5490                                                    (s = i.split(' '))[1] ===
5491                                                        o &&
5492                                                    (a =
5493                                                        l[u + ' ' + s[0]] ||
5494                                                        l['* ' + s[0]])
5495                                                ) {
5496                                                    !0 === a
5497                                                        ? (a = l[i])
5498                                                        : !0 !== l[i] &&
5499                                                          ((o = s[0]),
5500                                                          c.unshift(s[1]));
5501                                                    break;
5502                                                }
5503                                        if (!0 !== a)
5504                                            if (a && e['throws']) t = a(t);
5505                                            else
5506                                                try {
5507                                                    t = a(t);
5508                                                } catch (e) {
5509                                                    return {
5510                                                        state: 'parsererror',
5511                                                        error: a
5512                                                            ? e
5513                                                            : 'No conversion from ' +
5514                                                              u +
5515                                                              ' to ' +
5516                                                              o
5517                                                    };
5518                                                }
5519                                    }
5520                            return { state: 'success', data: t };
5521                        })(v, s, T, i)),
5522                        i
5523                            ? (v.ifModified &&
5524                                  ((u = T.getResponseHeader('Last-Modified')) &&
5525                                      (S.lastModified[f] = u),
5526                                  (u = T.getResponseHeader('etag')) &&
5527                                      (S.etag[f] = u)),
5528                              204 === e || 'HEAD' === v.type
5529                                  ? (l = 'nocontent')
5530                                  : 304 === e
5531                                  ? (l = 'notmodified')
5532                                  : ((l = s.state),
5533                                    (o = s.data),
5534                                    (i = !(a = s.error))))
5535                            : ((a = l),
5536                              (!e && l) || ((l = 'error'), e < 0 && (e = 0))),
5537                        (T.status = e),
5538                        (T.statusText = (t || l) + ''),
5539                        i
5540                            ? x.resolveWith(y, [o, l, T])
5541                            : x.rejectWith(y, [T, l, a]),
5542                        T.statusCode(w),
5543                        (w = void 0),
5544                        g &&
5545                            m.trigger(i ? 'ajaxSuccess' : 'ajaxError', [
5546                                T,
5547                                v,
5548                                i ? o : a
5549                            ]),
5550                        b.fireWith(y, [T, l]),
5551                        g &&
5552                            (m.trigger('ajaxComplete', [T, v]),
5553                            --S.active || S.event.trigger('ajaxStop')));
5554                }
5555                return T;
5556            },
5557            getJSON: function (e, t, n) {
5558                return S.get(e, t, n, 'json');
5559            },
5560            getScript: function (e, t) {
5561                return S.get(e, void 0, t, 'script');
5562            }
5563        }),
5564        S.each(['get', 'post'], function (e, i) {
5565            S[i] = function (e, t, n, r) {
5566                return (
5567                    m(t) && ((r = r || n), (n = t), (t = void 0)),
5568                    S.ajax(
5569                        S.extend(
5570                            {
5571                                url: e,
5572                                type: i,
5573                                dataType: r,
5574                                data: t,
5575                                success: n
5576                            },
5577                            S.isPlainObject(e) && e
5578                        )
5579                    )
5580                );
5581            };
5582        }),
5583        S.ajaxPrefilter(function (e) {
5584            var t;
5585            for (t in e.headers)
5586                'content-type' === t.toLowerCase() &&
5587                    (e.contentType = e.headers[t] || '');
5588        }),
5589        (S._evalUrl = function (e, t, n) {
5590            return S.ajax({
5591                url: e,
5592                type: 'GET',
5593                dataType: 'script',
5594                cache: !0,
5595                async: !1,
5596                global: !1,
5597                converters: { 'text script': function () {} },
5598                dataFilter: function (e) {
5599                    S.globalEval(e, t, n);
5600                }
5601            });
5602        }),
5603        S.fn.extend({
5604            wrapAll: function (e) {
5605                var t;
5606                return (
5607                    this[0] &&
5608                        (m(e) && (e = e.call(this[0])),
5609                        (t = S(e, this[0].ownerDocument).eq(0).clone(!0)),
5610                        this[0].parentNode && t.insertBefore(this[0]),
5611                        t
5612                            .map(function () {
5613                                var e = this;
5614                                while (e.firstElementChild)
5615                                    e = e.firstElementChild;
5616                                return e;
5617                            })
5618                            .append(this)),
5619                    this
5620                );
5621            },
5622            wrapInner: function (n) {
5623                return m(n)
5624                    ? this.each(function (e) {
5625                          S(this).wrapInner(n.call(this, e));
5626                      })
5627                    : this.each(function () {
5628                          var e = S(this),
5629                              t = e.contents();
5630                          t.length ? t.wrapAll(n) : e.append(n);
5631                      });
5632            },
5633            wrap: function (t) {
5634                var n = m(t);
5635                return this.each(function (e) {
5636                    S(this).wrapAll(n ? t.call(this, e) : t);
5637                });
5638            },
5639            unwrap: function (e) {
5640                return (
5641                    this.parent(e)
5642                        .not('body')
5643                        .each(function () {
5644                            S(this).replaceWith(this.childNodes);
5645                        }),
5646                    this
5647                );
5648            }
5649        }),
5650        (S.expr.pseudos.hidden = function (e) {
5651            return !S.expr.pseudos.visible(e);
5652        }),
5653        (S.expr.pseudos.visible = function (e) {
5654            return !!(
5655                e.offsetWidth ||
5656                e.offsetHeight ||
5657                e.getClientRects().length
5658            );
5659        }),
5660        (S.ajaxSettings.xhr = function () {
5661            try {
5662                return new C.XMLHttpRequest();
5663            } catch (e) {}
5664        });
5665    var Bt = { 0: 200, 1223: 204 },
5666        $t = S.ajaxSettings.xhr();
5667    (y.cors = !!$t && 'withCredentials' in $t),
5668        (y.ajax = $t = !!$t),
5669        S.ajaxTransport(function (i) {
5670            var o, a;
5671            if (y.cors || ($t && !i.crossDomain))
5672                return {
5673                    send: function (e, t) {
5674                        var n,
5675                            r = i.xhr();
5676                        if (
5677                            (r.open(
5678                                i.type,
5679                                i.url,
5680                                i.async,
5681                                i.username,
5682                                i.password
5683                            ),
5684                            i.xhrFields)
5685                        )
5686                            for (n in i.xhrFields) r[n] = i.xhrFields[n];
5687                        for (n in (i.mimeType &&
5688                            r.overrideMimeType &&
5689                            r.overrideMimeType(i.mimeType),
5690                        i.crossDomain ||
5691                            e['X-Requested-With'] ||
5692                            (e['X-Requested-With'] = 'XMLHttpRequest'),
5693                        e))
5694                            r.setRequestHeader(n, e[n]);
5695                        (o = function (e) {
5696                            return function () {
5697                                o &&
5698                                    ((o =
5699                                        a =
5700                                        r.onload =
5701                                        r.onerror =
5702                                        r.onabort =
5703                                        r.ontimeout =
5704                                        r.onreadystatechange =
5705                                            null),
5706                                    'abort' === e
5707                                        ? r.abort()
5708                                        : 'error' === e
5709                                        ? 'number' != typeof r.status
5710                                            ? t(0, 'error')
5711                                            : t(r.status, r.statusText)
5712                                        : t(
5713                                              Bt[r.status] || r.status,
5714                                              r.statusText,
5715                                              'text' !==
5716                                                  (r.responseType || 'text') ||
5717                                                  'string' !=
5718                                                      typeof r.responseText
5719                                                  ? { binary: r.response }
5720                                                  : { text: r.responseText },
5721                                              r.getAllResponseHeaders()
5722                                          ));
5723                            };
5724                        }),
5725                            (r.onload = o()),
5726                            (a = r.onerror = r.ontimeout = o('error')),
5727                            void 0 !== r.onabort
5728                                ? (r.onabort = a)
5729                                : (r.onreadystatechange = function () {
5730                                      4 === r.readyState &&
5731                                          C.setTimeout(function () {
5732                                              o && a();
5733                                          });
5734                                  }),
5735                            (o = o('abort'));
5736                        try {
5737                            r.send((i.hasContent && i.data) || null);
5738                        } catch (e) {
5739                            if (o) throw e;
5740                        }
5741                    },
5742                    abort: function () {
5743                        o && o();
5744                    }
5745                };
5746        }),
5747        S.ajaxPrefilter(function (e) {
5748            e.crossDomain && (e.contents.script = !1);
5749        }),
5750        S.ajaxSetup({
5751            accepts: {
5752                script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'
5753            },
5754            contents: { script: /\b(?:java|ecma)script\b/ },
5755            converters: {
5756                'text script': function (e) {
5757                    return S.globalEval(e), e;
5758                }
5759            }
5760        }),
5761        S.ajaxPrefilter('script', function (e) {
5762            void 0 === e.cache && (e.cache = !1),
5763                e.crossDomain && (e.type = 'GET');
5764        }),
5765        S.ajaxTransport('script', function (n) {
5766            var r, i;
5767            if (n.crossDomain || n.scriptAttrs)
5768                return {
5769                    send: function (e, t) {
5770                        (r = S('<script>')
5771                            .attr(n.scriptAttrs || {})
5772                            .prop({ charset: n.scriptCharset, src: n.url })
5773                            .on(
5774                                'load error',
5775                                (i = function (e) {
5776                                    r.remove(),
5777                                        (i = null),
5778                                        e &&
5779                                            t(
5780                                                'error' === e.type ? 404 : 200,
5781                                                e.type
5782                                            );
5783                                })
5784                            )),
5785                            E.head.appendChild(r[0]);
5786                    },
5787                    abort: function () {
5788                        i && i();
5789                    }
5790                };
5791        });
5792    var _t,
5793        zt = [],
5794        Ut = /(=)\?(?=&|$)|\?\?/;
5795    S.ajaxSetup({
5796        jsonp: 'callback',
5797        jsonpCallback: function () {
5798            var e = zt.pop() || S.expando + '_' + wt.guid++;
5799            return (this[e] = !0), e;
5800        }
5801    }),
5802        S.ajaxPrefilter('json jsonp', function (e, t, n) {
5803            var r,
5804                i,
5805                o,
5806                a =
5807                    !1 !== e.jsonp &&
5808                    (Ut.test(e.url)
5809                        ? 'url'
5810                        : 'string' == typeof e.data &&
5811                          0 ===
5812                              (e.contentType || '').indexOf(
5813                                  'application/x-www-form-urlencoded'
5814                              ) &&
5815                          Ut.test(e.data) &&
5816                          'data');
5817            if (a || 'jsonp' === e.dataTypes[0])
5818                return (
5819                    (r = e.jsonpCallback =
5820                        m(e.jsonpCallback)
5821                            ? e.jsonpCallback()
5822                            : e.jsonpCallback),
5823                    a
5824                        ? (e[a] = e[a].replace(Ut, '$1' + r))
5825                        : !1 !== e.jsonp &&
5826                          (e.url +=
5827                              (Tt.test(e.url) ? '&' : '?') + e.jsonp + '=' + r),
5828                    (e.converters['script json'] = function () {
5829                        return o || S.error(r + ' was not called'), o[0];
5830                    }),
5831                    (e.dataTypes[0] = 'json'),
5832                    (i = C[r]),
5833                    (C[r] = function () {
5834                        o = arguments;
5835                    }),
5836                    n.always(function () {
5837                        void 0 === i ? S(C).removeProp(r) : (C[r] = i),
5838                            e[r] &&
5839                                ((e.jsonpCallback = t.jsonpCallback),
5840                                zt.push(r)),
5841                            o && m(i) && i(o[0]),
5842                            (o = i = void 0);
5843                    }),
5844                    'script'
5845                );
5846        }),
5847        (y.createHTMLDocument =
5848            (((_t = E.implementation.createHTMLDocument('').body).innerHTML =
5849                '<form></form><form></form>'),
5850            2 === _t.childNodes.length)),
5851        (S.parseHTML = function (e, t, n) {
5852            return 'string' != typeof e
5853                ? []
5854                : ('boolean' == typeof t && ((n = t), (t = !1)),
5855                  t ||
5856                      (y.createHTMLDocument
5857                          ? (((r = (t =
5858                                E.implementation.createHTMLDocument(
5859                                    ''
5860                                )).createElement('base')).href =
5861                                E.location.href),
5862                            t.head.appendChild(r))
5863                          : (t = E)),
5864                  (o = !n && []),
5865                  (i = N.exec(e))
5866                      ? [t.createElement(i[1])]
5867                      : ((i = xe([e], t, o)),
5868                        o && o.length && S(o).remove(),
5869                        S.merge([], i.childNodes)));
5870            var r, i, o;
5871        }),
5872        (S.fn.load = function (e, t, n) {
5873            var r,
5874                i,
5875                o,
5876                a = this,
5877                s = e.indexOf(' ');
5878            return (
5879                -1 < s && ((r = ht(e.slice(s))), (e = e.slice(0, s))),
5880                m(t)
5881                    ? ((n = t), (t = void 0))
5882                    : t && 'object' == typeof t && (i = 'POST'),
5883                0 < a.length &&
5884                    S.ajax({
5885                        url: e,
5886                        type: i || 'GET',
5887                        dataType: 'html',
5888                        data: t
5889                    })
5890                        .done(function (e) {
5891                            (o = arguments),
5892                                a.html(
5893                                    r
5894                                        ? S('<div>')
5895                                              .append(S.parseHTML(e))
5896                                              .find(r)
5897                                        : e
5898                                );
5899                        })
5900                        .always(
5901                            n &&
5902                                function (e, t) {
5903                                    a.each(function () {
5904                                        n.apply(
5905                                            this,
5906                                            o || [e.responseText, t, e]
5907                                        );
5908                                    });
5909                                }
5910                        ),
5911                this
5912            );
5913        }),
5914        (S.expr.pseudos.animated = function (t) {
5915            return S.grep(S.timers, function (e) {
5916                return t === e.elem;
5917            }).length;
5918        }),
5919        (S.offset = {
5920            setOffset: function (e, t, n) {
5921                var r,
5922                    i,
5923                    o,
5924                    a,
5925                    s,
5926                    u,
5927                    l = S.css(e, 'position'),
5928                    c = S(e),
5929                    f = {};
5930                'static' === l && (e.style.position = 'relative'),
5931                    (s = c.offset()),
5932                    (o = S.css(e, 'top')),
5933                    (u = S.css(e, 'left')),
5934                    ('absolute' === l || 'fixed' === l) &&
5935                    -1 < (o + u).indexOf('auto')
5936                        ? ((a = (r = c.position()).top), (i = r.left))
5937                        : ((a = parseFloat(o) || 0), (i = parseFloat(u) || 0)),
5938                    m(t) && (t = t.call(e, n, S.extend({}, s))),
5939                    null != t.top && (f.top = t.top - s.top + a),
5940                    null != t.left && (f.left = t.left - s.left + i),
5941                    'using' in t ? t.using.call(e, f) : c.css(f);
5942            }
5943        }),
5944        S.fn.extend({
5945            offset: function (t) {
5946                if (arguments.length)
5947                    return void 0 === t
5948                        ? this
5949                        : this.each(function (e) {
5950                              S.offset.setOffset(this, t, e);
5951                          });
5952                var e,
5953                    n,
5954                    r = this[0];
5955                return r
5956                    ? r.getClientRects().length
5957                        ? ((e = r.getBoundingClientRect()),
5958                          (n = r.ownerDocument.defaultView),
5959                          {
5960                              top: e.top + n.pageYOffset,
5961                              left: e.left + n.pageXOffset
5962                          })
5963                        : { top: 0, left: 0 }
5964                    : void 0;
5965            },
5966            position: function () {
5967                if (this[0]) {
5968                    var e,
5969                        t,
5970                        n,
5971                        r = this[0],
5972                        i = { top: 0, left: 0 };
5973                    if ('fixed' === S.css(r, 'position'))
5974                        t = r.getBoundingClientRect();
5975                    else {
5976                        (t = this.offset()),
5977                            (n = r.ownerDocument),
5978                            (e = r.offsetParent || n.documentElement);
5979                        while (
5980                            e &&
5981                            (e === n.body || e === n.documentElement) &&
5982                            'static' === S.css(e, 'position')
5983                        )
5984                            e = e.parentNode;
5985                        e &&
5986                            e !== r &&
5987                            1 === e.nodeType &&
5988                            (((i = S(e).offset()).top += S.css(
5989                                e,
5990                                'borderTopWidth',
5991                                !0
5992                            )),
5993                            (i.left += S.css(e, 'borderLeftWidth', !0)));
5994                    }
5995                    return {
5996                        top: t.top - i.top - S.css(r, 'marginTop', !0),
5997                        left: t.left - i.left - S.css(r, 'marginLeft', !0)
5998                    };
5999                }
6000            },
6001            offsetParent: function () {
6002                return this.map(function () {
6003                    var e = this.offsetParent;
6004                    while (e && 'static' === S.css(e, 'position'))
6005                        e = e.offsetParent;
6006                    return e || re;
6007                });
6008            }
6009        }),
6010        S.each(
6011            { scrollLeft: 'pageXOffset', scrollTop: 'pageYOffset' },
6012            function (t, i) {
6013                var o = 'pageYOffset' === i;
6014                S.fn[t] = function (e) {
6015                    return $(
6016                        this,
6017                        function (e, t, n) {
6018                            var r;
6019                            if (
6020                                (x(e)
6021                                    ? (r = e)
6022                                    : 9 === e.nodeType && (r = e.defaultView),
6023                                void 0 === n)
6024                            )
6025                                return r ? r[i] : e[t];
6026                            r
6027                                ? r.scrollTo(
6028                                      o ? r.pageXOffset : n,
6029                                      o ? n : r.pageYOffset
6030                                  )
6031                                : (e[t] = n);
6032                        },
6033                        t,
6034                        e,
6035                        arguments.length
6036                    );
6037                };
6038            }
6039        ),
6040        S.each(['top', 'left'], function (e, n) {
6041            S.cssHooks[n] = Fe(y.pixelPosition, function (e, t) {
6042                if (t)
6043                    return (
6044                        (t = We(e, n)),
6045                        Pe.test(t) ? S(e).position()[n] + 'px' : t
6046                    );
6047            });
6048        }),
6049        S.each({ Height: 'height', Width: 'width' }, function (a, s) {
6050            S.each(
6051                { padding: 'inner' + a, content: s, '': 'outer' + a },
6052                function (r, o) {
6053                    S.fn[o] = function (e, t) {
6054                        var n =
6055                                arguments.length &&
6056                                (r || 'boolean' != typeof e),
6057                            i =
6058                                r ||
6059                                (!0 === e || !0 === t ? 'margin' : 'border');
6060                        return $(
6061                            this,
6062                            function (e, t, n) {
6063                                var r;
6064                                return x(e)
6065                                    ? 0 === o.indexOf('outer')
6066                                        ? e['inner' + a]
6067                                        : e.document.documentElement[
6068                                              'client' + a
6069                                          ]
6070                                    : 9 === e.nodeType
6071                                    ? ((r = e.documentElement),
6072                                      Math.max(
6073                                          e.body['scroll' + a],
6074                                          r['scroll' + a],
6075                                          e.body['offset' + a],
6076                                          r['offset' + a],
6077                                          r['client' + a]
6078                                      ))
6079                                    : void 0 === n
6080                                    ? S.css(e, t, i)
6081                                    : S.style(e, t, n, i);
6082                            },
6083                            s,
6084                            n ? e : void 0,
6085                            n
6086                        );
6087                    };
6088                }
6089            );
6090        }),
6091        S.each(
6092            [
6093                'ajaxStart',
6094                'ajaxStop',
6095                'ajaxComplete',
6096                'ajaxError',
6097                'ajaxSuccess',
6098                'ajaxSend'
6099            ],
6100            function (e, t) {
6101                S.fn[t] = function (e) {
6102                    return this.on(t, e);
6103                };
6104            }
6105        ),
6106        S.fn.extend({
6107            bind: function (e, t, n) {
6108                return this.on(e, null, t, n);
6109            },
6110            unbind: function (e, t) {
6111                return this.off(e, null, t);
6112            },
6113            delegate: function (e, t, n, r) {
6114                return this.on(t, e, n, r);
6115            },
6116            undelegate: function (e, t, n) {
6117                return 1 === arguments.length
6118                    ? this.off(e, '**')
6119                    : this.off(t, e || '**', n);
6120            },
6121            hover: function (e, t) {
6122                return this.mouseenter(e).mouseleave(t || e);
6123            }
6124        }),
6125        S.each(
6126            'blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu'.split(
6127                ' '
6128            ),
6129            function (e, n) {
6130                S.fn[n] = function (e, t) {
6131                    return 0 < arguments.length
6132                        ? this.on(n, null, e, t)
6133                        : this.trigger(n);
6134                };
6135            }
6136        );
6137    var Xt = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
6138    (S.proxy = function (e, t) {
6139        var n, r, i;
6140        if (('string' == typeof t && ((n = e[t]), (t = e), (e = n)), m(e)))
6141            return (
6142                (r = s.call(arguments, 2)),
6143                ((i = function () {
6144                    return e.apply(t || this, r.concat(s.call(arguments)));
6145                }).guid = e.guid =
6146                    e.guid || S.guid++),
6147                i
6148            );
6149    }),
6150        (S.holdReady = function (e) {
6151            e ? S.readyWait++ : S.ready(!0);
6152        }),
6153        (S.isArray = Array.isArray),
6154        (S.parseJSON = JSON.parse),
6155        (S.nodeName = A),
6156        (S.isFunction = m),
6157        (S.isWindow = x),
6158        (S.camelCase = X),
6159        (S.type = w),
6160        (S.now = Date.now),
6161        (S.isNumeric = function (e) {
6162            var t = S.type(e);
6163            return (
6164                ('number' === t || 'string' === t) && !isNaN(e - parseFloat(e))
6165            );
6166        }),
6167        (S.trim = function (e) {
6168            return null == e ? '' : (e + '').replace(Xt, '');
6169        }),
6170        'function' == typeof define &&
6171            define.amd &&
6172            define('jquery', [], function () {
6173                return S;
6174            });
6175    var Vt = C.jQuery,
6176        Gt = C.$;
6177    return (
6178        (S.noConflict = function (e) {
6179            return (
6180                C.$ === S && (C.$ = Gt),
6181                e && C.jQuery === S && (C.jQuery = Vt),
6182                S
6183            );
6184        }),
6185        'undefined' == typeof e && (C.jQuery = C.$ = S),
6186        S
6187    );
6188});
6189
6190/*! VelocityJS.org (1.5.0). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */
6191/*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */
6192!(function (a) {
6193    'use strict';
6194    function b(a) {
6195        var b = a.length,
6196            d = c.type(a);
6197        return (
6198            'function' !== d &&
6199            !c.isWindow(a) &&
6200            (!(1 !== a.nodeType || !b) ||
6201                'array' === d ||
6202                0 === b ||
6203                ('number' == typeof b && b > 0 && b - 1 in a))
6204        );
6205    }
6206    if (!a.jQuery) {
6207        var c = function (a, b) {
6208            return new c.fn.init(a, b);
6209        };
6210        (c.isWindow = function (a) {
6211            return a && a === a.window;
6212        }),
6213            (c.type = function (a) {
6214                return a
6215                    ? 'object' == typeof a || 'function' == typeof a
6216                        ? e[g.call(a)] || 'object'
6217                        : typeof a
6218                    : a + '';
6219            }),
6220            (c.isArray =
6221                Array.isArray ||
6222                function (a) {
6223                    return 'array' === c.type(a);
6224                }),
6225            (c.isPlainObject = function (a) {
6226                var b;
6227                if (!a || 'object' !== c.type(a) || a.nodeType || c.isWindow(a))
6228                    return !1;
6229                try {
6230                    if (
6231                        a.constructor &&
6232                        !f.call(a, 'constructor') &&
6233                        !f.call(a.constructor.prototype, 'isPrototypeOf')
6234                    )
6235                        return !1;
6236                } catch (d) {
6237                    return !1;
6238                }
6239                for (b in a);
6240                return b === undefined || f.call(a, b);
6241            }),
6242            (c.each = function (a, c, d) {
6243                var e = 0,
6244                    f = a.length,
6245                    g = b(a);
6246                if (d) {
6247                    if (g) for (; e < f && !1 !== c.apply(a[e], d); e++);
6248                    else
6249                        for (e in a)
6250                            if (a.hasOwnProperty(e) && !1 === c.apply(a[e], d))
6251                                break;
6252                } else if (g)
6253                    for (; e < f && !1 !== c.call(a[e], e, a[e]); e++);
6254                else
6255                    for (e in a)
6256                        if (a.hasOwnProperty(e) && !1 === c.call(a[e], e, a[e]))
6257                            break;
6258                return a;
6259            }),
6260            (c.data = function (a, b, e) {
6261                if (e === undefined) {
6262                    var f = a[c.expando],
6263                        g = f && d[f];
6264                    if (b === undefined) return g;
6265                    if (g && b in g) return g[b];
6266                } else if (b !== undefined) {
6267                    var h = a[c.expando] || (a[c.expando] = ++c.uuid);
6268                    return (d[h] = d[h] || {}), (d[h][b] = e), e;
6269                }
6270            }),
6271            (c.removeData = function (a, b) {
6272                var e = a[c.expando],
6273                    f = e && d[e];
6274                f &&
6275                    (b
6276                        ? c.each(b, function (a, b) {
6277                              delete f[b];
6278                          })
6279                        : delete d[e]);
6280            }),
6281            (c.extend = function () {
6282                var a,
6283                    b,
6284                    d,
6285                    e,
6286                    f,
6287                    g,
6288                    h = arguments[0] || {},
6289                    i = 1,
6290                    j = arguments.length,
6291                    k = !1;
6292                for (
6293                    'boolean' == typeof h &&
6294                        ((k = h), (h = arguments[i] || {}), i++),
6295                        'object' != typeof h &&
6296                            'function' !== c.type(h) &&
6297                            (h = {}),
6298                        i === j && ((h = this), i--);
6299                    i < j;
6300                    i++
6301                )
6302                    if ((f = arguments[i]))
6303                        for (e in f)
6304                            f.hasOwnProperty(e) &&
6305                                ((a = h[e]),
6306                                (d = f[e]),
6307                                h !== d &&
6308                                    (k &&
6309                                    d &&
6310                                    (c.isPlainObject(d) || (b = c.isArray(d)))
6311                                        ? (b
6312                                              ? ((b = !1),
6313                                                (g =
6314                                                    a && c.isArray(a) ? a : []))
6315                                              : (g =
6316                                                    a && c.isPlainObject(a)
6317                                                        ? a
6318                                                        : {}),
6319                                          (h[e] = c.extend(k, g, d)))
6320                                        : d !== undefined && (h[e] = d)));
6321                return h;
6322            }),
6323            (c.queue = function (a, d, e) {
6324                if (a) {
6325                    d = (d || 'fx') + 'queue';
6326                    var f = c.data(a, d);
6327                    return e
6328                        ? (!f || c.isArray(e)
6329                              ? (f = c.data(
6330                                    a,
6331                                    d,
6332                                    (function (a, c) {
6333                                        var d = c || [];
6334                                        return (
6335                                            a &&
6336                                                (b(Object(a))
6337                                                    ? (function (a, b) {
6338                                                          for (
6339                                                              var c = +b.length,
6340                                                                  d = 0,
6341                                                                  e = a.length;
6342                                                              d < c;
6343
6344                                                          )
6345                                                              a[e++] = b[d++];
6346                                                          if (c !== c)
6347                                                              for (
6348                                                                  ;
6349                                                                  b[d] !==
6350                                                                  undefined;
6351
6352                                                              )
6353                                                                  a[e++] =
6354                                                                      b[d++];
6355                                                          a.length = e;
6356                                                      })(
6357                                                          d,
6358                                                          'string' == typeof a
6359                                                              ? [a]
6360                                                              : a
6361                                                      )
6362                                                    : [].push.call(d, a)),
6363                                            d
6364                                        );
6365                                    })(e)
6366                                ))
6367                              : f.push(e),
6368                          f)
6369                        : f || [];
6370                }
6371            }),
6372            (c.dequeue = function (a, b) {
6373                c.each(a.nodeType ? [a] : a, function (a, d) {
6374                    b = b || 'fx';
6375                    var e = c.queue(d, b),
6376                        f = e.shift();
6377                    'inprogress' === f && (f = e.shift()),
6378                        f &&
6379                            ('fx' === b && e.unshift('inprogress'),
6380                            f.call(d, function () {
6381                                c.dequeue(d, b);
6382                            }));
6383                });
6384            }),
6385            (c.fn = c.prototype =
6386                {
6387                    init: function (a) {
6388                        if (a.nodeType) return (this[0] = a), this;
6389                        throw new Error('Not a DOM node.');
6390                    },
6391                    offset: function () {
6392                        var b = this[0].getBoundingClientRect
6393                            ? this[0].getBoundingClientRect()
6394                            : { top: 0, left: 0 };
6395                        return {
6396                            top:
6397                                b.top +
6398                                (a.pageYOffset || document.scrollTop || 0) -
6399                                (document.clientTop || 0),
6400                            left:
6401                                b.left +
6402                                (a.pageXOffset || document.scrollLeft || 0) -
6403                                (document.clientLeft || 0)
6404                        };
6405                    },
6406                    position: function () {
6407                        var a = this[0],
6408                            b = (function (a) {
6409                                for (
6410                                    var b = a.offsetParent;
6411                                    b &&
6412                                    'html' !== b.nodeName.toLowerCase() &&
6413                                    b.style &&
6414                                    'static' === b.style.position.toLowerCase();
6415
6416                                )
6417                                    b = b.offsetParent;
6418                                return b || document;
6419                            })(a),
6420                            d = this.offset(),
6421                            e = /^(?:body|html)$/i.test(b.nodeName)
6422                                ? { top: 0, left: 0 }
6423                                : c(b).offset();
6424                        return (
6425                            (d.top -= parseFloat(a.style.marginTop) || 0),
6426                            (d.left -= parseFloat(a.style.marginLeft) || 0),
6427                            b.style &&
6428                                ((e.top +=
6429                                    parseFloat(b.style.borderTopWidth) || 0),
6430                                (e.left +=
6431                                    parseFloat(b.style.borderLeftWidth) || 0)),
6432                            { top: d.top - e.top, left: d.left - e.left }
6433                        );
6434                    }
6435                });
6436        var d = {};
6437        (c.expando = 'velocity' + new Date().getTime()), (c.uuid = 0);
6438        for (
6439            var e = {},
6440                f = e.hasOwnProperty,
6441                g = e.toString,
6442                h =
6443                    'Boolean Number String Function Array Date RegExp Object Error'.split(
6444                        ' '
6445                    ),
6446                i = 0;
6447            i < h.length;
6448            i++
6449        )
6450            e['[object ' + h[i] + ']'] = h[i].toLowerCase();
6451        (c.fn.init.prototype = c.fn), (a.Velocity = { Utilities: c });
6452    }
6453})(window),
6454    (function (a) {
6455        'use strict';
6456        'object' == typeof module && 'object' == typeof module.exports
6457            ? (module.exports = a())
6458            : 'function' == typeof define && define.amd
6459            ? define(a)
6460            : a();
6461    })(function () {
6462        'use strict';
6463        return (function (a, b, c, d) {
6464            function e(a) {
6465                for (var b = -1, c = a ? a.length : 0, d = []; ++b < c; ) {
6466                    var e = a[b];
6467                    e && d.push(e);
6468                }
6469                return d;
6470            }
6471            function f(a) {
6472                return (
6473                    u.isWrapped(a) ? (a = s.call(a)) : u.isNode(a) && (a = [a]),
6474                    a
6475                );
6476            }
6477            function g(a) {
6478                var b = o.data(a, 'velocity');
6479                return null === b ? d : b;
6480            }
6481            function h(a, b) {
6482                var c = g(a);
6483                c &&
6484                    c.delayTimer &&
6485                    !c.delayPaused &&
6486                    ((c.delayRemaining = c.delay - b + c.delayBegin),
6487                    (c.delayPaused = !0),
6488                    clearTimeout(c.delayTimer.setTimeout));
6489            }
6490            function i(a, b) {
6491                var c = g(a);
6492                c &&
6493                    c.delayTimer &&
6494                    c.delayPaused &&
6495                    ((c.delayPaused = !1),
6496                    (c.delayTimer.setTimeout = setTimeout(
6497                        c.delayTimer.next,
6498                        c.delayRemaining
6499                    )));
6500            }
6501            function j(a) {
6502                return function (b) {
6503                    return Math.round(b * a) * (1 / a);
6504                };
6505            }
6506            function k(a, c, d, e) {
6507                function f(a, b) {
6508                    return 1 - 3 * b + 3 * a;
6509                }
6510                function g(a, b) {
6511                    return 3 * b - 6 * a;
6512                }
6513                function h(a) {
6514                    return 3 * a;
6515                }
6516                function i(a, b, c) {
6517                    return ((f(b, c) * a + g(b, c)) * a + h(b)) * a;
6518                }
6519                function j(a, b, c) {
6520                    return 3 * f(b, c) * a * a + 2 * g(b, c) * a + h(b);
6521                }
6522                function k(b, c) {
6523                    for (var e = 0; e < p; ++e) {
6524                        var f = j(c, a, d);
6525                        if (0 === f) return c;
6526                        c -= (i(c, a, d) - b) / f;
6527                    }
6528                    return c;
6529                }
6530                function l() {
6531                    for (var b = 0; b < t; ++b) x[b] = i(b * u, a, d);
6532                }
6533                function m(b, c, e) {
6534                    var f,
6535                        g,
6536                        h = 0;
6537                    do {
6538                        (g = c + (e - c) / 2),
6539                            (f = i(g, a, d) - b),
6540                            f > 0 ? (e = g) : (c = g);
6541                    } while (Math.abs(f) > r && ++h < s);
6542                    return g;
6543                }
6544                function n(b) {
6545                    for (var c = 0, e = 1, f = t - 1; e !== f && x[e] <= b; ++e)
6546                        c += u;
6547                    --e;
6548                    var g = (b - x[e]) / (x[e + 1] - x[e]),
6549                        h = c + g * u,
6550                        i = j(h, a, d);
6551                    return i >= q ? k(b, h) : 0 === i ? h : m(b, c, c + u);
6552                }
6553                function o() {
6554                    (y = !0), (a === c && d === e) || l();
6555                }
6556                var p = 4,
6557                    q = 0.001,
6558                    r = 1e-7,
6559                    s = 10,
6560                    t = 11,
6561                    u = 1 / (t - 1),
6562                    v = 'Float32Array' in b;
6563                if (4 !== arguments.length) return !1;
6564                for (var w = 0; w < 4; ++w)
6565                    if (
6566                        'number' != typeof arguments[w] ||
6567                        isNaN(arguments[w]) ||
6568                        !isFinite(arguments[w])
6569                    )
6570                        return !1;
6571                (a = Math.min(a, 1)),
6572                    (d = Math.min(d, 1)),
6573                    (a = Math.max(a, 0)),
6574                    (d = Math.max(d, 0));
6575                var x = v ? new Float32Array(t) : new Array(t),
6576                    y = !1,
6577                    z = function (b) {
6578                        return (
6579                            y || o(),
6580                            a === c && d === e
6581                                ? b
6582                                : 0 === b
6583                                ? 0
6584                                : 1 === b
6585                                ? 1
6586                                : i(n(b), c, e)
6587                        );
6588                    };
6589                z.getControlPoints = function () {
6590                    return [
6591                        { x: a, y: c },
6592                        { x: d, y: e }
6593                    ];
6594                };
6595                var A = 'generateBezier(' + [a, c, d, e] + ')';
6596                return (
6597                    (z.toString = function () {
6598                        return A;
6599                    }),
6600                    z
6601                );
6602            }
6603            function l(a, b) {
6604                var c = a;
6605                return (
6606                    u.isString(a)
6607                        ? y.Easings[a] || (c = !1)
6608                        : (c =
6609                              u.isArray(a) && 1 === a.length
6610                                  ? j.apply(null, a)
6611                                  : u.isArray(a) && 2 === a.length
6612                                  ? z.apply(null, a.concat([b]))
6613                                  : !(!u.isArray(a) || 4 !== a.length) &&
6614                                    k.apply(null, a)),
6615                    !1 === c &&
6616                        (c = y.Easings[y.defaults.easing]
6617                            ? y.defaults.easing
6618                            : x),
6619                    c
6620                );
6621            }
6622            function m(a) {
6623                if (a) {
6624                    var b = y.timestamp && !0 !== a ? a : r.now(),
6625                        c = y.State.calls.length;
6626                    c > 1e4 &&
6627                        ((y.State.calls = e(y.State.calls)),
6628                        (c = y.State.calls.length));
6629                    for (var f = 0; f < c; f++)
6630                        if (y.State.calls[f]) {
6631                            var h = y.State.calls[f],
6632                                i = h[0],
6633                                j = h[2],
6634                                k = h[3],
6635                                l = !k,
6636                                q = null,
6637                                s = h[5],
6638                                t = h[6];
6639                            if ((k || (k = y.State.calls[f][3] = b - 16), s)) {
6640                                if (!0 !== s.resume) continue;
6641                                (k = h[3] = Math.round(b - t - 16)),
6642                                    (h[5] = null);
6643                            }
6644                            t = h[6] = b - k;
6645                            for (
6646                                var v = Math.min(t / j.duration, 1),
6647                                    w = 0,
6648                                    x = i.length;
6649                                w < x;
6650                                w++
6651                            ) {
6652                                var z = i[w],
6653                                    B = z.element;
6654                                if (g(B)) {
6655                                    var D = !1;
6656                                    if (
6657                                        j.display !== d &&
6658                                        null !== j.display &&
6659                                        'none' !== j.display
6660                                    ) {
6661                                        if ('flex' === j.display) {
6662                                            var E = [
6663                                                '-webkit-box',
6664                                                '-moz-box',
6665                                                '-ms-flexbox',
6666                                                '-webkit-flex'
6667                                            ];
6668                                            o.each(E, function (a, b) {
6669                                                A.setPropertyValue(
6670                                                    B,
6671                                                    'display',
6672                                                    b
6673                                                );
6674                                            });
6675                                        }
6676                                        A.setPropertyValue(
6677                                            B,
6678                                            'display',
6679                                            j.display
6680                                        );
6681                                    }
6682                                    j.visibility !== d &&
6683                                        'hidden' !== j.visibility &&
6684                                        A.setPropertyValue(
6685                                            B,
6686                                            'visibility',
6687                                            j.visibility
6688                                        );
6689                                    for (var F in z)
6690                                        if (
6691                                            z.hasOwnProperty(F) &&
6692                                            'element' !== F
6693                                        ) {
6694                                            var G,
6695                                                H = z[F],
6696                                                I = u.isString(H.easing)
6697                                                    ? y.Easings[H.easing]
6698                                                    : H.easing;
6699                                            if (u.isString(H.pattern)) {
6700                                                var J =
6701                                                    1 === v
6702                                                        ? function (a, b, c) {
6703                                                              var d =
6704                                                                  H.endValue[b];
6705                                                              return c
6706                                                                  ? Math.round(
6707                                                                        d
6708                                                                    )
6709                                                                  : d;
6710                                                          }
6711                                                        : function (a, b, c) {
6712                                                              var d =
6713                                                                      H
6714                                                                          .startValue[
6715                                                                          b
6716                                                                      ],
6717                                                                  e =
6718                                                                      H
6719                                                                          .endValue[
6720                                                                          b
6721                                                                      ] - d,
6722                                                                  f =
6723                                                                      d +
6724                                                                      e *
6725                                                                          I(
6726                                                                              v,
6727                                                                              j,
6728                                                                              e
6729                                                                          );
6730                                                              return c
6731                                                                  ? Math.round(
6732                                                                        f
6733                                                                    )
6734                                                                  : f;
6735                                                          };
6736                                                G = H.pattern.replace(
6737                                                    /{(\d+)(!)?}/g,
6738                                                    J
6739                                                );
6740                                            } else if (1 === v) G = H.endValue;
6741                                            else {
6742                                                var K =
6743                                                    H.endValue - H.startValue;
6744                                                G =
6745                                                    H.startValue +
6746                                                    K * I(v, j, K);
6747                                            }
6748                                            if (!l && G === H.currentValue)
6749                                                continue;
6750                                            if (
6751                                                ((H.currentValue = G),
6752                                                'tween' === F)
6753                                            )
6754                                                q = G;
6755                                            else {
6756                                                var L;
6757                                                if (A.Hooks.registered[F]) {
6758                                                    L = A.Hooks.getRoot(F);
6759                                                    var M =
6760                                                        g(B)
6761                                                            .rootPropertyValueCache[
6762                                                            L
6763                                                        ];
6764                                                    M &&
6765                                                        (H.rootPropertyValue =
6766                                                            M);
6767                                                }
6768                                                var N = A.setPropertyValue(
6769                                                    B,
6770                                                    F,
6771                                                    H.currentValue +
6772                                                        (p < 9 &&
6773                                                        0 === parseFloat(G)
6774                                                            ? ''
6775                                                            : H.unitType),
6776                                                    H.rootPropertyValue,
6777                                                    H.scrollData
6778                                                );
6779                                                A.Hooks.registered[F] &&
6780                                                    (A.Normalizations
6781                                                        .registered[L]
6782                                                        ? (g(
6783                                                              B
6784                                                          ).rootPropertyValueCache[
6785                                                              L
6786                                                          ] =
6787                                                              A.Normalizations.registered[
6788                                                                  L
6789                                                              ](
6790                                                                  'extract',
6791                                                                  null,
6792                                                                  N[1]
6793                                                              ))
6794                                                        : (g(
6795                                                              B
6796                                                          ).rootPropertyValueCache[
6797                                                              L
6798                                                          ] = N[1])),
6799                                                    'transform' === N[0] &&
6800                                                        (D = !0);
6801                                            }
6802                                        }
6803                                    j.mobileHA &&
6804                                        g(B).transformCache.translate3d === d &&
6805                                        ((g(B).transformCache.translate3d =
6806                                            '(0px, 0px, 0px)'),
6807                                        (D = !0)),
6808                                        D && A.flushTransformCache(B);
6809                                }
6810                            }
6811                            j.display !== d &&
6812                                'none' !== j.display &&
6813                                (y.State.calls[f][2].display = !1),
6814                                j.visibility !== d &&
6815                                    'hidden' !== j.visibility &&
6816                                    (y.State.calls[f][2].visibility = !1),
6817                                j.progress &&
6818                                    j.progress.call(
6819                                        h[1],
6820                                        h[1],
6821                                        v,
6822                                        Math.max(0, k + j.duration - b),
6823                                        k,
6824                                        q
6825                                    ),
6826                                1 === v && n(f);
6827                        }
6828                }
6829                y.State.isTicking && C(m);
6830            }
6831            function n(a, b) {
6832                if (!y.State.calls[a]) return !1;
6833                for (
6834                    var c = y.State.calls[a][0],
6835                        e = y.State.calls[a][1],
6836                        f = y.State.calls[a][2],
6837                        h = y.State.calls[a][4],
6838                        i = !1,
6839                        j = 0,
6840                        k = c.length;
6841                    j < k;
6842                    j++
6843                ) {
6844                    var l = c[j].element;
6845                    b ||
6846                        f.loop ||
6847                        ('none' === f.display &&
6848                            A.setPropertyValue(l, 'display', f.display),
6849                        'hidden' === f.visibility &&
6850                            A.setPropertyValue(l, 'visibility', f.visibility));
6851                    var m = g(l);
6852                    if (
6853                        !0 !== f.loop &&
6854                        (o.queue(l)[1] === d ||
6855                            !/\.velocityQueueEntryFlag/i.test(o.queue(l)[1])) &&
6856                        m
6857                    ) {
6858                        (m.isAnimating = !1), (m.rootPropertyValueCache = {});
6859                        var n = !1;
6860                        o.each(A.Lists.transforms3D, function (a, b) {
6861                            var c = /^scale/.test(b) ? 1 : 0,
6862                                e = m.transformCache[b];
6863                            m.transformCache[b] !== d &&
6864                                new RegExp('^\\(' + c + '[^.]').test(e) &&
6865                                ((n = !0), delete m.transformCache[b]);
6866                        }),
6867                            f.mobileHA &&
6868                                ((n = !0), delete m.transformCache.translate3d),
6869                            n && A.flushTransformCache(l),
6870                            A.Values.removeClass(l, 'velocity-animating');
6871                    }
6872                    if (!b && f.complete && !f.loop && j === k - 1)
6873                        try {
6874                            f.complete.call(e, e);
6875                        } catch (r) {
6876                            setTimeout(function () {
6877                                throw r;
6878                            }, 1);
6879                        }
6880                    h && !0 !== f.loop && h(e),
6881                        m &&
6882                            !0 === f.loop &&
6883                            !b &&
6884                            (o.each(m.tweensContainer, function (a, b) {
6885                                if (
6886                                    /^rotate/.test(a) &&
6887                                    (parseFloat(b.startValue) -
6888                                        parseFloat(b.endValue)) %
6889                                        360 ==
6890                                        0
6891                                ) {
6892                                    var c = b.startValue;
6893                                    (b.startValue = b.endValue),
6894                                        (b.endValue = c);
6895                                }
6896                                /^backgroundPosition/.test(a) &&
6897                                    100 === parseFloat(b.endValue) &&
6898                                    '%' === b.unitType &&
6899                                    ((b.endValue = 0), (b.startValue = 100));
6900                            }),
6901                            y(l, 'reverse', { loop: !0, delay: f.delay })),
6902                        !1 !== f.queue && o.dequeue(l, f.queue);
6903                }
6904                y.State.calls[a] = !1;
6905                for (var p = 0, q = y.State.calls.length; p < q; p++)
6906                    if (!1 !== y.State.calls[p]) {
6907                        i = !0;
6908                        break;
6909                    }
6910                !1 === i &&
6911                    ((y.State.isTicking = !1),
6912                    delete y.State.calls,
6913                    (y.State.calls = []));
6914            }
6915            var o,
6916                p = (function () {
6917                    if (c.documentMode) return c.documentMode;
6918                    for (var a = 7; a > 4; a--) {
6919                        var b = c.createElement('div');
6920                        if (
6921                            ((b.innerHTML =
6922                                '\x3c!--[if IE ' +
6923                                a +
6924                                ']><span></spa
6924n><![endif]--\x3e'),
6925                            b.getElementsByTagName('span').length)
6926                        )
6927                            return (b = null), a;
6928                    }
6929                    return d;
6930                })(),
6931                q = (function () {
6932                    var a = 0;
6933                    return (
6934                        b.webkitRequestAnimationFrame ||
6935                        b.mozRequestAnimationFrame ||
6936                        function (b) {
6937                            var c,
6938                                d = new Date().getTime();
6939                            return (
6940                                (c = Math.max(0, 16 - (d - a))),
6941                                (a = d + c),
6942                                setTimeout(function () {
6943                                    b(d + c);
6944                                }, c)
6945                            );
6946                        }
6947                    );
6948                })(),
6949                r = (function () {
6950                    var a = b.performance || {};
6951                    if ('function' != typeof a.now) {
6952                        var c =
6953                            a.timing && a.timing.navigationStart
6954                                ? a.timing.navigationStart
6955                                : new Date().getTime();
6956                        a.now = function () {
6957                            return new Date().getTime() - c;
6958                        };
6959                    }
6960                    return a;
6961                })(),
6962                s = (function () {
6963                    var a = Array.prototype.slice;
6964                    try {
6965                        return a.call(c.documentElement), a;
6966                    } catch (b) {
6967                        return function (b, c) {
6968                            var d = this.length;
6969                            if (
6970                                ('number' != typeof b && (b = 0),
6971                                'number' != typeof c && (c = d),
6972                                this.slice)
6973                            )
6974                                return a.call(this, b, c);
6975                            var e,
6976                                f = [],
6977                                g = b >= 0 ? b : Math.max(0, d + b),
6978                                h = c < 0 ? d + c : Math.min(c, d),
6979                                i = h - g;
6980                            if (i > 0)
6981                                if (((f = new Array(i)), this.charAt))
6982                                    for (e = 0; e < i; e++)
6983                                        f[e] = this.charAt(g + e);
6984                                else for (e = 0; e < i; e++) f[e] = this[g + e];
6985                            return f;
6986                        };
6987                    }
6988                })(),
6989                t = function () {
6990                    return Array.prototype.includes
6991                        ? function (a, b) {
6992                              return a.includes(b);
6993                          }
6994                        : Array.prototype.indexOf
6995                        ? function (a, b) {
6996                              return a.indexOf(b) >= 0;
6997                          }
6998                        : function (a, b) {
6999                              for (var c = 0; c < a.length; c++)
7000                                  if (a[c] === b) return !0;
7001                              return !1;
7002                          };
7003                },
7004                u = {
7005                    isNumber: function (a) {
7006                        return 'number' == typeof a;
7007                    },
7008                    isString: function (a) {
7009                        return 'string' == typeof a;
7010                    },
7011                    isArray:
7012                        Array.isArray ||
7013                        function (a) {
7014                            return (
7015                                '[object Array]' ===
7016                                Object.prototype.toString.call(a)
7017                            );
7018                        },
7019                    isFunction: function (a) {
7020                        return (
7021                            '[object Function]' ===
7022                            Object.prototype.toString.call(a)
7023                        );
7024                    },
7025                    isNode: function (a) {
7026                        return a && a.nodeType;
7027                    },
7028                    isWrapped: function (a) {
7029                        return (
7030                            a &&
7031                            a !== b &&
7032                            u.isNumber(a.length) &&
7033                            !u.isString(a) &&
7034                            !u.isFunction(a) &&
7035                            !u.isNode(a) &&
7036                            (0 === a.length || u.isNode(a[0]))
7037                        );
7038                    },
7039                    isSVG: function (a) {
7040                        return b.SVGElement && a instanceof b.SVGElement;
7041                    },
7042                    isEmptyObject: function (a) {
7043                        for (var b in a) if (a.hasOwnProperty(b)) return !1;
7044                        return !0;
7045                    }
7046                },
7047                v = !1;
7048            if (
7049                (a.fn && a.fn.jquery
7050                    ? ((o = a), (v = !0))
7051                    : (o = b.Velocity.Utilities),
7052                p <= 8 && !v)
7053            )
7054                throw new Error(
7055                    'Velocity: IE8 and below require jQuery to be loaded before Velocity.'
7056                );
7057            if (p <= 7) return void (jQuery.fn.velocity = jQuery.fn.animate);
7058            var w = 400,
7059                x = 'swing',
7060                y = {
7061                    State: {
7062                        isMobile:
7063                            /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
7064                                b.navigator.userAgent
7065                            ),
7066                        isAndroid: /Android/i.test(b.navigator.userAgent),
7067                        isGingerbread: /Android 2\.3\.[3-7]/i.test(
7068                            b.navigator.userAgent
7069                        ),
7070                        isChrome: b.chrome,
7071                        isFirefox: /Firefox/i.test(b.navigator.userAgent),
7072                        prefixElement: c.createElement('div'),
7073                        prefixMatches: {},
7074                        scrollAnchor: null,
7075                        scrollPropertyLeft: null,
7076                        scrollPropertyTop: null,
7077                        isTicking: !1,
7078                        calls: [],
7079                        delayedElements: { count: 0 }
7080                    },
7081                    CSS: {},
7082                    Utilities: o,
7083                    Redirects: {},
7084                    Easings: {},
7085                    Promise: b.Promise,
7086                    defaults: {
7087                        queue: '',
7088                        duration: w,
7089                        easing: x,
7090                        begin: d,
7091                        complete: d,
7092                        progress: d,
7093                        display: d,
7094                        visibility: d,
7095                        loop: !1,
7096                        delay: !1,
7097                        mobileHA: !0,
7098                        _cacheValues: !0,
7099                        promiseRejectEmpty: !0
7100                    },
7101                    init: function (a) {
7102                        o.data(a, 'velocity', {
7103                            isSVG: u.isSVG(a),
7104                            isAnimating: !1,
7105                            computedStyle: null,
7106                            tweensContainer: null,
7107                            rootPropertyValueCache: {},
7108                            transformCache: {}
7109                        });
7110                    },
7111                    hook: null,
7112                    mock: !1,
7113                    version: { major: 1, minor: 5, patch: 1 },
7114                    debug: !1,
7115                    timestamp: !0,
7116                    pauseAll: function (a) {
7117                        var b = new Date().getTime();
7118                        o.each(y.State.calls, function (b, c) {
7119                            if (c) {
7120                                if (
7121                                    a !== d &&
7122                                    (c[2].queue !== a || !1 === c[2].queue)
7123                                )
7124                                    return !0;
7125                                c[5] = { resume: !1 };
7126                            }
7127                        }),
7128                            o.each(y.State.delayedElements, function (a, c) {
7129                                c && h(c, b);
7130                            });
7131                    },
7132                    resumeAll: function (a) {
7133                        var b = new Date().getTime();
7134                        o.each(y.State.calls, function (b, c) {
7135                            if (c) {
7136                                if (
7137                                    a !== d &&
7138                                    (c[2].queue !== a || !1 === c[2].queue)
7139                                )
7140                                    return !0;
7141                                c[5] && (c[5].resume = !0);
7142                            }
7143                        }),
7144                            o.each(y.State.delayedElements, function (a, c) {
7145                                c && i(c, b);
7146                            });
7147                    }
7148                };
7149            b.pageYOffset !== d
7150                ? ((y.State.scrollAnchor = b),
7151                  (y.State.scrollPropertyLeft = 'pageXOffset'),
7152                  (y.State.scrollPropertyTop = 'pageYOffset'))
7153                : ((y.State.scrollAnchor =
7154                      c.documentElement || c.body.parentNode || c.body),
7155                  (y.State.scrollPropertyLeft = 'scrollLeft'),
7156                  (y.State.scrollPropertyTop = 'scrollTop'));
7157            var z = (function () {
7158                function a(a) {
7159                    return -a.tension * a.x - a.friction * a.v;
7160                }
7161                function b(b, c, d) {
7162                    var e = {
7163                        x: b.x + d.dx * c,
7164                        v: b.v + d.dv * c,
7165                        tension: b.tension,
7166                        friction: b.friction
7167                    };
7168                    return { dx: e.v, dv: a(e) };
7169                }
7170                function c(c, d) {
7171                    var e = { dx: c.v, dv: a(c) },
7172                        f = b(c, 0.5 * d, e),
7173                        g = b(c, 0.5 * d, f),
7174                        h = b(c, d, g),
7175                        i = (1 / 6) * (e.dx + 2 * (f.dx + g.dx) + h.dx),
7176                        j = (1 / 6) * (e.dv + 2 * (f.dv + g.dv) + h.dv);
7177                    return (c.x = c.x + i * d), (c.v = c.v + j * d), c;
7178                }
7179                return function d(a, b, e) {
7180                    var f,
7181                        g,
7182                        h,
7183                        i = { x: -1, v: 0, tension: null, friction: null },
7184                        j = [0],
7185                        k = 0;
7186                    for (
7187                        a = parseFloat(a) || 500,
7188                            b = parseFloat(b) || 20,
7189                            e = e || null,
7190                            i.tension = a,
7191                            i.friction = b,
7192                            f = null !== e,
7193                            f
7194                                ? ((k = d(a, b)), (g = (k / e) * 0.016))
7195                                : (g = 0.016);
7196                        ;
7197
7198                    )
7199                        if (
7200                            ((h = c(h || i, g)),
7201                            j.push(1 + h.x),
7202                            (k += 16),
7203                            !(Math.abs(h.x) > 1e-4 && Math.abs(h.v) > 1e-4))
7204                        )
7205                            break;
7206                    return f
7207                        ? function (a) {
7208                              return j[(a * (j.length - 1)) | 0];
7209                          }
7210                        : k;
7211                };
7212            })();
7213            (y.Easings = {
7214                linear: function (a) {
7215                    return a;
7216                },
7217                swing: function (a) {
7218                    return 0.5 - Math.cos(a * Math.PI) / 2;
7219                },
7220                spring: function (a) {
7221                    return 1 - Math.cos(4.5 * a * Math.PI) * Math.exp(6 * -a);
7222                }
7223            }),
7224                o.each(
7225                    [
7226                        ['ease', [0.25, 0.1, 0.25, 1]],
7227                        ['ease-in', [0.42, 0, 1, 1]],
7228                        ['ease-out', [0, 0, 0.58, 1]],
7229                        ['ease-in-out', [0.42, 0, 0.58, 1]],
7230                        ['easeInSine', [0.47, 0, 0.745, 0.715]],
7231                        ['easeOutSine', [0.39, 0.575, 0.565, 1]],
7232                        ['easeInOutSine', [0.445, 0.05, 0.55, 0.95]],
7233                        ['easeInQuad', [0.55, 0.085, 0.68, 0.53]],
7234                        ['easeOutQuad', [0.25, 0.46, 0.45, 0.94]],
7235                        ['easeInOutQuad', [0.455, 0.03, 0.515, 0.955]],
7236                        ['easeInCubic', [0.55, 0.055, 0.675, 0.19]],
7237                        ['easeOutCubic', [0.215, 0.61, 0.355, 1]],
7238                        ['easeInOutCubic', [0.645, 0.045, 0.355, 1]],
7239                        ['easeInQuart', [0.895, 0.03, 0.685, 0.22]],
7240                        ['easeOutQuart', [0.165, 0.84, 0.44, 1]],
7241                        ['easeInOutQuart', [0.77, 0, 0.175, 1]],
7242                        ['easeInQuint', [0.755, 0.05, 0.855, 0.06]],
7243                        ['easeOutQuint', [0.23, 1, 0.32, 1]],
7244                        ['easeInOutQuint', [0.86, 0, 0.07, 1]],
7245                        ['easeInExpo', [0.95, 0.05, 0.795, 0.035]],
7246                        ['easeOutExpo', [0.19, 1, 0.22, 1]],
7247                        ['easeInOutExpo', [1, 0, 0, 1]],
7248                        ['easeInCirc', [0.6, 0.04, 0.98, 0.335]],
7249                        ['easeOutCirc', [0.075, 0.82, 0.165, 1]],
7250                        ['easeInOutCirc', [0.785, 0.135, 0.15, 0.86]]
7251                    ],
7252                    function (a, b) {
7253                        y.Easings[b[0]] = k.apply(null, b[1]);
7254                    }
7255                );
7256            var A = (y.CSS = {
7257                RegEx: {
7258                    isHex: /^#([A-f\d]{3}){1,2}$/i,
7259                    valueUnwrap: /^[A-z]+\((.*)\)$/i,
7260                    wrappedValueAlreadyExtracted:
7261                        /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,
7262                    valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi
7263                },
7264                Lists: {
7265                    colors: [
7266                        'fill',
7267                        'stroke',
7268                        'stopColor',
7269                        'color',
7270                        'backgroundColor',
7271                        'borderColor',
7272                        'borderTopColor',
7273                        'borderRightColor',
7274                        'borderBottomColor',
7275                        'borderLeftColor',
7276                        'outlineColor'
7277                    ],
7278                    transformsBase: [
7279                        'translateX',
7280                        'translateY',
7281                        'scale',
7282                        'scaleX',
7283                        'scaleY',
7284                        'skewX',
7285                        'skewY',
7286                        'rotateZ'
7287                    ],
7288                    transforms3D: [
7289                        'transformPerspective',
7290                        'translateZ',
7291                        'scaleZ',
7292                        'rotateX',
7293                        'rotateY'
7294                    ],
7295                    units: [
7296                        '%',
7297                        'em',
7298                        'ex',
7299                        'ch',
7300                        'rem',
7301                        'vw',
7302                        'vh',
7303                        'vmin',
7304                        'vmax',
7305                        'cm',
7306                        'mm',
7307                        'Q',
7308                        'in',
7309                        'pc',
7310                        'pt',
7311                        'px',
7312                        'deg',
7313                        'grad',
7314                        'rad',
7315                        'turn',
7316                        's',
7317                        'ms'
7318                    ],
7319                    colorNames: {
7320                        aliceblue: '240,248,255',
7321                        antiquewhite: '250,235,215',
7322                        aquamarine: '127,255,212',
7323                        aqua: '0,255,255',
7324                        azure: '240,255,255',
7325                        beige: '245,245,220',
7326                        bisque: '255,228,196',
7327                        black: '0,0,0',
7328                        blanchedalmond: '255,235,205',
7329                        blueviolet: '138,43,226',
7330                        blue: '0,0,255',
7331                        brown: '165,42,42',
7332                        burlywood: '222,184,135',
7333                        cadetblue: '95,158,160',
7334                        chartreuse: '127,255,0',
7335                        chocolate: '210,105,30',
7336                        coral: '255,127,80',
7337                        cornflowerblue: '100,149,237',
7338                        cornsilk: '255,248,220',
7339                        crimson: '220,20,60',
7340                        cyan: '0,255,255',
7341                        darkblue: '0,0,139',
7342                        darkcyan: '0,139,139',
7343                        darkgoldenrod: '184,134,11',
7344                        darkgray: '169,169,169',
7345                        darkgrey: '169,169,169',
7346                        darkgreen: '0,100,0',
7347                        darkkhaki: '189,183,107',
7348                        darkmagenta: '139,0,139',
7349                        darkolivegreen: '85,107,47',
7350                        darkorange: '255,140,0',
7351                        darkorchid: '153,50,204',
7352                        darkred: '139,0,0',
7353                        darksalmon: '233,150,122',
7354                        darkseagreen: '143,188,143',
7355                        darkslateblue: '72,61,139',
7356                        darkslategray: '47,79,79',
7357                        darkturquoise: '0,206,209',
7358                        darkviolet: '148,0,211',
7359                        deeppink: '255,20,147',
7360                        deepskyblue: '0,191,255',
7361                        dimgray: '105,105,105',
7362                        dimgrey: '105,105,105',
7363                        dodgerblue: '30,144,255',
7364                        firebrick: '178,34,34',
7365                        floralwhite: '255,250,240',
7366                        forestgreen: '34,139,34',
7367                        fuchsia: '255,0,255',
7368                        gainsboro: '220,220,220',
7369                        ghostwhite: '248,248,255',
7370                        gold: '255,215,0',
7371                        goldenrod: '218,165,32',
7372                        gray: '128,128,128',
7373                        grey: '128,128,128',
7374                        greenyellow: '173,255,47',
7375                        green: '0,128,0',
7376                        honeydew: '240,255,240',
7377                        hotpink: '255,105,180',
7378                        indianred: '205,92,92',
7379                        indigo: '75,0,130',
7380                        ivory: '255,255,240',
7381                        khaki: '240,230,140',
7382                        lavenderblush: '255,240,245',
7383                        lavender: '230,230,250',
7384                        lawngreen: '124,252,0',
7385                        lemonchiffon: '255,250,205',
7386                        lightblue: '173,216,230',
7387                        lightcoral: '240,128,128',
7388                        lightcyan: '224,255,255',
7389                        lightgoldenrodyellow: '250,250,210',
7390                        lightgray: '211,211,211',
7391                        lightgrey: '211,211,211',
7392                        lightgreen: '144,238,144',
7393                        lightpink: '255,182,193',
7394                        lightsalmon: '255,160,122',
7395                        lightseagreen: '32,178,170',
7396                        lightskyblue: '135,206,250',
7397                        lightslategray: '119,136,153',
7398                        lightsteelblue: '176,196,222',
7399                        lightyellow: '255,255,224',
7400                        limegreen: '50,205,50',
7401                        lime: '0,255,0',
7402                        linen: '250,240,230',
7403                        magenta: '255,0,255',
7404                        maroon: '128,0,0',
7405                        mediumaquamarine: '102,205,170',
7406                        mediumblue: '0,0,205',
7407                        mediumorchid: '186,85,211',
7408                        mediumpurple: '147,112,219',
7409                        mediumseagreen: '60,179,113',
7410                        mediumslateblue: '123,104,238',
7411                        mediumspringgreen: '0,250,154',
7412                        mediumturquoise: '72,209,204',
7413                        mediumvioletred: '199,21,133',
7414                        midnightblue: '25,25,112',
7415                        mintcream: '245,255,250',
7416                        mistyrose: '255,228,225',
7417                        moccasin: '255,228,181',
7418                        navajowhite: '255,222,173',
7419                        navy: '0,0,128',
7420                        oldlace: '253,245,230',
7421                        olivedrab: '107,142,35',
7422                        olive: '128,128,0',
7423                        orangered: '255,69,0',
7424                        orange: '255,165,0',
7425                        orchid: '218,112,214',
7426                        palegoldenrod: '238,232,170',
7427                        palegreen: '152,251,152',
7428                        paleturquoise: '175,238,238',
7429                        palevioletred: '219,112,147',
7430                        papayawhip: '255,239,213',
7431                        peachpuff: '255,218,185',
7432                        peru: '205,133,63',
7433                        pink: '255,192,203',
7434                        plum: '221,160,221',
7435                        powderblue: '176,224,230',
7436                        purple: '128,0,128',
7437                        red: '255,0,0',
7438                        rosybrown: '188,143,143',
7439                        royalblue: '65,105,225',
7440                        saddlebrown: '139,69,19',
7441                        salmon: '250,128,114',
7442                        sandybrown: '244,164,96',
7443                        seagreen: '46,139,87',
7444                        seashell: '255,245,238',
7445                        sienna: '160,82,45',
7446                        silver: '192,192,192',
7447                        skyblue: '135,206,235',
7448                        slateblue: '106,90,205',
7449                        slategray: '112,128,144',
7450                        snow: '255,250,250',
7451                        springgreen: '0,255,127',
7452                        steelblue: '70,130,180',
7453                        tan: '210,180,140',
7454                        teal: '0,128,128',
7455                        thistle: '216,191,216',
7456                        tomato: '255,99,71',
7457                        turquoise: '64,224,208',
7458                        violet: '238,130,238',
7459                        wheat: '245,222,179',
7460                        whitesmoke: '245,245,245',
7461                        white: '255,255,255',
7462                        yellowgreen: '154,205,50',
7463                        yellow: '255,255,0'
7464                    }
7465                },
7466                Hooks: {
7467                    templates: {
7468                        textShadow: ['Color X Y Blur', 'black 0px 0px 0px'],
7469                        boxShadow: [
7470                            'Color X Y Blur Spread',
7471                            'black 0px 0px 0px 0px'
7472                        ],
7473                        clip: ['Top Right Bottom Left', '0px 0px 0px 0px'],
7474                        backgroundPosition: ['X Y', '0% 0%'],
7475                        transformOrigin: ['X Y Z', '50% 50% 0px'],
7476                        perspectiveOrigin: ['X Y', '50% 50%']
7477                    },
7478                    registered: {},
7479                    register: function () {
7480                        for (var a = 0; a < A.Lists.colors.length; a++) {
7481                            var b =
7482                                'color' === A.Lists.colors[a]
7483                                    ? '0 0 0 1'
7484                                    : '255 255 255 1';
7485                            A.Hooks.templates[A.Lists.colors[a]] = [
7486                                'Red Green Blue Alpha',
7487                                b
7488                            ];
7489                        }
7490                        var c, d, e;
7491                        if (p)
7492                            for (c in A.Hooks.templates)
7493                                if (A.Hooks.templates.hasOwnProperty(c)) {
7494                                    (d = A.Hooks.templates[c]),
7495                                        (e = d[0].split(' '));
7496                                    var f = d[1].match(A.RegEx.valueSplit);
7497                                    'Color' === e[0] &&
7498                                        (e.push(e.shift()),
7499                                        f.push(f.shift()),
7500                                        (A.Hooks.templates[c] = [
7501                                            e.join(' '),
7502                                            f.join(' ')
7503                                        ]));
7504                                }
7505                        for (c in A.Hooks.templates)
7506                            if (A.Hooks.templates.hasOwnProperty(c)) {
7507                                (d = A.Hooks.templates[c]),
7508                                    (e = d[0].split(' '));
7509                                for (var g in e)
7510                                    if (e.hasOwnProperty(g)) {
7511                                        var h = c + e[g],
7512                                            i = g;
7513                                        A.Hooks.registered[h] = [c, i];
7514                                    }
7515                            }
7516                    },
7517                    getRoot: function (a) {
7518                        var b = A.Hooks.registered[a];
7519                        return b ? b[0] : a;
7520                    },
7521                    getUnit: function (a, b) {
7522                        var c =
7523                            (a.substr(b || 0, 5).match(/^[a-z%]+/) || [])[0] ||
7524                            '';
7525                        return c && t(A.Lists.units, c) ? c : '';
7526                    },
7527                    fixColors: function (a) {
7528                        return a.replace(
7529                            /(rgba?\(\s*)?(\b[a-z]+\b)/g,
7530                            function (a, b, c) {
7531                                return A.Lists.colorNames.hasOwnProperty(c)
7532                                    ? (b || 'rgba(') +
7533                                          A.Lists.colorNames[c] +
7534                                          (b ? '' : ',1)')
7535                                    : b + c;
7536                            }
7537                        );
7538                    },
7539                    cleanRootPropertyValue: function (a, b) {
7540                        return (
7541                            A.RegEx.valueUnwrap.test(b) &&
7542                                (b = b.match(A.RegEx.valueUnwrap
7542)[1]),
7543                            A.Values.isCSSNullValue(b) &&
7544                                (b = A.Hooks.templates[a][1]),
7545                            b
7546                        );
7547                    },
7548                    extractValue: function (a, b) {
7549                        var c = A.Hooks.registered[a];
7550                        if (c) {
7551                            var d = c[0],
7552                                e = c[1];
7553                            return (
7554                                (b = A.Hooks.cleanRootPropertyValue(d, b)),
7555                                b.toString().match(A.RegEx.valueSplit)[e]
7556                            );
7557                        }
7558                        return b;
7559                    },
7560                    injectValue: function (a, b, c) {
7561                        var d = A.Hooks.registered[a];
7562                        if (d) {
7563                            var e,
7564                                f = d[0],
7565                                g = d[1];
7566                            return (
7567                                (c = A.Hooks.cleanRootPropertyValue(f, c)),
7568                                (e = c.toString().match(A.RegEx.valueSplit)),
7569                                (e[g] = b),
7570                                e.join(' ')
7571                            );
7572                        }
7573                        return c;
7574                    }
7575                },
7576                Normalizations: {
7577                    registered: {
7578                        clip: function (a, b, c) {
7579                            switch (a) {
7580                                case 'name':
7581                                    return 'clip';
7582                                case 'extract':
7583                                    var d;
7584                                    return (
7585                                        A.RegEx.wrappedValueAlreadyExtracted.test(
7586                                            c
7587                                        )
7588                                            ? (d = c)
7589                                            : ((d = c
7590                                                  .toString()
7591                                                  .match(A.RegEx.valueUnwrap)),
7592                                              (d = d
7593                                                  ? d[1].replace(
7594                                                        /,(\s+)?/g,
7595                                                        ' '
7596                                                    )
7597                                                  : c)),
7598                                        d
7599                                    );
7600                                case 'inject':
7601                                    return 'rect(' + c + ')';
7602                            }
7603                        },
7604                        blur: function (a, b, c) {
7605                            switch (a) {
7606                                case 'name':
7607                                    return y.State.isFirefox
7608                                        ? 'filter'
7609                                        : '-webkit-filter';
7610                                case 'extract':
7611                                    var d = parseFloat(c);
7612                                    if (!d && 0 !== d) {
7613                                        var e = c
7614                                            .toString()
7615                                            .match(/blur\(([0-9]+[A-z]+)\)/i);
7616                                        d = e ? e[1] : 0;
7617                                    }
7618                                    return d;
7619                                case 'inject':
7620                                    return parseFloat(c)
7621                                        ? 'blur(' + c + ')'
7622                                        : 'none';
7623                            }
7624                        },
7625                        opacity: function (a, b, c) {
7626                            if (p <= 8)
7627                                switch (a) {
7628                                    case 'name':
7629                                        return 'filter';
7630                                    case 'extract':
7631                                        var d = c
7632                                            .toString()
7633                                            .match(/alpha\(opacity=(.*)\)/i);
7634                                        return (c = d ? d[1] / 100 : 1);
7635                                    case 'inject':
7636                                        return (
7637                                            (b.style.zoom = 1),
7638                                            parseFloat(c) >= 1
7639                                                ? ''
7640                                                : 'alpha(opacity=' +
7641                                                  parseInt(
7642                                                      100 * parseFloat(c),
7643                                                      10
7644                                                  ) +
7645                                                  ')'
7646                                        );
7647                                }
7648                            else
7649                                switch (a) {
7650                                    case 'name':
7651                                        return 'opacity';
7652                                    case 'extract':
7653                                    case 'inject':
7654                                        return c;
7655                                }
7656                        }
7657                    },
7658                    register: function () {
7659                        function a(a, b, c) {
7660                            if (
7661                                ('border-box' ===
7662                                    A.getPropertyValue(b, 'boxSizing')
7663                                        .toString()
7664                                        .toLowerCase()) ===
7665                                (c || !1)
7666                            ) {
7667                                var d,
7668                                    e,
7669                                    f = 0,
7670                                    g =
7671                                        'width' === a
7672                                            ? ['Left', 'Right']
7673                                            : ['Top', 'Bottom'],
7674                                    h = [
7675                                        'padding' + g[0],
7676                                        'padding' + g[1],
7677                                        'border' + g[0] + 'Width',
7678                                        'border' + g[1] + 'Width'
7679                                    ];
7680                                for (d = 0; d < h.length; d++)
7681                                    (e = parseFloat(
7682                                        A.getPropertyValue(b, h[d])
7683                                    )),
7684                                        isNaN(e) || (f += e);
7685                                return c ? -f : f;
7686                            }
7687                            return 0;
7688                        }
7689                        function b(b, c) {
7690                            return function (d, e, f) {
7691                                switch (d) {
7692                                    case 'name':
7693                                        return b;
7694                                    case 'extract':
7695                                        return parseFloat(f) + a(b, e, c);
7696                                    case 'inject':
7697                                        return (
7698                                            parseFloat(f) - a(b, e, c) + 'px'
7699                                        );
7700                                }
7701                            };
7702                        }
7703                        (p && !(p > 9)) ||
7704                            y.State.isGingerbread ||
7705                            (A.Lists.transformsBase =
7706                                A.Lists.transformsBase.concat(
7707                                    A.Lists.transforms3D
7708                                ));
7709                        for (var c = 0; c < A.Lists.transformsBase.length; c++)
7710                            !(function () {
7711                                var a = A.Lists.transformsBase[c];
7712                                A.Normalizations.registered[a] = function (
7713                                    b,
7714                                    c,
7715                                    e
7716                                ) {
7717                                    switch (b) {
7718                                        case 'name':
7719                                            return 'transform';
7720                                        case 'extract':
7721                                            return g(c) === d ||
7722                                                g(c).transformCache[a] === d
7723                                                ? /^scale/i.test(a)
7724                                                    ? 1
7725                                                    : 0
7726                                                : g(c).transformCache[
7727                                                      a
7728                                                  ].replace(/[()]/g, '');
7729                                        case 'inject':
7730                                            var f = !1;
7731                                            switch (a.substr(0, a.length - 1)) {
7732                                                case 'translate':
7733                                                    f =
7734                                                        !/(%|px|em|rem|vw|vh|\d)$/i.test(
7735                                                            e
7736                                                        );
7737                                                    break;
7738                                                case 'scal':
7739                                                case 'scale':
7740                                                    y.State.isAndroid &&
7741                                                        g(c).transformCache[
7742                                                            a
7743                                                        ] === d &&
7744                                                        e < 1 &&
7745                                                        (e = 1),
7746                                                        (f = !/(\d)$/i.test(e));
7747                                                    break;
7748                                                case 'skew':
7749                                                case 'rotate':
7750                                                    f = !/(deg|\d)$/i.test(e);
7751                                            }
7752                                            return (
7753                                                f ||
7754                                                    (g(c).transformCache[a] =
7755                                                        '(' + e + ')'),
7756                                                g(c).transformCache[a]
7757                                            );
7758                                    }
7759                                };
7760                            })();
7761                        for (var e = 0; e < A.Lists.colors.length; e++)
7762                            !(function () {
7763                                var a = A.Lists.colors[e];
7764                                A.Normalizations.registered[a] = function (
7765                                    b,
7766                                    c,
7767                                    e
7768                                ) {
7769                                    switch (b) {
7770                                        case 'name':
7771                                            return a;
7772                                        case 'extract':
7773                                            var f;
7774                                            if (
7775                                                A.RegEx.wrappedValueAlreadyExtracted.test(
7776                                                    e
7777                                                )
7778                                            )
7779                                                f = e;
7780                                            else {
7781                                                var g,
7782                                                    h = {
7783                                                        black: 'rgb(0, 0, 0)',
7784                                                        blue: 'rgb(0, 0, 255)',
7785                                                        gray: 'rgb(128, 128, 128)',
7786                                                        green: 'rgb(0, 128, 0)',
7787                                                        red: 'rgb(255, 0, 0)',
7788                                                        white: 'rgb(255, 255, 255)'
7789                                                    };
7790                                                /^[A-z]+$/i.test(e)
7791                                                    ? (g =
7792                                                          h[e] !== d
7793                                                              ? h[e]
7794                                                              : h.black)
7795                                                    : A.RegEx.isHex.test(e)
7796                                                    ? (g =
7797                                                          'rgb(' +
7798                                                          A.Values.hexToRgb(
7799                                                              e
7800                                                          ).join(' ') +
7801                                                          ')')
7802                                                    : /^rgba?\(/i.test(e) ||
7803                                                      (g = h.black),
7804                                                    (f = (g || e)
7805                                                        .toString()
7806                                                        .match(
7807                                                            A.RegEx.valueUnwrap
7808                                                        )[1]
7809                                                        .replace(
7810                                                            /,(\s+)?/g,
7811                                                            ' '
7812                                                        ));
7813                                            }
7814                                            return (
7815                                                (!p || p > 8) &&
7816                                                    3 === f.split(' ').length &&
7817                                                    (f += ' 1'),
7818                                                f
7819                                            );
7820                                        case 'inject':
7821                                            return /^rgb/.test(e)
7822                                                ? e
7823                                                : (p <= 8
7824                                                      ? 4 ===
7825                                                            e.split(' ')
7826                                                                .length &&
7827                                                        (e = e
7828                                                            .split(/\s+/)
7829                                                            .slice(0, 3)
7830                                                            .join(' '))
7831                                                      : 3 ===
7832                                                            e.split(' ')
7833                                                                .length &&
7834                                                        (e += ' 1'),
7835                                                  (p <= 8 ? 'rgb' : 'rgba') +
7836                                                      '(' +
7837                                                      e
7838                                                          .replace(/\s+/g, ',')
7839                                                          .replace(
7840                                                              /\.(\d)+(?=,)/g,
7841      
7841                                                        ''
7842                                                          ) +
7843                                                      ')');
7844                                    }
7845                                };
7846                            })();
7847                        (A.Normalizations.registered.innerWidth = b(
7848                            'width',
7849                            !0
7850                        )),
7851                            (A.Normalizations.registered.innerHeight = b(
7852                                'height',
7853                                !0
7854                            )),
7855                            (A.Normalizations.registered.outerWidth =
7856                                b('width')),
7857                            (A.Normalizations.registered.outerHeight =
7858                                b('height'));
7859                    }
7860                },
7861                Names: {
7862                    camelCase: function (a) {
7863                        return a.replace(/-(\w)/g, function (a, b) {
7864                            return b.toUpperCase();
7865                        });
7866                    },
7867                    SVGAttribute: function (a) {
7868                        var b = 'width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2';
7869                        return (
7870                            (p || (y.State.isAndroid && !y.State.isChrome)) &&
7871                                (b += '|transform'),
7872                            new RegExp('^(' + b + ')$', 'i').test(a)
7873                        );
7874                    },
7875                    prefixCheck: function (a) {
7876                        if (y.State.prefixMatches[a])
7877                            return [y.State.prefixMatches[a], !0];
7878                        for (
7879                            var b = ['', 'Webkit', 'Moz', 'ms', 'O'],
7880                                c = 0,
7881                                d = b.length;
7882                            c < d;
7883                            c++
7884                        ) {
7885                            var e;
7886                            if (
7887                                ((e =
7888                                    0 === c
7889                                        ? a
7890                                        : b[c] +
7891                                          a.replace(/^\w/, function (a) {
7892                                              return a.toUpperCase();
7893                                          })),
7894                                u.isString(y.State.prefixElement.style[e]))
7895                            )
7896                                return (y.State.prefixMatches[a] = e), [e, !0];
7897                        }
7898                        return [a, !1];
7899                    }
7900                },
7901                Values: {
7902                    hexToRgb: function (a) {
7903                        var b,
7904                            c = /^#?([a-f\d])([a-f\d])([a-f\d])$/i,
7905                            d = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;
7906                        return (
7907                            (a = a.replace(c, function (a, b, c, d) {
7908                                return b + b + c + c + d + d;
7909                            })),
7910                            (b = d.exec(a)),
7911                            b
7912                                ? [
7913                                      parseInt(b[1], 16),
7914                                      parseInt(b[2], 16),
7915                                      parseInt(b[3], 16)
7916                                  ]
7917                                : [0, 0, 0]
7918                        );
7919                    },
7920                    isCSSNullValue: function (a) {
7921                        return (
7922                            !a ||
7923                            /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(
7924                                a
7925                            )
7926                        );
7927                    },
7928                    getUnitType: function (a) {
7929                        return /^(rotate|skew)/i.test(a)
7930                            ? 'deg'
7931                            : /(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(
7932                                  a
7933                              )
7934                            ? ''
7935                            : 'px';
7936                    },
7937                    getDisplayType: function (a) {
7938                        var b = a && a.tagName.toString().toLowerCase();
7939                        return /^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(
7940                            b
7941                        )
7942                            ? 'inline'
7943                            : /^(li)$/i.test(b)
7944                            ? 'list-item'
7945                            : /^(tr)$/i.test(b)
7946                            ? 'table-row'
7947                            : /^(table)$/i.test(b)
7948                            ? 'table'
7949                            : /^(tbody)$/i.test(b)
7950                            ? 'table-row-group'
7951                            : 'block';
7952                    },
7953                    addClass: function (a, b) {
7954                        if (a)
7955                            if (a.classList) a.classList.add(b);
7956                            else if (u.isString(a.className))
7957                                a.className +=
7958                                    (a.className.length ? ' ' : '') + b;
7959                            else {
7960                                var c =
7961                                    a.getAttribute(
7962                                        p <= 7 ? 'className' : 'class'
7963                                    ) || '';
7964                                a.setAttribute('class', c + (c ? ' ' : '') + b);
7965                            }
7966                    },
7967                    removeClass: function (a, b) {
7968                        if (a)
7969                            if (a.classList) a.classList.remove(b);
7970                            else if (u.isString(a.className))
7971                                a.className = a.className
7972                                    .toString()
7973                                    .replace(
7974                                        new RegExp(
7975                                            '(^|\\s)' +
7976                                                b.split(' ').join('|') +
7977                                                '(\\s|$)',
7978                                            'gi'
7979                                        ),
7980                                        ' '
7981                                    );
7982                            else {
7983                                var c =
7984                                    a.getAttribute(
7985                                        p <= 7 ? 'className' : 'class'
7986                                    ) || '';
7987                                a.setAttribute(
7988                                    'class',
7989                                    c.replace(
7990                                        new RegExp(
7991                                            '(^|s)' +
7992                                                b.split(' ').join('|') +
7993                                                '(s|$)',
7994                                            'gi'
7995                                        ),
7996                                        ' '
7997                                    )
7998                                );
7999                            }
8000                    }
8001                },
8002                getPropertyValue: function (a, c, e, f) {
8003                    function h(a, c) {
8004                        var e = 0;
8005                        if (p <= 8) e = o.css(a, c);
8006                        else {
8007                            var i = !1;
8008                            /^(width|height)$/.test(c) &&
8009                                0 === A.getPropertyValue(a, 'display') &&
8010                                ((i = !0),
8011                                A.setPropertyValue(
8012                                    a,
8013                                    'display',
8014                                    A.Values.getDisplayType(a)
8015                                ));
8016                            var j = function () {
8017                                i && A.setPropertyValue(a, 'display', 'none');
8018                            };
8019                            if (!f) {
8020                                if (
8021                                    'height' === c &&
8022                                    'border-box' !==
8023                                        A.getPropertyValue(a, 'boxSizing')
8024                                            .toString()
8025                                            .toLowerCase()
8026                                ) {
8027                                    var k =
8028                                        a.offsetHeight -
8029                                        (parseFloat(
8030                                            A.getPropertyValue(
8031                                                a,
8032                                                'borderTopWidth'
8033                                            )
8034                                        ) || 0) -
8035                                        (parseFloat(
8036                                            A.getPropertyValue(
8037                                                a,
8038                                                'borderBottomWidth'
8039                                            )
8040                                        ) || 0) -
8041                                        (parseFloat(
8042                                            A.getPropertyValue(a, 'paddingTop')
8043                                        ) || 0) -
8044                                        (parseFloat(
8045                                            A.getPropertyValue(
8046                                                a,
8047                                                'paddingBottom'
8048                                            )
8049                                        ) || 0);
8050                                    return j(), k;
8051                                }
8052                                if (
8053                                    'width' === c &&
8054                                    'border-box' !==
8055                                        A.getPropertyValue(a, 'boxSizing')
8056                                            .toString()
8057                                            .toLowerCase()
8058                                ) {
8059                                    var l =
8060                                        a.offsetWidth -
8061                                        (parseFloat(
8062                                            A.getPropertyValue(
8063                                                a,
8064                                                'borderLeftWidth'
8065                                            )
8066                                        ) || 0) -
8067                                        (parseFloat(
8068                                            A.getPropertyValue(
8069                                                a,
8070                                                'borderRightWidth'
8071                                            )
8072                                        ) || 0) -
8073                                        (parseFloat(
8074                                            A.getPropertyValue(a, 'paddingLeft')
8075                                        ) || 0) -
8076                                        (parseFloat(
8077                                            A.getPropertyValue(
8078                                                a,
8079                                                'paddingRight'
8080                                            )
8081                                        ) || 0);
8082                                    return j(), l;
8083                                }
8084                            }
8085                            var m;
8086                            (m =
8087                                g(a) === d
8088                                    ? b.getComputedStyle(a, null)
8089                                    : g(a).computedStyle
8090                                    ? g(a).computedStyle
8091                                    : (g(a).computedStyle = b.getComputedStyle(
8092                                          a,
8093                                          null
8094                                      ))),
8095                                'borderColor' === c && (c = 'borderTopColor'),
8096                                (e =
8097                                    9 === p && 'filter' === c
8098                                        ? m.getPropertyValue(c)
8099                                        : m[c]),
8100                                ('' !== e && null !== e) || (e = a.style[c]),
8101                                j();
8102                        }
8103                        if (
8104                            'auto' === e &&
8105                            /^(top|right|bottom|left)$/i.test(c)
8106                        ) {
8107                            var n = h(a, 'position');
8108                            ('fixed' === n ||
8109                                ('absolute' === n && /top|left/i.test(c))) &&
8110                                (e = o(a).position()[c] + 'px');
8111                        }
8112                        return e;
8113                    }
8114                    var i;
8115                    if (A.Hooks.registered[c]) {
8116                        var j = c,
8117                            k = A.Hooks.getRoot(j);
8118                        e === d &&
8119                            (e = A.getPropertyValue(
8120                                a,
8121                                A.Names.prefixCheck(k)[0]
8122                            )),
8123                            A.Normalizations.registered[k] &&
8124                                (e = A.Normalizations.registered[k](
8125                                    'extract',
8126                                    a,
8127                                    e
8128                                )),
8129                            (i = A.Hooks.extractValue(j, e));
8130                    } else if (A.Normalizations.registered[c]) {
8131                        var l, m;
8132                        (l = A.Normalizations.registered[c]('name', a)),
8133                            'transform' !== l &&
8134                                ((m = h(a, A.Names.prefixCheck(l)[0])),
8135                                A.Values.isCSSNullValue(m) &&
8136                                    A.Hooks.templates[c] &&
8137                                    (m = A.Hooks.templates[c][1])),
8138                            (i = A.Normalizations.registered[c](
8139                                'extract',
8140                                a,
8141                                m
8142                            ));
8143                    }
8144                    if (!/^[\d-]/.test(i)) {
8145                        var n = g(a);
8146                        if (n && n.isSVG && A.Names.SVGAttribute(c))
8147                            if (/^(height|width)$/i.test(c))
8148                                try {
8149                                    i = a.getBBox()[c];
8150                                } catch (q) {
8151                                    i = 0;
8152                                }
8153                            else i = a.getAttribute(c);
8154                        else i = h(a, A.Names.prefixCheck(c)[0]);
8155                    }
8156                    return (
8157                        A.Values.isCSSNullValue(i) && (i = 0),
8158                        y.debug >= 2 && console.log('Get ' + c + ': ' + i),
8159                        i
8160                    );
8161                },
8162                setPropertyValue: function (a, c, d, e, f) {
8163                    var h = c;
8164                    if ('scroll' === c)
8165                        f.container
8166                            ? (f.container['scroll' + f.direction] = d)
8167                            : 'Left' === f.direction
8168                            ? b.scrollTo(d, f.alternateValue)
8169                            : b.scrollTo(f.alternateValue, d);
8170                    else if (
8171                        A.Normalizations.registered[c] &&
8172                        'transform' ===
8173                            A.Normalizations.registered[c]('name', a)
8174                    )
8175                        A.Normalizations.registered[c]('inject', a, d),
8176                            (h = 'transform'),
8177                            (d = g(a).transformCache[c]);
8178                    else {
8179                        if (A.Hooks.registered[c]) {
8180                            var i = c,
8181                                j = A.Hooks.getRoot(c);
8182                            (e = e || A.getPropertyValue(a, j)),
8183                                (d = A.Hooks.injectValue(i, d, e)),
8184                                (c = j);
8185                        }
8186                        if (
8187                            (A.Normalizations.registered[c] &&
8188                                ((d = A.Normalizations.registered[c](
8189                                    'inject',
8190                                    a,
8191                                    d
8192                                )),
8193                                (c = A.Normalizations.registered[c](
8194                                    'name',
8195                                    a
8196                                ))),
8197                            (h = A.Names.prefixCheck(c)[0]),
8198                            p <= 8)
8199                        )
8200                            try {
8201                                a.style[h] = d;
8202                            } catch (l) {
8203                                y.debug &&
8204                                    console.log(
8205                                        'Browser does not support [' +
8206                                            d +
8207                                            '] for [' +
8208                                            h +
8209                                            ']'
8210                                    );
8211                            }
8212                        else {
8213                            var k = g(a);
8214                            k && k.isSVG && A.Names.SVGAttribute(c)
8215                                ? a.setAttribute(c, d)
8216                                : (a.style[h] = d);
8217                        }
8218                        y.debug >= 2 &&
8219                            console.log('Set ' + c + ' (' + h + '): ' + d);
8220                    }
8221                    return [h, d];
8222                },
8223                flushTransformCache: function (a) {
8224                    var b = '',
8225                        c = g(a);
8226                    if (
8227                        (p || (y.State.isAndroid && !y.State.isChrome)) &&
8228                        c &&
8229                        c.isSVG
8230                    ) {
8231                        var d = function (b) {
8232                                return parseFloat(A.getPropertyValue(a, b));
8233                            },
8234                            e = {
8235                                translate: [d('translateX'), d('translateY')],
8236                                skewX: [d('skewX')],
8237                                skewY: [d('skewY')],
8238                                scale:
8239                                    1 !== d('scale')
8240                                        ? [d('scale'), d('scale')]
8241                                        : [d('scaleX'), d('scaleY')],
8242                                rotate: [d('rotateZ'), 0, 0]
8243                            };
8244                        o.each(g(a).transformCache, function (a) {
8245                            /^translate/i.test(a)
8246                                ? (a = 'translate')
8247                                : /^scale/i.test(a)
8248                                ? (a = 'scale')
8249                                : /^rotate/i.test(a) && (a = 'rotate'),
8250                                e[a] &&
8251                                    ((b += a + '(' + e[a].join(' ') + ') '),
8252                                    delete e[a]);
8253                        });
8254                    } else {
8255                        var f, h;
8256                        o.each(g(a).transformCache, function (c) {
8257                            if (
8258                                ((f = g(a).transformCache[c]),
8259                                'transformPerspective' === c)
8260                            )
8261                                return (h = f), !0;
8262                            9 === p && 'rotateZ' === c && (c = 'rotate'),
8263                                (b += c + f + ' ');
8264                        }),
8265                            h && (b = 'perspective' + h + ' ' + b);
8266                    }
8267                    A.setPropertyValue(a, 'transform', b);
8268                }
8269            });
8270            A.Hooks.register(),
8271                A.Normalizations.register(),
8272                (y.hook = function (a, b, c) {
8273                    var e;
8274                    return (
8275                        (a = f(a)),
8276                        o.each(a, function (a, f) {
8277                            if ((g(f) === d && y.init(f), c === d))
8278                                e === d && (e = A.getPropertyValue(f, b));
8279                            else {
8280                                var h = A.setPropertyValue(f, b, c);
8281                                'transform' === h[0] &&
8282                                    y.CSS.flushTransformCache(f),
8283                                    (e = h);
8284                            }
8285                        }),
8286                        e
8287                    );
8288                });
8289            var B = function () {
8290                function a() {
8291                    return k ? z.promise || null : p;
8292                }
8293                function e(a, e) {
8294                    function f(f) {
8295                        var k, n;
8296                        if (i.begin && 0 === D)
8297                            try {
8298                                i.begin.call(r, r);
8299                            } catch (V) {
8300                                setTimeout(function () {
8301                                    throw V;
8302                                }, 1);
8303                            }
8304                        if ('scroll' === G) {
8305                            var p,
8306                                q,
8307                                w,
8308                                x = /^x$/i.test(i.axis) ? 'Left' : 'Top',
8309                                B = parseFloat(i.offset) || 0;
8310                            i.container
8311                                ? u.isWrapped(i.container) ||
8312                                  u.isNode(i.container)
8313                                    ? ((i.container =
8314                                          i.container[0] || i.container),
8315                                      (p = i.container['scroll' + x]),
8316                                      (w =
8317                                          p +
8318                                          o(a).position()[x.toLowerCase()] +
8319                                          B))
8320                                    : (i.container = null)
8321                                : ((p =
8322                                      y.State.scrollAnchor[
8323                                          y.State['scrollProperty' + x]
8324                                      ]),
8325                                  (q =
8326                                      y.State.scrollAnchor[
8327                                          y.State[
8328                                              'scrollProperty' +
8329                                                  ('Left' === x
8330                                                      ? 'Top'
8331                                                      : 'Left')
8332                                          ]
8333                                      ]),
8334                                  (w = o(a).offset()[x.toLowerCase()] + B)),
8335                                (j = {
8336                                    scroll: {
8337                                        rootPropertyValue: !1,
8338                                        startValue: p,
8339                                        currentValue: p,
8340                                        endValue: w,
8341                                        unitType: '',
8342                                        easing: i.easing,
8343                                        scrollData: {
8344                                            container: i.container,
8345                                            direction: x,
8346                                            alternateValue: q
8347                                        }
8348                                    },
8349                                    element: a
8350                                }),
8351                                y.debug &&
8352                                    console.log(
8353                                        'tweensContainer (scroll): ',
8354                                        j.scroll,
8355                                        a
8356                                    );
8357                        } else if ('reverse' === G) {
8358                            if (!(k = g(a))) return;
8359                            if (!k.tweensContainer)
8360                                return void o.dequeue(a, i.queue);
8361                            'none' === k.opts.display &&
8362                                (k.opts.display = 'auto'),
8363                                'hidden' === k.opts.visibility &&
8364                                    (k.opts.visibility = 'visible'),
8365                                (k.opts.loop = !1),
8366                                (k.opts.begin = null),
8367                                (k.opts.complete = null),
8368                                v.easing || delete i.easing,
8369                                v.duration || delete i.duration,
8370                                (i = o.extend({}, k.opts, i)),
8371                                (n = o.extend(
8372                                    !0,
8373                                    {},
8374                                    k ? k.tweensContainer : null
8375                                ));
8376                            for (var E in n)
8377                                if (n.hasOwnProperty(E) && 'element' !== E) {
8378                                    var F = n[E].startValue;
8379                                    (n[E].startValue = n[E].currentValue =
8380                                        n[E].endValue),
8381                                        (n[E].endValue = F),
8382                                        u.isEmptyObject(v) ||
8383                                            (n[E].easing = i.easing),
8384                                        y.debug &&
8385                                            console.log(
8386                                                'reverse tweensContainer (' +
8387                                                    E +
8388                                                    '): ' +
8389                                                    JSON.stringify(n[E]),
8390                                                a
8391                                            );
8392                                }
8393                            j = n;
8394                        } else if ('start' === G) {
8395                            (k = g(a)),
8396                                k &&
8397                                    k.tweensContainer &&
8398                                    !0 === k.isAnimating &&
8399                                    (n = k.tweensContainer);
8400                            var H = function (e, f) {
8401                                var g,
8402                                    l = A.Hooks.getRoot(e),
8403                                    m = !1,
8404                                    p = f[0],
8405                                    q = f[1],
8406                                    r = f[2];
8407                                if (
8408                                    !(
8409                                        (k && k.isSVG) ||
8410                                        'tween' === l ||
8411                                        !1 !== A.Names.prefixCheck(l)[1] ||
8412                                        A.Normalizations.registered[l] !== d
8413                                    )
8414                                )
8415                                    return void (
8416                                        y.debug &&
8417                                        console.log(
8418                                            'Skipping [' +
8419                                                l +
8420                                                '] due to a lack of browser support.'
8421                                        )
8422                                    );
8423                                ((i.display !== d &&
8424                                    null !== i.display &&
8425                                    'none' !== i.display) ||
8426                                    (i.visibility !== d &&
8427                                        'hidden' !== i.visibility)) &&
8428                                    /opacity|filter/.test(e) &&
8429                                    !r &&
8430                                    0 !== p &&
8431                                    (r = 0),
8432                                    i._cacheValues && n && n[e]
8433                                        ? (r === d &&
8434                                              (r =
8435                                                  n[e].endValue +
8436                                                  n[e].unitType),
8437                                          (m = k.rootPropertyValueCache[l]))
8438                                        : A.Hooks.registered[e]
8439                                        ? r === d
8440                                            ? ((m = A.getPropertyValue(a, l)),
8441                                              (r = A.getPropertyValue(a, e, m)))
8442                                            : (m = A.Hooks.templates[l][1])
8443                                        : r === d &&
8444                                          (r = A.getPropertyValue(a, e));
8445                                var s,
8446                                    t,
8447                                    v,
8448                                    w = !1,
8449                                    x = function (a, b) {
8450                                        var c, d;
8451                                        return (
8452                                            (d = (b || '0')
8453                                                .toString()
8454                                                .toLowerCase()
8455                                                .replace(
8456                                                    /[%A-z]+$/,
8457                                                    function (a) {
8458                                                        return (c = a), '';
8459                                                    }
8460                                                )),
8461                                            c || (c = A.Values.getUnitType(a)),
8462                                            [d, c]
8463                                        );
8464                                    };
8465                                if (r !== p && u.isString(r) && u.isString(p)) {
8466                                    g = '';
8467                                    var z = 0,
8468                                        B = 0,
8469                                        C = [],
8470                                        D = [],
8471                                        E = 0,
8472                                        F = 0,
8473                                        G = 0;
8474                                    for (
8475                                        r = A.Hooks.fixColors(r),
8476                                            p = A.Hooks.fixColors(p);
8477                                        z < r.length && B < p.length;
8478
8479                                    ) {
8480                                        var H = r[z],
8481                                            I = p[B];
8482                                        if (
8483                                            /[\d\.-]/.test(H) &&
8484                                            /[\d\.-]/.test(I)
8485                                        ) {
8486                                            for (
8487                                                var J = H,
8488                                                    K = I,
8489                                                    L = '.',
8490                                                    N = '.';
8491                                                ++z < r.length;
8492
8493                                            ) {
8494                                                if ((H = r[z]) === L) L = '..';
8495                                                else if (!/\d/.test(H)) break;
8496                                                J += H;
8497                                            }
8498                                            for (; ++B < p.length; ) {
8499                                                if ((I = p[B]) === N) N = '..';
8500                                                else if (!/\d/.test(I)) break;
8501                                                K += I;
8502                                            }
8503                                            var O = A.Hooks.getUnit(r, z),
8504                                                P = A.Hooks.getUnit(p, B);
8505                                            if (
8506                                                ((z += O.length),
8507                                                (B += P.length),
8508                                                O === P)
8509                                            )
8510                                                J === K
8511                                                    ? (g += J + O)
8512                                                    : ((g +=
8513                                                          '{' +
8514                                                          C.length +
8515                                                          (F ? '!' : '') +
8516                                                          '}' +
8517                                                          O),
8518                                                      C.push(parseFloat(J)),
8519                                                      D.push(parseFloat(K)));
8520                                            else {
8521                                                var Q = parseFloat(J),
8522                                                    R = parseFloat(K);
8523                                                (g +=
8524                                                    (E < 5 ? 'calc' : '') +
8525                                                    '(' +
8526                                                    (Q
8527                                                        ? '{' +
8528                                                          C.length +
8529                                                          (F ? '!' : '') +
8530                                                          '}'
8531                                                        : '0') +
8532                                                    O +
8533                                                    ' + ' +
8534                                                    (R
8535                                                        ? '{' +
8536                                                          (C.length +
8537                                                              (Q ? 1 : 0)) +
8538                                                          (F ? '!' : '') +
8539                                                          '}'
8540                                                        : '0') +
8541                                                    P +
8542                                                    ')'),
8543                                                    Q && (C.push(Q), D.push(0)),
8544                                                    R && (C.push(0), D.push(R));
8545                                            }
8546                                        } else {
8547                                            if (H !== I) {
8548                                                E = 0;
8549                                                break;
8550                                            }
8551                                            (g += H),
8552                                                z++,
8553                                                B++,
8554                                                (0 === E && 'c' === H) ||
8555                                                (1 === E && 'a' === H) ||
8556                                                (2 === E && 'l' === H) ||
8557                                                (3 === E && 'c' === H) ||
8558                                                (E >= 4 && '(' === H)
8559                                                    ? E++
8560                                                    : ((E && E < 5) ||
8561                                                          (E >= 4 &&
8562                                                              ')' === H &&
8563                                                              --E < 5)) &&
8564                                                      (E = 0),
8565                                                (0 === F && 'r' === H) ||
8566                                                (1 === F && 'g' === H) ||
8567                                                (2 === F && 'b' === H) ||
8568                                                (3 === F && 'a' === H) ||
8569                                                (F >= 3 && '(' === H)
8570                                                    ? (3 === F &&
8571                                                          'a' === H &&
8572                                                          (G = 1),
8573                                                      F++)
8574                                                    : G && ',' === H
8575                                                    ? ++G > 3 && (F = G = 0)
8576                                                    : ((G && F < (G ? 5 : 4)) ||
8577                                                          (F >= (G ? 4 : 3) &&
8578                                                              ')' === H &&
8579                                                              --F <
8580                                                                  (G
8581                                                                      ? 5
8582                                                                      : 4))) &&
8583                                                      (F = G = 0);
8584                                        }
8585                                    }
8586                                    (z === r.length && B === p.length) ||
8587                                        (y.debug &&
8588                                            console.error(
8589                                                'Trying to pattern match mis-matched strings ["' +
8590                                                    p +
8591                                                    '", "' +
8592                                                    r +
8593                                                    '"]'
8594                                            ),
8595                                        (g = d)),
8596                                        g &&
8597                                            (C.length
8598                                                ? (y.debug &&
8599                                                      console.log(
8600                                                          'Pattern found "' +
8601                                                              g +
8602                                                              '" -> ',
8603                                                          C,
8604                                                          D,
8605                                                          '[' +
8606                                                              r +
8607                                                              ',' +
8608                                                              p +
8609                                                              ']'
8610                                                      ),
8611                                                  (r = C),
8612                                                  (p = D),
8613                                                  (t = v = ''))
8614                                                : (g = d));
8615                                }
8616                                g ||
8617                                    ((s = x(e, r)),
8618                                    (r = s[0]),
8619                                    (v = s[1]),
8620                                    (s = x(e, p)),
8621                                    (p = s[0].replace(
8622                                        /^([+-\/*])=/,
8623                                        function (a, b) {
8624                                            return (w = b), '';
8625                                        }
8626                                    )),
8627                                    (t = s[1]),
8628                                    (r = parseFloat(r) || 0),
8629                                    (p = parseFloat(p) || 0),
8630                                    '%' === t &&
8631                                        (/^(fontSize|lineHeight)$/.test(e)
8632                                            ? ((p /= 100), (t = 'em'))
8633                                            : /^scale/.test(e)
8634                                            ? ((p /= 100), (t = ''))
8635                                            : /(Red|Green|Blue)$/i.test(e) &&
8636                                              ((p = (p / 100) * 255),
8637                                              (t = ''))));
8638                                if (/[\/*]/.test(w)) t = v;
8639                                else if (v !== t && 0 !== r)
8640                                    if (0 === p) t = v;
8641                                    else {
8642                                        h =
8643                                            h ||
8644                                            (function () {
8645                                                var d = {
8646                                                        myParent:
8647                                                            a.parentNode ||
8648                                                            c.body,
8649                                                        position:
8650                                                            A.getPropertyValue(
8651                                                                a,
8652                                                                'position'
8653                                                            ),
8654                                                        fontSize:
8655                                                            A.getPropertyValue(
8656                                                                a,
8657                                                                'fontSize'
8658                                                            )
8659                                                    },
8660                                                    e =
8661                                                        d.position ===
8662                                                            M.lastPosition &&
8663                                                        d.myParent ===
8664                                                            M.lastParent,
8665                                                    f =
8666                                                        d.fontSize ===
8667                                                        M.lastFontSize;
8668                                                (M.lastParent = d.myParent),
8669                                                    (M.lastPosition =
8670                                                        d.position),
8671                                                    (M.lastFontSize =
8672                                                        d.fontSize);
8673                                                var g = {};
8674                                                if (f && e)
8675                                                    (g.emToPx = M.lastEmToPx),
8676                                                        (g.percentToPxWidth =
8677                                                            M.lastPercentToPxWidth),
8678                                                        (g.percentToPxHeight =
8679                                                            M.lastPercentToPxHeight);
8680                                                else {
8681                                                    var h =
8682                                                        k && k.isSVG
8683                                                            ? c.createElementNS(
8684                                                                  'http://www.w3.org/2000/svg',
8685                                                                  'rect'
8686                                                              )
8687                                                            : c.createElement(
8688                                                                  'div'
8689                                                              );
8690                                                    y.init(h),
8691                                                        d.myParent.appendChild(
8692                                                            h
8693                                                        ),
8694                                                        o.each(
8695                                                            [
8696                                                                'overflow',
8697                                                                'overflowX',
8698                                                                'overflowY'
8699                                                            ],
8700                                                            function (a, b) {
8701                                                                y.CSS.setPropertyValue(
8702                                                                    h,
8703                                                                    b,
8704                                                                    'hidden'
8705                                                                );
8706                                                            }
8707                                                        ),
8708                                                        y.CSS.setPropertyValue(
8709                                                            h,
8710                                                            'position',
8711                                                            d.position
8712                                                        ),
8713                                                        y.CSS.setPropertyValue(
8714                                                            h,
8715                                                            'fontSize',
8716                                                            d.fontSize
8717                                                        ),
8718                                                        y.CSS.setPropertyValue(
8719                                                            h,
8720                                                            'boxSizing',
8721                                                            'content-box'
8722                                                        ),
8723                                                        o.each(
8724                                                            [
8725                                                                'minWidth',
8726                                                                'maxWidth',
8727                                                                'width',
8728                                                                'minHeight',
8729                                                                'maxHeight',
8730                                                                'height'
8731                                                            ],
8732                                                            function (a, b) {
8733                                                                y.CSS.setPropertyValue(
8734                                                                    h,
8735                                          
8735                          b,
8736                                                                    '100%'
8737                                                                );
8738                                                            }
8739                                                        ),
8740                                                        y.CSS.setPropertyValue(
8741                                                            h,
8742                                                            'paddingLeft',
8743                                                            '100em'
8744                                                        ),
8745                                                        (g.percentToPxWidth =
8746                                                            M.lastPercentToPxWidth =
8747                                                                (parseFloat(
8748                                                                    A.getPropertyValue(
8749                                                                        h,
8750                                                                        'width',
8751                                                                        null,
8752                                                                        !0
8753                                                                    )
8754                                                                ) || 1) / 100),
8755                                                        (g.percentToPxHeight =
8756                                                            M.lastPercentToPxHeight =
8757                                                                (parseFloat(
8758                                                                    A.getPropertyValue(
8759                                                                        h,
8760                                                                        'height',
8761                                                                        null,
8762                                                                        !0
8763                                                                    )
8764                                                                ) || 1) / 100),
8765                                                        (g.emToPx =
8766                                                            M.lastEmToPx =
8767                                                                (parseFloat(
8768                                                                    A.getPropertyValue(
8769                                                                        h,
8770                                                                        'paddingLeft'
8771                                                                    )
8772                                                                ) || 1) / 100),
8773                                                        d.myParent.removeChild(
8774                                                            h
8775                                                        );
8776                                                }
8777                                                return (
8778                                                    null === M.remToPx &&
8779                                                        (M.remToPx =
8780                                                            parseFloat(
8781                                                                A.getPropertyValue(
8782                                                                    c.body,
8783                                                                    'fontSize'
8784                                                                )
8785                                                            ) || 16),
8786                                                    null === M.vwToPx &&
8787                                                        ((M.vwToPx =
8788                                                            parseFloat(
8789                                                                b.innerWidth
8790                                                            ) / 100),
8791                                                        (M.vhToPx =
8792                                                            parseFloat(
8793                                                                b.innerHe
8793ight
8794                                                            ) / 100)),
8795                                                    (g.remToPx = M.remToPx),
8796                                                    (g.vwToPx = M.vwToPx),
8797                                                    (g.vhToPx = M.vhToPx),
8798                                                    y.debug >= 1 &&
8799                                                        console.log(
8800                                                            'Unit ratios: ' +
8801                                                                JSON.stringify(
8802                                                                    g
8803                                                                ),
8804                                                            a
8805                                                        ),
8806                                                    g
8807                                                );
8808                                            })();
8809                                        var S =
8810                                            /margin|padding|left|right|width|text|word|letter/i.test(
8811                                                e
8812                                            ) ||
8813                                            /X$/.test(e) ||
8814                                            'x' === e
8815                                                ? 'x'
8816                                                : 'y';
8817                                        switch (v) {
8818                                            case '%':
8819                                                r *=
8820                                                    'x' === S
8821                                                        ? h.percentToPxWidth
8822                                                        : h.percentToPxHeight;
8823                                                break;
8824                                            case 'px':
8825                                                break;
8826                                            default:
8827                                                r *= h[v + 'ToPx'];
8828                                        }
8829                                        switch (t) {
8830                                            case '%':
8831                                                r *=
8832                                                    1 /
8833                                                    ('x' === S
8834                                                        ? h.percentToPxWidth
8835                                                        : h.percentToPxHeight);
8836                                                break;
8837                                            case 'px':
8838                                                break;
8839                                            default:
8840                                                r *= 1 / h[t + 'ToPx'];
8841                                        }
8842                                    }
8843                                switch (w) {
8844                                    case '+':
8845                                        p = r + p;
8846                                        break;
8847                                    case '-':
8848                                        p = r - p;
8849                                        break;
8850                                    case '*':
8851                                        p *= r;
8852                                        break;
8853                                    case '/':
8854                                        p = r / p;
8855                                }
8856                                (j[e] = {
8857                                    rootPropertyValue: m,
8858                                    startValue: r,
8859                                    currentValue: r,
8860                                    endValue: p,
8861                                    unitType: t,
8862                                    easing: q
8863                                }),
8864                                    g && (j[e].pattern = g),
8865                                    y.debug &&
8866                                        console.log(
8867                                            'tweensContainer (' +
8868                                                e +
8869                                                '): ' +
8870                                                JSON.stringify(j[e]),
8871                                            a
8872                                        );
8873                            };
8874                            for (var I in s)
8875                                if (s.hasOwnProperty(I)) {
8876                                    var J = A.Names.camelCase(I),
8877                                        K = (function (b, c) {
8878                                            var d, f, g;
8879                                            return (
8880                                                u.isFunction(b) &&
8881                                                    (b = b.call(a, e, C)),
8882                                                u.isArray(b)
8883                                                    ? ((d = b[0]),
8884                                                      (!u.isArray(b[1]) &&
8885                                                          /^[\d-]/.test(
8886                                                              b[1]
8887                                                          )) ||
8888                                                      u.isFunction(b[1]) ||
8889                                                      A.RegEx.isHex.test(b[1])
8890                                                          ? (g = b[1])
8891                                                          : (u.isString(b[1]) &&
8892                                                                !A.RegEx.isHex.test(
8893                                                                    b[1]
8894                                                                ) &&
8895                                                                y.Easings[
8896                                                                    b[1]
8897                                                                ]) ||
8898                                                            u.isArray(b[1])
8899                                                          ? ((f = c
8900                                                                ? b[1]
8901                                                                : l(
8902                                                                      b[1],
8903                                                                      i.duration
8904                                                                  )),
8905                                                            (g = b[2]))
8906                                                          : (g = b[1] || b[2]))
8907                                                    : (d = b),
8908                                                c || (f = f || i.easing),
8909                                                u.isFunction(d) &&
8910                                                    (d = d.call(a, e, C)),
8911                                                u.isFunction(g) &&
8912                                                    (g = g.call(a, e, C)),
8913                                                [d || 0, f, g]
8914                                            );
8915                                        })(s[I]);
8916                                    if (t(A.Lists.colors, J)) {
8917                                        var L = K[0],
8918                                            O = K[1],
8919                                            P = K[2];
8920                                        if (A.RegEx.isHex.test(L)) {
8921                                            for (
8922                                                var Q = [
8923                                                        'Red',
8924                                                        'Green',
8925                                                        'Blue'
8926                                                    ],
8927                                                    R = A.Values.hexToRgb(L),
8928                                                    S = P
8929                                                        ? A.Values.hexToRgb(P)
8930                                                        : d,
8931                                                    T = 0;
8932                                                T < Q.length;
8933                                                T++
8934                                            ) {
8935                                                var U = [R[T]];
8936                                                O && U.push(O),
8937                                                    S !== d && U.push(S[T]),
8938                                                    H(J + Q[T], U);
8939                                            }
8940                                            continue;
8941                                        }
8942                                    }
8943                                    H(J, K);
8944                                }
8945                            j.element = a;
8946                        }
8947                        j.element &&
8948                            (A.Values.addClass(a, 'velocity-animating'),
8949                            N.push(j),
8950                            (k = g(a)),
8951                            k &&
8952                                ('' === i.queue &&
8953                                    ((k.tweensContainer = j), (k.opts = i)),
8954                                (k.isAnimating = !0)),
8955                            D === C - 1
8956                                ? (y.State.calls.push([
8957                                      N,
8958                                      r,
8959                                      i,
8960                                      null,
8961                                      z.resolver,
8962                                      null,
8963                                      0
8964                                  ]),
8965                                  !1 === y.State.isTicking &&
8966                                      ((y.State.isTicking = !0), m()))
8967                                : D++);
8968                    }
8969                    var h,
8970                        i = o.extend({}, y.defaults, v),
8971                        j = {};
8972                    switch (
8973                        (g(a) === d && y.init(a),
8974                        parseFloat(i.delay) &&
8975                            !1 !== i.queue &&
8976                            o.queue(a, i.queue, function (b, c) {
8977                                if (!0 === c) return !0;
8978                                y.velocityQueueEntryFlag = !0;
8979                                var d = y.State.delayedElements.count++;
8980                                y.State.delayedElements[d] = a;
8981                                var e = (function (a) {
8982                                    return function () {
8983                                        (y.State.delayedElements[a] = !1), b();
8984                                    };
8985                                })(d);
8986                                (g(a).delayBegin = new Date().getTime()),
8987                                    (g(a).delay = parseFloat(i.delay)),
8988                                    (g(a).delayTimer = {
8989                                        setTimeout: setTimeout(
8990                                            b,
8991                                            parseFloat(i.delay)
8992                                        ),
8993                                        next: e
8994                                    });
8995                            }),
8996                        i.duration.toString().toLowerCase())
8997                    ) {
8998                        case 'fast':
8999                            i.duration = 200;
9000                            break;
9001                        case 'normal':
9002                            i.duration = w;
9003                            break;
9004                        case 'slow':
9005                            i.duration = 600;
9006                            break;
9007                        default:
9008                            i.duration = parseFloat(i.duration) || 1;
9009                    }
9010                    if (
9011                        (!1 !== y.mock &&
9012                            (!0 === y.mock
9013                                ? (i.duration = i.delay = 1)
9014                                : ((i.duration *= parseFloat(y.mock) || 1),
9015                                  (i.delay *= parseFloat(y.mock) || 1))),
9016                        (i.easing = l(i.easing, i.duration)),
9017                        i.begin && !u.isFunction(i.begin) && (i.begin = null),
9018                        i.progress &&
9019                            !u.isFunction(i.progress) &&
9020                            (i.progress = null),
9021                        i.complete &&
9022                            !u.isFunction(i.complete) &&
9023                            (i.complete = null),
9024                        i.display !== d &&
9025                            null !== i.display &&
9026                            ((i.display = i.display.toString().toLowerCase()),
9027                            'auto' === i.display &&
9028                                (i.display = y.CSS.Values.getDisplayType(a))),
9029                        i.visibility !== d &&
9030                            null !== i.visibility &&
9031                            (i.visibility = i.visibility
9032                                .toString()
9033                                .toLowerCase()),
9034                        (i.mobileHA =
9035                            i.mobileHA &&
9036                            y.State.isMobile &&
9037                            !y.State.isGingerbread),
9038                        !1 === i.queue)
9039                    )
9040                        if (i.delay) {
9041                            var k = y.State.delayedElements.count++;
9042                            y.State.delayedElements[k] = a;
9043                            var n = (function (a) {
9044                                return function () {
9045                                    (y.State.delayedElements[a] = !1), f();
9046                                };
9047                            })(k);
9048                            (g(a).delayBegin = new Date().getTime()),
9049                                (g(a).delay = parseFloat(i.delay)),
9050                                (g(a).delayTimer = {
9051                                    setTimeout: setTimeout(
9052                                        f,
9053                                        parseFloat(i.delay)
9054                                    ),
9055                                    next: n
9056                                });
9057                        } else f();
9058                    else
9059                        o.queue(a, i.queue, function (a, b) {
9060                            if (!0 === b) return z.promise && z.resolver(r), !0;
9061                            (y.velocityQueueEntryFlag = !0), f(a);
9062                        });
9063                    ('' !== i.queue && 'fx' !== i.queue) ||
9064                        'inprogress' === o.queue(a)[0] ||
9065                        o.dequeue(a);
9066                }
9067                var j,
9068                    k,
9069                    p,
9070                    q,
9071                    r,
9072                    s,
9073                    v,
9074                    x =
9075                        arguments[0] &&
9076                        (arguments[0].p ||
9077                            (o.isPlainObject(arguments[0].properties) &&
9078                                !arguments[0].properties.names) ||
9079                            u.isString(arguments[0].properties));
9080                u.isWrapped(this)
9081                    ? ((k = !1), (q = 0), (r = this), (p = this))
9082                    : ((k = !0),
9083                      (q = 1),
9084                      (r = x
9085                          ? arguments[0].elements || arguments[0].e
9086                          : arguments[0]));
9087                var z = { promise: null, resolver: null, rejecter: null };
9088                if (
9089                    (k &&
9090                        y.Promise &&
9091                        (z.promise = new y.Promise(function (a, b) {
9092                            (z.resolver = a), (z.rejecter = b);
9093                        })),
9094                    x
9095                        ? ((s = arguments[0].properties || arguments[0].p),
9096                          (v = arguments[0].options || arguments[0].o))
9097                        : ((s = arguments[q]), (v = arguments[q + 1])),
9098                    !(r = f(r)))
9099                )
9100                    return void (
9101                        z.promise &&
9102                        (s && v && !1 === v.promiseRejectEmpty
9103                            ? z.resolver()
9104                            : z.rejecter())
9105                    );
9106                var C = r.length,
9107                    D = 0;
9108                if (
9109                    !/^(stop|finish|finishAll|pause|resume)$/i.test(s) &&
9110                    !o.isPlainObject(v)
9111                ) {
9112                    var E = q + 1;
9113                    v = {};
9114                    for (var F = E; F < arguments.length; F++)
9115                        u.isArray(arguments[F]) ||
9116                        (!/^(fast|normal|slow)$/i.test(arguments[F]) &&
9117                            !/^\d/.test(arguments[F]))
9118                            ? u.isString(arguments[F]) ||
9119                              u.isArray(arguments[F])
9120                                ? (v.easing = arguments[F])
9121                                : u.isFunction(arguments[F]) &&
9122                                  (v.complete = arguments[F])
9123                            : (v.duration = arguments[F]);
9124                }
9125                var G;
9126                switch (s) {
9127                    case 'scroll':
9128                        G = 'scroll';
9129                        break;
9130                    case 'reverse':
9131                        G = 'reverse';
9132                        break;
9133                    case 'pause':
9134                        var H = new Date().getTime();
9135                        return (
9136                            o.each(r, function (a, b) {
9137                                h(b, H);
9138                            }),
9139                            o.each(y.State.calls, function (a, b) {
9140                                var c = !1;
9141                                b &&
9142                                    o.each(b[1], function (a, e) {
9143                                        var f = v === d ? '' : v;
9144                                        return (
9145                                            (!0 !== f &&
9146                                                b[2].queue !== f &&
9147                                                (v !== d ||
9148                                                    !1 !== b[2].queue)) ||
9149                                            (o.each(r, function (a, d) {
9150                                                if (d === e)
9151                                                    return (
9152                                                        (b[5] = { resume: !1 }),
9153                                                        (c = !0),
9154                                                        !1
9155                                                    );
9156                                            }),
9157                                            !c && void 0)
9158                                        );
9159                                    });
9160                            }),
9161                            a()
9162                        );
9163                    case 'resume':
9164                        return (
9165                            o.each(r, function (a, b) {
9166                                i(b, H);
9167                            }),
9168                            o.each(y.State.calls, function (a, b) {
9169                                var c = !1;
9170                                b &&
9171                                    o.each(b[1], function (a, e) {
9172                                        var f = v === d ? '' : v;
9173                                        return (
9174                                            (!0 !== f &&
9175                                                b[2].queue !== f &&
9176                                                (v !== d ||
9177                                                    !1 !== b[2].queue)) ||
9178                                            !b[5] ||
9179                                            (o.each(r, function (a, d) {
9180                                                if (d === e)
9181                                                    return (
9182                                                        (b[5].resume = !0),
9183                                                        (c = !0),
9184                                                        !1
9185                                                    );
9186                                            }),
9187                                            !c && void 0)
9188                                        );
9189                                    });
9190                            }),
9191                            a()
9192                        );
9193                    case 'finish':
9194                    case 'finishAll':
9195                    case 'stop':
9196                        o.each(r, function (a, b) {
9197                            g(b) &&
9198                                g(b).delayTimer &&
9199                                (clearTimeout(g(b).delayTimer.setTimeout),
9200                                g(b).delayTimer.next && g(b).delayTimer.next(),
9201                                delete g(b).delayTimer),
9202                                'finishAll' !== s ||
9203                                    (!0 !== v && !u.isString(v)) ||
9204                                    (o.each(
9205                                        o.queue(b, u.isString(v) ? v : ''),
9206                                        function (a, b) {
9207                                            u.isFunction(b) && b();
9208                                        }
9209                                    ),
9210                                    o.queue(b, u.isString(v) ? v : '', []));
9211                        });
9212                        var I = [];
9213                        return (
9214                            o.each(y.State.calls, function (a, b) {
9215                                b &&
9216                                    o.each(b[1], function (c, e) {
9217                                        var f = v === d ? '' : v;
9218                                        if (
9219                                            !0 !== f &&
9220                                            b[2].queue !== f &&
9221                                            (v !== d || !1 !== b[2].queue)
9222                                        )
9223                                            return !0;
9224                                        o.each(r, function (c, d) {
9225                                            if (d === e)
9226                                                if (
9227                                                    ((!0 === v ||
9228                                                        u.isString(v)) &&
9229                                                        (o.each(
9230                                                            o.queue(
9231                                                                d,
9232                                                                u.isString(v)
9233                                                                    ? v
9234                                                                    : ''
9235                                                            ),
9236                                                            function (a, b) {
9237                                                                u.isFunction(
9238                                                                    b
9239                                                                ) &&
9240                                                                    b(null, !0);
9241                                                            }
9242                                                        ),
9243                                                        o.queue(
9244                                                            d,
9245                                                            u.isString(v)
9246                                                                ? v
9247                                                                : '',
9248                                                            []
9249                                                        )),
9250                                                    'stop' === s)
9251                                                ) {
9252                                                    var h = g(d);
9253                                                    h &&
9254                                                        h.tweensContainer &&
9255                                                        !1 !== f &&
9256                                                        o.each(
9257                                                            h.tweensContainer,
9258                                                            function (a, b) {
9259                                                                b.endValue =
9260                                                                    b.currentValue;
9261                                                            }
9262                                                        ),
9263                                                        I.push(a);
9264                                                } else
9265                                                    ('finish' !== s &&
9266                                                        'finishAll' !== s) ||
9267                                                        (b[2].duration = 1);
9268                                        });
9269                                    });
9270                            }),
9271                            'stop' === s &&
9272                                (o.each(I, function (a, b) {
9273                                    n(b, !0);
9274                                }),
9275                                z.promise && z.resolver(r)),
9276                            a()
9277                        );
9278                    default:
9279                        if (!o.isPlainObject(s) || u.isEmptyObject(s)) {
9280                            if (u.isString(s) && y.Redirects[s]) {
9281                                j = o.extend({}, v);
9282                                var J = j.duration,
9283                                    K = j.delay || 0;
9284                                return (
9285                                    !0 === j.backwards &&
9286                                        (r = o.extend(!0, [], r).reverse()),
9287                                    o.each(r, function (a, b) {
9288                                        parseFloat(j.stagger)
9289                                            ? (j.delay =
9290                                                  K + parseFloat(j.stagger) * a)
9291                                            : u.isFunction(j.stagger) &&
9292                                              (j.delay =
9293                                                  K + j.stagger.call(b, a, C)),
9294                                            j.drag &&
9295                                                ((j.duration =
9296                                                    parseFloat(J) ||
9297                                                    (/^(callout|transition)/.test(
9298                                                        s
9299                                                    )
9300                                                        ? 1e3
9301                                                        : w)),
9302                                                (j.duration = Math.max(
9303                                                    j.duration *
9304                                                        (j.backwards
9305                                                            ? 1 - a / C
9306                                                            : (a + 1) / C),
9307                                                    0.75 * j.duration,
9308                                                    200
9309                                                ))),
9310                                            y.Redirects[s].call(
9311                                                b,
9312                                                b,
9313                                                j || {},
9314                                                a,
9315                                                C,
9316                                                r,
9317                                                z.promise ? z : d
9318                                            );
9319                                    }),
9320                                    a()
9321                                );
9322                            }
9323                            var L =
9324                                'Velocity: First argument (' +
9325                                s +
9326                                ') was not a property map, a known action, or a registered redirect. Aborting.';
9327                            return (
9328                                z.promise
9329                                    ? z.rejecter(new Error(L))
9330                                    : b.console && console.log(L),
9331                                a()
9332                            );
9333                        }
9334                        G = 'start';
9335                }
9336                var M = {
9337                        lastParent: null,
9338                        lastPosition: null,
9339                        lastFontSize: null,
9340                        lastPercentToPxWidth: null,
9341                        lastPercentToPxHeight: null,
9342                        lastEmToPx: null,
9343                        remToPx: null,
9344                        vwToPx: null,
9345                        vhToPx: null
9346                    },
9347                    N = [];
9348                o.each(r, function (a, b) {
9349                    u.isNode(b) && e(b, a);
9350                }),
9351                    (j = o.extend({}, y.defaults, v)),
9352                    (j.loop = parseInt(j.loop, 10));
9353                var O = 2 * j.loop - 1;
9354                if (j.loop)
9355                    for (var P = 0; P < O; P++) {
9356                        var Q = { delay: j.delay, progress: j.progress };
9357                        P === O - 1 &&
9358                            ((Q.display = j.display),
9359                            (Q.visibility = j.visibility),
9360                            (Q.complete = j.complete)),
9361                            B(r, 'reverse', Q);
9362                    }
9363                return a();
9364            };
9365            (y = o.extend(B, y)), (y.animate = B);
9366            var C = b.requestAnimationFrame || q;
9367            if (!y.State.isMobile && c.hidden !== d) {
9368                var D = function () {
9369                    c.hidden
9370                        ? ((C = function (a) {
9371                              return setTimeout(function () {
9372                                  a(!0);
9373                              }, 16);
9374                          }),
9375                          m())
9376                        : (C = b.requestAnimationFrame || q);
9377                };
9378                D(), c.addEventListener('visibilitychange', D);
9379            }
9380            return (
9381                (a.Velocity = y),
9382                a !== b &&
9383                    ((a.fn.velocity = B),
9384                    (a.fn.velocity.defaults = y.defaults)),
9385                o.each(['Down', 'Up'], function (a, b) {
9386                    y.Redirects['slide' + b] = function (a, c, e, f, g, h) {
9387                        var i = o.extend({}, c),
9388                            j = i.begin,
9389                            k = i.complete,
9390                            l = {},
9391                            m = {
9392                                height: '',
9393                                marginTop: '',
9394                                marginBottom: '',
9395                                paddingTop: '',
9396                                paddingBottom: ''
9397                            };
9398                        i.display === d &&
9399                            (i.display =
9400                                'Down' === b
9401                                    ? 'inline' ===
9402                                      y.CSS.Values.getDisplayType(a)
9403                                        ? 'inline-block'
9404                                        : 'block'
9405                                    : 'none'),
9406                            (i.begin = function () {
9407                                0 === e && j && j.call(g, g);
9408                                for (var c in m)
9409                                    if (m.hasOwnProperty(c)) {
9410                                        l[c] = a.style[c];
9411                                        var d = A.getPropertyValue(a, c);
9412                                        m[c] = 'Down' === b ? [d, 0] : [0, d];
9413                                    }
9414                                (l.overflow = a.style.overflow),
9415  
9415                                  (a.style.overflow = 'hidden');
9416                            }),
9417                            (i.complete = function () {
9418                                for (var b in l)
9419                                    l.hasOwnProperty(b) && (a.style[b] = l[b]);
9420                                e === f - 1 &&
9421                                    (k && k.call(g, g), h && h.resolver(g));
9422                            }),
9423                            y(a, m, i);
9424                    };
9425                }),
9426                o.each(['In', 'Out'], function (a, b) {
9427                    y.Redirects['fade' + b] = function (a, c, e, f, g, h) {
9428                        var i = o.extend({}, c),
9429                            j = i.complete,
9430                            k = { opacity: 'In' === b ? 1 : 0 };
9431                        0 !== e && (i.begin = null),
9432                            (i.complete =
9433                                e !== f - 1
9434                                    ? null
9435                                    : function () {
9436                                          j && j.call(g, g), h && h.resolver(g);
9437                                      }),
9438                            i.display === d &&
9439                                (i.display = 'In' === b ? 'auto' : 'none'),
9440                            y(this, k, i);
9441                    };
9442                }),
9443                y
9444            );
9445        })(
9446            window.jQuery || window.Zepto || window,
9447            window,
9448            window ? window.document : undefined
9449        );
9450    });
9451
9452/*!
9453 * is.js 0.8.0
9454 * Author: Aras Atasaygin
9455 */
9456(function (n, t) {
9457    if (typeof define === 'function' && define.amd) {
9458        define(function () {
9459            return (n.is = t());
9460        });
9461    } else if (typeof exports === 'object') {
9462        module.exports = t();
9463    } else {
9464        n.is = t();
9465    }
9466})(this, function () {
9467    var n = {};
9468    n.VERSION = '0.8.0';
9469    n.not = {};
9470    n.all = {};
9471    n.any = {};
9472    var t = Object.prototype.toString;
9473    var e = Array.prototype.slice;
9474    var r = Object.prototype.hasOwnProperty;
9475    function a(n) {
9476        return function () {
9477            return !n.apply(null, e.call(arguments));
9478        };
9479    }
9480    function u(n) {
9481        return function () {
9482            var t = c(arguments);
9483            var e = t.length;
9484            for (var r = 0; r < e; r++) {
9485                if (!n.call(null, t[r])) {
9486                    return false;
9487                }
9488            }
9489            return true;
9490        };
9491    }
9492    function o(n) {
9493        return function () {
9494            var t = c(arguments);
9495            var e = t.length;
9496            for (var r = 0; r < e; r++) {
9497                if (n.call(null, t[r])) {
9498                    return true;
9499                }
9500            }
9501            return false;
9502        };
9503    }
9504    var i = {
9505        '<': function (n, t) {
9506            return n < t;
9507        },
9508        '<=': function (n, t) {
9509            return n <= t;
9510        },
9511        '>': function (n, t) {
9512            return n > t;
9513        },
9514        '>=': function (n, t) {
9515            return n >= t;
9516        }
9517    };
9518    function f(n, t) {
9519        var e = t + '';
9520        var r = +(e.match(/\d+/) || NaN);
9521        var a = e.match(/^[<>]=?|/)[0];
9522        return i[a] ? i[a](n, r) : n == r || r !== r;
9523    }
9524    function c(t) {
9525        var r = e.call(t);
9526        var a = r.length;
9527        if (a === 1 && n.array(r[0])) {
9528            r = r[0];
9529        }
9530        return r;
9531    }
9532    n.arguments = function (n) {
9533        return (
9534            t.call(n) === '[object Arguments]' ||
9535            (n != null && typeof n === 'object' && 'callee' in n)
9536        );
9537    };
9538    n.array =
9539        Array.isArray ||
9540        function (n) {
9541            return t.call(n) === '[object Array]';
9542        };
9543    n.boolean = function (n) {
9544        return n === true || n === false || t.call(n) === '[object Boolean]';
9545    };
9546    n.char = function (t) {
9547        return n.string(t) && t.length === 1;
9548    };
9549    n.date = function (n) {
9550        return t.call(n) === '[object Date]';
9551    };
9552    n.domNode = function (t) {
9553        return n.object(t) && t.nodeType > 0;
9554    };
9555    n.error = function (n) {
9556        return t.call(n) === '[object Error]';
9557    };
9558    n['function'] = function (n) {
9559        return t.call(n) === '[object Function]' || typeof n === 'function';
9560    };
9561    n.json = function (n) {
9562        return t.call(n) === '[object Object]';
9563    };
9564    n.nan = function (n) {
9565        return n !== n;
9566    };
9567    n['null'] = function (n) {
9568        return n === null;
9569    };
9570    n.number = function (e) {
9571        return n.not.nan(e) && t.call(e) === '[object Number]';
9572    };
9573    n.object = function (n) {
9574        return Object(n) === n;
9575    };
9576    n.regexp = function (n) {
9577        return t.call(n) === '[object RegExp]';
9578    };
9579    n.sameType = function (e, r) {
9580        var a = t.call(e);
9581        if (a !== t.call(r)) {
9582            return false;
9583        }
9584        if (a === '[object Number]') {
9585            return !n.any.nan(e, r) || n.all.nan(e, r);
9586        }
9587        return true;
9588    };
9589    n.sameType.api = ['not'];
9590    n.string = function (n) {
9591        return t.call(n) === '[object String]';
9592    };
9593    n.undefined = function (n) {
9594        return n === void 0;
9595    };
9596    n.windowObject = function (n) {
9597        return n != null && typeof n === 'object' && 'setInterval' in n;
9598    };
9599    n.empty = function (t) {
9600        if (n.object(t)) {
9601            var e = Object.getOwnPropertyNames(t).length;
9602            if (
9603                e === 0 ||
9604                (e === 1 && n.array(t)) ||
9605                (e === 2 && n.arguments(t))
9606            ) {
9607                return true;
9608            }
9609            return false;
9610        }
9611        return t === '';
9612    };
9613    n.existy = function (n) {
9614        return n != null;
9615    };
9616    n.falsy = function (n) {
9617        return !n;
9618    };
9619    n.truthy = a(n.falsy);
9620    n.above = function (t, e) {
9621        return n.all.number(t, e) && t > e;
9622    };
9623    n.above.api = ['not'];
9624    n.decimal = function (t) {
9625        return n.number(t) && t % 1 !== 0;
9626    };
9627    n.equal = function (t, e) {
9628        if (n.all.number(t, e)) {
9629            return t === e && 1 / t === 1 / e;
9630        }
9631        if (n.all.string(t, e) || n.all.regexp(t, e)) {
9632            return '' + t === '' + e;
9633        }
9634        if (n.all.boolean(t, e)) {
9635            return t === e;
9636        }
9637        return false;
9638    };
9639    n.equal.api = ['not'];
9640    n.even = function (t) {
9641        return n.number(t) && t % 2 === 0;
9642    };
9643    n.finite =
9644        isFinite ||
9645        function (t) {
9646            return n.not.infinite(t) && n.not.nan(t);
9647        };
9648    n.infinite = function (n) {
9649        return n === Infinity || n === -Infinity;
9650    };
9651    n.integer = function (t) {
9652        return n.number(t) && t % 1 === 0;
9653    };
9654    n.negative = function (t) {
9655        return n.number(t) && t < 0;
9656    };
9657    n.odd = function (t) {
9658        return n.number(t) && t % 2 === 1;
9659    };
9660    n.positive = function (t) {
9661        return n.number(t) && t > 0;
9662    };
9663    n.under = function (t, e) {
9664        return n.all.number(t, e) && t < e;
9665    };
9666    n.under.api = ['not'];
9667    n.within = function (t, e, r) {
9668        return n.all.number(t, e, r) && t > e && t < r;
9669    };
9670    n.within.api = ['not'];
9671    var l = {
9672        affirmative: /^(?:1|t(?:rue)?|y(?:es)?|ok(?:ay)?)$/,
9673        alphaNumeric: /^[A-Za-z0-9]+$/,
9674        caPostalCode: /^(?!.*[DFIOQU])[A-VXY][0-9][A-Z]\s?[0-9][A-Z][0-9]$/,
9675        creditCard:
9676            /^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$/,
9677        dateString:
9678            /^(1[0-2]|0?[1-9])([\/-])(3[01]|[12][0-9]|0?[1-9])(?:\2)(?:[0-9]{2})?[0-9]{2}$/,
9679        email: /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,
9680        eppPhone: /^\+[0-9]{1,3}\.[0-9]{4,14}(?:x.+)?$/,
9681        hexadecimal: /^(?:0x)?[0-9a-fA-F]+$/,
9682        hexColor: /^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/,
9683        ipv4: /^(?:(?:\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(?:\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$/,
9684        ipv6: /^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i,
9685        nanpPhone: /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/,
9686        socialSecurityNumber:
9687            /^(?!000|666)[0-8][0-9]{2}-?(?!00)[0-9]{2}-?(?!0000)[0-9]{4}$/,
9688        timeString: /^(2[0-3]|[01]?[0-9]):([0-5]?[0-9]):([0-5]?[0-9])$/,
9689        ukPostCode:
9690            /^[A-Z]{1,2}[0-9RCHNQ][0-9A-Z]?\s?[0-9][ABD-HJLNP-UW-Z]{2}$|^[A-Z]{2}-?[0-9]{4}$/,
9691        url: /^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/i,
9692        usZipCode: /^[0-9]{5}(?:-[0-9]{4})?$/
9693    };
9694    function d(t, e) {
9695        n[t] = function (n) {
9696            return e[t].test(n);
9697        };
9698    }
9699    for (var s in l) {
9700        if (l.hasOwnProperty(s)) {
9701            d(s, l);
9702        }
9703    }
9704    n.ip = function (t) {
9705        return n.ipv4(t) || n.ipv6(t);
9706    };
9707    n.capitalized = function (t) {
9708        if (n.not.string(t)) {
9709            return false;
9710        }
9711        var e = t.split(' ');
9712        for (var r = 0; r < e.length; r++) {
9713            var a = e[r];
9714            if (a.length) {
9715                var u = a.charAt(0);
9716                if (u !== u.toUpperCase()) {
9717                    return false;
9718                }
9719            }
9720        }
9721        return true;
9722    };
9723    n.endWith = function (t, e) {
9724        if (n.not.string(t)) {
9725            return false;
9726        }
9727        e += '';
9728        var r = t.length - e.length;
9729        return r >= 0 && t.indexOf(e, r) === r;
9730    };
9731    n.endWith.api = ['not'];
9732    n.include = function (n, t) {
9733        return n.indexOf(t) > -1;
9734    };
9735    n.include.api = ['not'];
9736    n.lowerCase = function (t) {
9737        return n.string(t) && t === t.toLowerCase();
9738    };
9739    n.palindrome = function (t) {
9740        if (n.not.string(t)) {
9741            return false;
9742        }
9743        t = t.replace(/[^a-zA-Z0-9]+/g, '').toLowerCase();
9744        var e = t.length - 1;
9745        for (var r = 0, a = Math.floor(e / 2); r <= a; r++) {
9746            if (t.charAt(r) !== t.charAt(e - r)) {
9747                return false;
9748            }
9749        }
9750        return true;
9751    };
9752    n.space = function (t) {
9753        if (n.not.char(t)) {
9754            return false;
9755        }
9756        var e = t.charCodeAt(0);
9757        return (e > 8 && e < 14) || e === 32;
9758    };
9759    n.startWith = function (t, e) {
9760        return n.string(t) && t.indexOf(e) === 0;
9761    };
9762    n.startWith.api = ['not'];
9763    n.upperCase = function (t) {
9764        return n.string(t) && t === t.toUpperCase();
9765    };
9766    var F = [
9767        'sunday',
9768        'monday',
9769        'tuesday',
9770        'wednesday',
9771        'thursday',
9772        'friday',
9773        'saturday'
9774    ];
9775    var p = [
9776        'january',
9777        'february',
9778        'march',
9779        'april',
9780        'may',
9781        'june',
9782        'july',
9783        'august',
9784        'september',
9785        'october',
9786        'november',
9787        'december'
9788    ];
9789    n.day = function (t, e) {
9790        return n.date(t) && e.toLowerCase() === F[t.getDay()];
9791    };
9792    n.day.api = ['not'];
9793    n.dayLightSavingTime = function (n) {
9794        var t = new Date(n.getFullYear(), 0, 1);
9795        var e = new Date(n.getFullYear(), 6, 1);
9796        var r = Math.max(t.getTimezoneOffset(), e.getTimezoneOffset());
9797        return n.getTimezoneOffset() < r;
9798    };
9799    n.future = function (t) {
9800        var e = new Date();
9801        return n.date(t) && t.getTime() > e.getTime();
9802    };
9803    n.inDateRange = function (t, e, r) {
9804        if (n.not.date(t) || n.not.date(e) || n.not.date(r)) {
9805            return false;
9806        }
9807        var a = t.getTime();
9808        return a > e.getTime() && a < r.getTime();
9809    };
9810    n.inDateRange.api = ['not'];
9811    n.inLastMonth = function (t) {
9812        return n.inDateRange(
9813            t,
9814            new Date(new Date().setMonth(new Date().getMonth() - 1)),
9815            new Date()
9816        );
9817    };
9818    n.inLastWeek = function (t) {
9819        return n.inDateRange(
9820            t,
9821            new Date(new Date().setDate(new Date().getDate() - 7)),
9822            new Date()
9823        );
9824    };
9825    n.inLastYear = function (t) {
9826        return n.inDateRange(
9827            t,
9828            new Date(new Date().setFullYear(new Date().getFullYear() - 1)),
9829            new Date()
9830        );
9831    };
9832    n.inNextMonth = function (t) {
9833        return n.inDateRange(
9834            t,
9835            new Date(),
9836            new Date(new Date().setMonth(new Date().getMonth() + 1))
9837        );
9838    };
9839    n.inNextWeek = function (t) {
9840        return n.inDateRange(
9841            t,
9842            new Date(),
9843            new Date(new Date().setDate(new Date().getDate() + 7))
9844        );
9845    };
9846    n.inNextYear = function (t) {
9847        return n.inDateRange(
9848            t,
9849            new Date(),
9850            new Date(new Date().setFullYear(new Date().getFullYear() + 1))
9851        );
9852    };
9853    n.leapYear = function (t) {
9854        return n.number(t) && ((t % 4 === 0 && t % 100 !== 0) || t % 400 === 0);
9855    };
9856    n.month = function (t, e) {
9857        return n.date(t) && e.toLowerCase() === p[t.getMonth()];
9858    };
9859    n.month.api = ['not'];
9860    n.past = function (t) {
9861        var e = new Date();
9862        return n.date(t) && t.getTime() < e.getTime();
9863    };
9864    n.quarterOfYear = function (t, e) {
9865        return (
9866            n.date(t) && n.number(e) && e === Math.floor((t.getMonth() + 3) / 3)
9867        );
9868    };
9869    n.quarterOfYear.api = ['not'];
9870    n.today = function (t) {
9871        var e = new Date();
9872        var r = e.toDateString();
9873        return n.date(t) && t.toDateString() === r;
9874    };
9875    n.tomorrow = function (t) {
9876        var e = new Date();
9877        var r = new Date(e.setDate(e.getDate() + 1)).toDateString();
9878        return n.date(t) && t.toDateString() === r;
9879    };
9880    n.weekend = function (t) {
9881        return n.date(t) && (t.getDay() === 6 || t.getDay() === 0);
9882    };
9883    n.weekday = a(n.weekend);
9884    n.year = function (t, e) {
9885        return n.date(t) && n.number(e) && e === t.getFullYear();
9886    };
9887    n.year.api = ['not'];
9888    n.yesterday = function (t) {
9889        var e = new Date();
9890        var r = new Date(e.setDate(e.getDate() - 1)).toDateString();
9891        return n.date(t) && t.toDateString() === r;
9892    };
9893    var D = n.windowObject(typeof global == 'object' && global) && global;
9894    var h = n.windowObject(typeof self == 'object' && self) && self;
9895    var v = n.windowObject(typeof this == 'object' && this) && this;
9896    var b = D || h || v || Function('return this')();
9897    var g = h && h.document;
9898    var m = b.is;
9899    var w = h && h.navigator;
9900    var y = ((w && w.appVersion) || '').toLowerCase();
9901    var x = ((w && w.userAgent) || '').toLowerCase();
9902    var A = ((w && w.vendor) || '').toLowerCase();
9903    n.android = function () {
9904        return /android/.test(x);
9905    };
9906    n.android.api = ['not'];
9907    n.androidPhone = function () {
9908        return /android/.test(x) && /mobile/.test(x);
9909    };
9910    n.androidPhone.api = ['not'];
9911    n.androidTablet = function () {
9912        return /android/.test(x) && !/mobile/.test(x);
9913    };
9914    n.androidTablet.api = ['not'];
9915    n.blackberry = function () {
9916        return /blackberry/.test(x) || /bb10/.test(x);
9917    };
9918    n.blackberry.api = ['not'];
9919    n.chrome = function (n) {
9920        var t = /google inc/.test(A)
9921            ? x.match(/(?:chrome|crios)\/(\d+)/)
9922            : null;
9923        return t !== null && f(t[1], n);
9924    };
9925    n.chrome.api = ['not'];
9926    n.desktop = function () {
9927        return n.not.mobile() && n.not.tablet();
9928    };
9929    n.desktop.api = ['not'];
9930    n.edge = function (n) {
9931        var t = x.match(/edge\/(\d+)/);
9932        return t !== null && f(t[1], n);
9933    };
9934    n.edge.api = ['not'];
9935    n.firefox = function (n) {
9936        var t = x.match(/(?:firefox|fxios)\/(\d+)/);
9937        return t !== null && f(t[1], n);
9938    };
9939    n.firefox.api = ['not'];
9940    n.ie = function (n) {
9941        var t = x.match(/(?:msie |trident.+?; rv:)(\d+)/);
9942        return t !== null && f(t[1], n);
9943    };
9944    n.ie.api = ['not'];
9945    n.ios = function () {
9946        return n.iphone() || n.ipad() || n.ipod();
9947    };
9948    n.ios.api = ['not'];
9949    n.ipad = function (n) {
9950        var t = x.match(/ipad.+?os (\d+)/);
9951        return t !== null && f(t[1], n);
9952    };
9953    n.ipad.api = ['not'];
9954    n.iphone = function (n) {
9955        var t = x.match(/iphone(?:.+?os (\d+))?/);
9956        return t !== null && f(t[1] || 1, n);
9957    };
9958    n.iphone.api = ['not'];
9959    n.ipod = function (n) {
9960        var t = x.match(/ipod.+?os (\d+)/);
9961        return t !== null && f(t[1], n);
9962    };
9963    n.ipod.api = ['not'];
9964    n.linux = function () {
9965        return /linux/.test(y);
9966    };
9967    n.linux.api = ['not'];
9968    n.mac = function () {
9969        return /mac/.test(y);
9970    };
9971    n.mac.api = ['not'];
9972    n.mobile = function () {
9973        return (
9974            n.iphone() ||
9975            n.ipod() ||
9976            n.androidPhone() ||
9977            n.blackberry() ||
9978            n.windowsPhone()
9979        );
9980    };
9981    n.mobile.api = ['not'];
9982    n.offline = a(n.online);
9983    n.offline.api = ['not'];
9984    n.online = function () {
9985        return !w || w.onLine === true;
9986    };
9987    n.online.api = ['not'];
9988    n.opera = function (n) {
9989        var t = x.match(/(?:^opera.+?version|opr)\/(\d+)/);
9990        return t !== null && f(t[1], n);
9991    };
9992    n.opera.api = ['not'];
9993    n.phantom = function (n) {
9994        var t = x.match(/phantomjs\/(\d+)/);
9995        return t !== null && f(t[1], n);
9996    };
9997    n.phantom.api = ['not'];
9998    n.safari = function (n) {
9999        var t = x.match(/version\/(\d+).+?safari/);
10000        return t !== null && f(t[1], n);
10001    };
10002    n.safari.api = ['not'];
10003    n.tablet = function () {
10004        return n.ipad() || n.androidTablet() || n.windowsTablet();
10005    };
10006    n.tablet.api = ['not'];
10007    n.touchDevice = function () {
10008        return (
10009            !!g &&
10010            ('ontouchstart' in h ||
10011                ('DocumentTouch' in h && g instanceof DocumentTouch))
10012        );
10013    };
10014    n.touchDevice.api = ['not'];
10015    n.windows = function () {
10016        return /win/.test(y);
10017    };
10018    n.windows.api = ['not'];
10019    n.windowsPhone = function () {
10020        return n.windows() && /phone/.test(x);
10021    };
10022    n.windowsPhone.api = ['not'];
10023    n.windowsTablet = function () {
10024        return n.windows() && n.not.windowsPhone() && /touch/.test(x);
10025    };
10026    n.windowsTablet.api = ['not'];
10027    n.propertyCount = function (t, e) {
10028        if (n.not.object(t) || n.not.number(e)) {
10029            return false;
10030        }
10031        var a = 0;
10032        for (var u in t) {
10033            if (r.call(t, u) && ++a > e) {
10034                return false;
10035            }
10036        }
10037        return a === e;
10038    };
10039    n.propertyCount.api = ['not'];
10040    n.propertyDefined = function (t, e) {
10041        return n.object(t) && n.string(e) && e in t;
10042    };
10043    n.propertyDefined.api = ['not'];
10044    n.inArray = function (t, e) {
10045        if (n.not.array(e)) {
10046            return false;
10047        }
10048        for (var r = 0; r < e.length; r++) {
10049            if (e[r] === t) {
10050                return true;
10051            }
10052        }
10053        return false;
10054    };
10055    n.inArray.api = ['not'];
10056    n.sorted = function (t, e) {
10057        if (n.not.array(t)) {
10058            return false;
10059        }
10060        var r = i[e] || i['>='];
10061        for (var a = 1; a < t.length; a++) {
10062            if (!r(t[a], t[a - 1])) {
10063                return false;
10064            }
10065        }
10066        return true;
10067    };
10068    function j() {
10069        var t = n;
10070        for (var e in t) {
10071            if (r.call(t, e) && n['function'](t[e])) {
10072                var i = t[e].api || ['not', 'all', 'any'];
10073                for (var f = 0; f < i.length; f++) {
10074                    if (i[f] === 'not') {
10075                        n.not[e] = a(n[e]);
10076                    }
10077                    if (i[f] === 'all') {
10078                        n.all[e] = u(n[e]);
10079                    }
10080                    if (i[f] === 'any') {
10081                        n.any[e] = o(n[e]);
10082                    }
10083                }
10084            }
10085        }
10086    }
10087    j();
10088    n.setNamespace = function () {
10089        b.is = m;
10090        return this;
10091    };
10092    n.setRegexp = function (n, t) {
10093        for (var e in l) {
10094            if (r.call(l, e) && t === e) {
10095                l[e] = n;
10096            }
10097        }
10098    };
10099    return n;
10100});
10101
10102/**
10103 * Swiper 8.2.6
10104 * Most modern mobile touch slider and framework with hardware accelerated transitions
10105 * https://swiperjs.com
10106 *
10107 * Copyright 2014-2022 Vladimir Kharlampidi
10108 *
10109 * Released under the MIT License
10110 *
10111 * Released on: June 29, 2022
10112 */
10113
10114!(function (e, t) {
10115    'object' == typeof exports && 'undefined' != typeof module
10116        ? (module.exports = t())
10117        : 'function' == typeof define && define.amd
10118        ? define(t)
10119        : ((e =
10120              'undefined' != typeof globalThis
10121                  ? globalThis
10122                  : e || self).Swiper = t());
10123})(this, function () {
10124    'use strict';
10125    function e(e) {
10126        return (
10127            null !== e &&
10128            'object' == typeof e &&
10129            'constructor' in e &&
10130            e.constructor === Object
10131        );
10132    }
10133    function t(s, a) {
10134        void 0 === s && (s = {}),
10135            void 0 === a && (a = {}),
10136            Object.keys(a).forEach((i) => {
10137                void 0 === s[i]
10138                    ? (s[i] = a[i])
10139                    : e(a[i]) &&
10140                      e(s[i]) &&
10141                      Object.keys(a[i]).length > 0 &&
10142                      t(s[i], a[i]);
10143            });
10144    }
10145    const s = {
10146        body: {},
10147        addEventListener() {},
10148        removeEventListener() {},
10149        activeElement: { blur() {}, nodeName: '' },
10150        querySelector: () => null,
10151        querySelectorAll: () => [],
10152        getElementById: () => null,
10153        createEvent: () => ({ initEvent() {} }),
10154        createElement: () => ({
10155            children: [],
10156            childNodes: [],
10157            style: {},
10158            setAttribute() {},
10159            getElementsByTagName: () => []
10160        }),
10161        createElementNS: () => ({}),
10162        importNode: () => null,
10163        location: {
10164            hash: '',
10165            host: '',
10166            hostname: '',
10167            href: '',
10168            origin: '',
10169            pathname: '',
10170            protocol: '',
10171            search: ''
10172        }
10173    };
10174    function a() {
10175        const e = 'undefined' != typeof document ? document : {};
10176        return t(e, s), e;
10177    }
10178    const i = {
10179        document: s,
10180        navigator: { userAgent: '' },
10181        location: {
10182            hash: '',
10183            host: '',
10184            hostname: '',
10185            href: '',
10186            origin: '',
10187            pathname: '',
10188            protocol: '',
10189            search: ''
10190        },
10191        history: { replaceState() {}, pushState() {}, go() {}, back() {} },
10192        CustomEvent: function () {
10193            return this;
10194        },
10195        addEventListener() {},
10196        removeEventListener() {},
10197        getComputedStyle: () => ({ getPropertyValue: () => '' }),
10198        Image() {},
10199        Date() {},
10200        screen: {},
10201        setTimeout() {},
10202        clearTimeout() {},
10203        matchMedia: () => ({}),
10204        requestAnimationFrame: (e) =>
10205            'undefined' == typeof setTimeout ? (e(), null) : setTimeout(e, 0),
10206        cancelAnimationFrame(e) {
10207            'undefined' != typeof setTimeout && clearTimeout(e);
10208        }
10209    };
10210    function r() {
10211        const e = 'undefined' != typeof window ? window : {};
10212        return t(e, i), e;
10213    }
10214    class n extends Array {
10215        constructor(e) {
10216            'number' == typeof e
10217                ? super(e)
10218                : (super(...(e || [])),
10219                  (function (e) {
10220                      const t = e.__proto__;
10221                      Object.defineProperty(e, '__proto__', {
10222                          get: () => t,
10223                          set(e) {
10224                              t.__proto__ = e;
10225                          }
10226                      });
10227                  })(this));
10228        }
10229    }
10230    function l(e) {
10231        void 0 === e && (e = []);
10232        const t = [];
10233        return (
10234            e.forEach((e) => {
10235                Array.isArray(e) ? t.push(...l(e)) : t.push(e);
10236            }),
10237            t
10238        );
10239    }
10240    function o(e, t) {
10241        return Array.prototype.filter.call(e, t);
10242    }
10243    function d(e, t) {
10244        const s = r(),
10245            i = a();
10246        let l = [];
10247        if (!t && e instanceof n) return e;
10248        if (!e) return new n(l);
10249        if ('string' == typeof e) {
10250            const s = e.trim();
10251            if (s.indexOf('<') >= 0 && s.indexOf('>') >= 0) {
10252                let e = 'div';
10253                0 === s.indexOf('<li') && (e = 'ul'),
10254                    0 === s.indexOf('<tr') && (e = 'tbody'),
10255                    (0 !== s.indexOf('<td') && 0 !== s.indexOf('<th')) ||
10256                        (e = 'tr'),
10257                    0 === s.indexOf('<tbody') && (e = 'table'),
10258                    0 === s.indexOf('<option') && (e = 'select');
10259                const t = i.createElement(e);
10260                t.innerHTML = s;
10261                for (let e = 0; e < t.childNodes.length; e += 1)
10262                    l.push(t.childNodes[e]);
10263            } else
10264                l = (function (e, t) {
10265                    if ('string' != typeof e) return [e];
10266                    const s = [],
10267                        a = t.querySelectorAll(e);
10268                    for (let e = 0; e < a.length; e += 1) s.push(a[e]);
10269                    return s;
10270                })(e.trim(), t || i);
10271        } else if (e.nodeType || e === s || e === i) l.push(e);
10272        else if (Array.isArray(e)) {
10273            if (e instanceof n) return e;
10274            l = e;
10275        }
10276        return new n(
10277            (function (e) {
10278                const t = [];
10279                for (let s = 0; s < e.length; s += 1)
10280                    -1 === t.indexOf(e[s]) && t.push(e[s]);
10281                return t;
10282            })(l)
10283        );
10284    }
10285    d.fn = n.prototype;
10286    const c = {
10287        addClass: function () {
10288            for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
10289                t[s] = arguments[s];
10290            const a = l(t.map((e) => e.split(' ')));
10291            return (
10292                this.forEach((e) => {
10293                    e.classList.add(...a);
10294                }),
10295                this
10296            );
10297        },
10298        removeClass: function () {
10299            for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
10300                t[s] = arguments[s];
10301            const a = l(t.map((e) => e.split(' ')));
10302            return (
10303                this.forEach((e) => {
10304                    e.classList.remove(...a);
10305                }),
10306                this
10307            );
10308        },
10309        hasClass: function () {
10310            for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
10311                t[s] = arguments[s];
10312            const a = l(t.map((e) => e.split(' ')));
10313            return (
10314                o(
10315                    this,
10316                    (e) => a.filter((t) => e.classList.contains(t)).length > 0
10317                ).length > 0
10318            );
10319        },
10320        toggleClass: function () {
10321            for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
10322                t[s] = arguments[s];
10323            const a = l(t.map((e) => e.split(' ')));
10324            this.forEach((e) => {
10325                a.forEach((t) => {
10326                    e.classList.toggle(t);
10327                });
10328            });
10329        },
10330        attr: function (e, t) {
10331            if (1 === arguments.length && 'string' == typeof e)
10332                return this[0] ? this[0].getAttribute(e) : void 0;
10333            for (let s = 0; s < this.length; s += 1)
10334                if (2 === arguments.length) this[s].setAttribute(e, t);
10335                else
10336                    for (const t in e)
10337                        (this[s][t] = e[t]), this[s].setAttribute(t, e[t]);
10338            return this;
10339        },
10340        removeAttr: function (e) {
10341            for (let t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
10342            return this;
10343        },
10344        transform: function (e) {
10345            for (let t = 0; t < this.length; t += 1)
10346                this[t].style.transform = e;
10347            return this;
10348        },
10349        transition: function (e) {
10350            for (let t = 0; t < this.length; t += 1)
10351                this[t].style.transitionDuration =
10352                    'string' != typeof e ? `${e}ms` : e;
10353            return this;
10354        },
10355        on: function () {
10356            for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
10357                t[s] = arguments[s];
10358            let [a, i, r, n] = t;
10359            function l(e) {
10360                const t = e.target;
10361                if (!t) return;
10362                const s = e.target.dom7EventData || [];
10363                if ((s.indexOf(e) < 0 && s.unshift(e), d(t).is(i)))
10364                    r.apply(t, s);
10365                else {
10366                    const e = d(t).parents();
10367                    for (let t = 0; t < e.length; t += 1)
10368                        d(e[t]).is(i) && r.apply(e[t], s);
10369                }
10370            }
10371            function o(e) {
10372                const t = (e && e.target && e.target.dom7EventData) || [];
10373                t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t);
10374            }
10375            'function' == typeof t[1] && (([a, r, n] = t), (i = void 0)),
10376                n || (n = !1);
10377            const c = a.split(' ');
10378            let p;
10379            for (let e = 0; e < this.length; e += 1) {
10380                const t = this[e];
10381                if (i)
10382                    for (p = 0; p < c.length; p += 1) {
10383                        const e = c[p];
10384                        t.dom7LiveListeners || (t.dom7LiveListeners = {}),
10385                            t.dom7LiveListeners[e] ||
10386                                (t.dom7LiveListeners[e] = []),
10387                            t.dom7LiveListeners[e].push({
10388                                listener: r,
10389                                proxyListener: l
10390                            }),
10391                            t.addEventListener(e, l, n);
10392                    }
10393                else
10394                    for (p = 0; p < c.length; p += 1) {
10395                        const e = c[p];
10396                        t.dom7Listeners || (t.dom7Listeners = {}),
10397                            t.dom7Listeners[e] || (t.dom7Listeners[e] = []),
10398                            t.dom7Listeners[e].push({
10399                                listener: r,
10400                                proxyListener: o
10401                            }),
10402                            t.addEventListener(e, o, n);
10403                    }
10404            }
10405            return this;
10406        },
10407        off: function () {
10408            for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
10409                t[s] = arguments[s];
10410            let [a, i, r, n] = t;
10411            'function' == typeof t[1] && (([a, r, n] = t), (i = void 0)),
10412                n || (n = !1);
10413            const l = a.split(' ');
10414            for (let e = 0; e < l.length; e += 1) {
10415                const t = l[e];
10416                for (let e = 0; e < this.length; e += 1) {
10417                    const s = this[e];
10418                    let a;
10419                    if (
10420                        (!i && s.dom7Listeners
10421                            ? (a = s.dom7Listeners[t])
10422                            : i &&
10423                              s.dom7LiveListeners &&
10424                              (a = s.dom7LiveListeners[t]),
10425                        a && a.length)
10426                    )
10427                        for (let e = a.length - 1; e >= 0; e -= 1) {
10428                            const i = a[e];
10429                            (r && i.listener === r) ||
10430                            (r &&
10431                                i.listener &&
10432                                i.listener.dom7proxy &&
10433                                i.listener.dom7proxy === r)
10434                                ? (s.removeEventListener(t, i.proxyListener, n),
10435                                  a.splice(e, 1))
10436                                : r ||
10437                                  (s.removeEventListener(t, i.proxyListener, n),
10438                                  a.splice(e, 1));
10439                        }
10440                }
10441            }
10442            return this;
10443        },
10444        trigger: function () {
10445            const e = r();
10446            for (var t = arguments.length, s = new Array(t), a = 0; a < t; a++)
10447                s[a] = arguments[a];
10448            const i = s[0].split(' '),
10449                n = s[1];
10450            for (let t = 0; t < i.length; t += 1) {
10451                const a = i[t];
10452                for (let t = 0; t < this.length; t += 1) {
10453                    const i = this[t];
10454                    if (e.CustomEvent) {
10455                        const t = new e.CustomEvent(a, {
10456                            detail: n,
10457                            bubbles: !0,
10458                            cancelable: !0
10459                        });
10460                        (i.dom7EventData = s.filter((e, t) => t > 0)),
10461                            i.dispatchEvent(t),
10462                            (i.dom7EventData = []),
10463                            delete i.dom7EventData;
10464                    }
10465                }
10466            }
10467            return this;
10468        },
10469        transitionEnd: function (e) {
10470            const t = this;
10471            return (
10472                e &&
10473                    t.on('transitionend', function s(a) {
10474                        a.target === this &&
10475                            (e.call(this, a), t.off('transitionend', s));
10476                    }),
10477                this
10478            );
10479        },
10480        outerWidth: function (e) {
10481            if (this.length > 0) {
10482                if (e) {
10483                    const e = this.styles();
10484                    return (
10485                        this[0].offsetWidth +
10486                        parseFloat(e.getPropertyValue('margin-right')) +
10487                        parseFloat(e.getPropertyValue('margin-left'))
10488                    );
10489                }
10490                return this[0].offsetWidth;
10491            }
10492            return null;
10493        },
10494        outerHeight: function (e) {
10495            if (this.length > 0) {
10496                if (e) {
10497                    const e = this.styles();
10498                    return (
10499                        this[0].offsetHeight +
10500                        parseFloat(e.getPropertyValue('margin-top')) +
10501                        parseFloat(e.getPropertyValue('margin-bottom'))
10502                    );
10503                }
10504                return this[0].offsetHeight;
10505            }
10506            return null;
10507        },
10508        styles: function () {
10509            const e = r();
10510            return this[0] ? e.getComputedStyle(this[0], null) : {};
10511        },
10512        offset: function () {
10513         
10513   if (this.length > 0) {
10514                const e = r(),
10515                    t = a(),
10516                    s = this[0],
10517                    i = s.getBoundingClientRect(),
10518                    n = t.body,
10519                    l = s.clientTop || n.clientTop || 0,
10520                    o = s.clientLeft || n.clientLeft || 0,
10521                    d = s === e ? e.scrollY : s.scrollTop,
10522                    c = s === e ? e.scrollX : s.scrollLeft;
10523                return { top: i.top + d - l, left: i.left + c - o };
10524            }
10525            return null;
10526        },
10527        css: function (e, t) {
10528            const s = r();
10529            let a;
10530            if (1 === arguments.length) {
10531                if ('string' != typeof e) {
10532                    for (a = 0; a < this.length; a += 1)
10533                        for (const t in e) this[a].style[t] = e[t];
10534                    return this;
10535                }
10536                if (this[0])
10537                    return s
10538                        .getComputedStyle(this[0], null)
10539                        .getPropertyValue(e);
10540            }
10541            if (2 === arguments.length && 'string' == typeof e) {
10542                for (a = 0; a < this.length; a += 1) this[a].style[e] = t;
10543                return this;
10544            }
10545            return this;
10546        },
10547        each: function (e) {
10548            return e
10549                ? (this.forEach((t, s) => {
10550                      e.apply(t, [t, s]);
10551                  }),
10552                  this)
10553                : this;
10554        },
10555        html: function (e) {
10556            if (void 0 === e) return this[0] ? this[0].innerHTML : null;
10557            for (let t = 0; t < this.length; t += 1) this[t].innerHTML = e;
10558            return this;
10559        },
10560        text: function (e) {
10561            if (void 0 === e)
10562                return this[0] ? this[0].textContent.trim() : null;
10563            for (let t = 0; t < this.length; t += 1) this[t].textContent = e;
10564            return this;
10565        },
10566        is: function (e) {
10567            const t = r(),
10568                s = a(),
10569                i = this[0];
10570            let l, o;
10571            if (!i || void 0 === e) return !1;
10572            if ('string' == typeof e) {
10573                if (i.matches) return i.matches(e);
10574                if (i.webkitMatchesSelector) return i.webkitMatchesSelector(e);
10575                if (i.msMatchesSelector) return i.msMatchesSelector(e);
10576                for (l = d(e), o = 0; o < l.length; o += 1)
10577                    if (l[o] === i) return !0;
10578                return !1;
10579            }
10580            if (e === s) return i === s;
10581            if (e === t) return i === t;
10582            if (e.nodeType || e instanceof n) {
10583                for (l = e.nodeType ? [e] : e, o = 0; o < l.length; o += 1)
10584                    if (l[o] === i) return !0;
10585                return !1;
10586            }
10587            return !1;
10588        },
10589        index: function () {
10590            let e,
10591                t = this[0];
10592            if (t) {
10593                for (e = 0; null !== (t = t.previousSibling); )
10594                    1 === t.nodeType && (e += 1);
10595                return e;
10596            }
10597        },
10598        eq: function (e) {
10599            if (void 0 === e) return this;
10600            const t = this.length;
10601            if (e > t - 1) return d([]);
10602            if (e < 0) {
10603                const s = t + e;
10604                return d(s < 0 ? [] : [this[s]]);
10605            }
10606            return d([this[e]]);
10607        },
10608        append: function () {
10609            let e;
10610            const t = a();
10611            for (let s = 0; s < arguments.length; s += 1) {
10612                e = s < 0 || arguments.length <= s ? void 0 : arguments[s];
10613                for (let s = 0; s < this.length; s += 1)
10614                    if ('string' == typeof e) {
10615                        const a = t.createElement('div');
10616                        for (a.innerHTML = e; a.firstChild; )
10617                            this[s].appendChild(a.firstChild);
10618                    } else if (e instanceof n)
10619                        for (let t = 0; t < e.length; t += 1)
10620                            this[s].appendChild(e[t]);
10621                    else this[s].appendChild(e);
10622            }
10623            return this;
10624        },
10625        prepend: function (e) {
10626            const t = a();
10627            let s, i;
10628            for (s = 0; s < this.length; s += 1)
10629                if ('string' == typeof e) {
10630                    const a = t.createElement('div');
10631                    for (
10632                        a.innerHTML = e, i = a.childNodes.length - 1;
10633                        i >= 0;
10634                        i -= 1
10635                    )
10636                        this[s].insertBefore(
10637                            a.childNodes[i],
10638                            this[s].childNodes[0]
10639                        );
10640                } else if (e instanceof n)
10641                    for (i = 0; i < e.length; i += 1)
10642                        this[s].insertBefore(e[i], this[s].childNodes[0]);
10643                else this[s].insertBefore(e, this[s].childNodes[0]);
10644            return this;
10645        },
10646        next: function (e) {
10647            return this.length > 0
10648                ? e
10649                    ? this[0].nextElementSibling &&
10650                      d(this[0].nextElementSibling).is(e)
10651                        ? d([this[0].nextElementSibling])
10652                        : d([])
10653                    : this[0].nextElementSibling
10654                    ? d([this[0].nextElementSibling])
10655                    : d([])
10656                : d([]);
10657        },
10658        nextAll: function (e) {
10659            const t = [];
10660            let s = this[0];
10661            if (!s) return d([]);
10662            for (; s.nextElementSibling; ) {
10663                const a = s.nextElementSibling;
10664                e ? d(a).is(e) && t.push(a) : t.push(a), (s = a);
10665            }
10666            return d(t);
10667        },
10668        prev: function (e) {
10669            if (this.length > 0) {
10670                const t = this[0];
10671                return e
10672                    ? t.previousElementSibling &&
10673                      d(t.previousElementSibling).is(e)
10674                        ? d([t.previousElementSibling])
10675                        : d([])
10676                    : t.previousElementSibling
10677                    ? d([t.previousElementSibling])
10678                    : d([]);
10679            }
10680            return d([]);
10681        },
10682        prevAll: function (e) {
10683            const t = [];
10684            let s = this[0];
10685            if (!s) return d([]);
10686            for (; s.previousElementSibling; ) {
10687                const a = s.previousElementSibling;
10688                e ? d(a).is(e) && t.push(a) : t.push(a), (s = a);
10689            }
10690            return d(t);
10691        },
10692        parent: function (e) {
10693            const t = [];
10694            for (let s = 0; s < this.length; s += 1)
10695                null !== this[s].parentNode &&
10696                    (e
10697                        ? d(this[s].parentNode).is(e) &&
10698                          t.push(this[s].parentNode)
10699                        : t.push(this[s].parentNode));
10700            return d(t);
10701        },
10702        parents: function (e) {
10703            const t = [];
10704            for (let s = 0; s < this.length; s += 1) {
10705                let a = this[s].parentNode;
10706                for (; a; )
10707                    e ? d(a).is(e) && t.push(a) : t.push(a), (a = a.parentNode);
10708            }
10709            return d(t);
10710        },
10711        closest: function (e) {
10712            let t = this;
10713            return void 0 === e
10714                ? d([])
10715                : (t.is(e) || (t = t.parents(e).eq(0)), t);
10716        },
10717        find: function (e) {
10718            const t = [];
10719            for (let s = 0; s < this.length; s += 1) {
10720                const a = this[s].querySelectorAll(e);
10721                for (let e = 0; e < a.length; e += 1) t.push(a[e]);
10722            }
10723            return d(t);
10724        },
10725        children: function (e) {
10726            const t = [];
10727            for (let s = 0; s < this.length; s += 1) {
10728                const a = this[s].children;
10729                for (let s = 0; s < a.length; s += 1)
10730                    (e && !d(a[s]).is(e)) || t.push(a[s]);
10731            }
10732            return d(t);
10733        },
10734        filter: function (e) {
10735            return d(o(this, e));
10736        },
10737        remove: function () {
10738            for (let e = 0; e < this.length; e += 1)
10739                this[e].parentNode && this[e].parentNode.removeChild(this[e]);
10740            return this;
10741        }
10742    };
10743    function p(e, t) {
10744        return void 0 === t && (t = 0), setTimeout(e, t);
10745    }
10746    function u() {
10747        return Date.now();
10748    }
10749    function h(e, t) {
10750        void 0 === t && (t = 'x');
10751        const s = r();
10752        let a, i, n;
10753        const l = (function (e) {
10754            const t = r();
10755            let s;
10756            return (
10757                t.getComputedStyle && (s = t.getComputedStyle(e, null)),
10758                !s && e.currentStyle && (s = e.currentStyle),
10759                s || (s = e.style),
10760                s
10761            );
10762        })(e);
10763        return (
10764            s.WebKitCSSMatrix
10765                ? ((i = l.transform || l.webkitTransform),
10766                  i.split(',').length > 6 &&
10767                      (i = i
10768                          .split(', ')
10769                          .map((e) => e.replace(',', '.'))
10770                          .join(', ')),
10771                  (n = new s.WebKitCSSMatrix('none' === i ? '' : i)))
10772                : ((n =
10773                      l.MozTransform ||
10774                      l.OTransform ||
10775                      l.MsTransform ||
10776                      l.msTransform ||
10777                      l.transform ||
10778                      l
10779                          .getPropertyValue('transform')
10780                          .replace('translate(', 'matrix(1, 0, 0, 1,')),
10781                  (a = n.toString().split(','))),
10782            'x' === t &&
10783                (i = s.WebKitCSSMatrix
10784                    ? n.m41
10785                    : 16 === a.length
10786                    ? parseFloat(a[12])
10787                    : parseFloat(a[4])),
10788            'y' === t &&
10789                (i = s.WebKitCSSMatrix
10790                    ? n.m42
10791                    : 16 === a.length
10792                    ? parseFloat(a[13])
10793                    : parseFloat(a[5])),
10794            i || 0
10795        );
10796    }
10797    function m(e) {
10798        return (
10799            'object' == typeof e &&
10800            null !== e &&
10801            e.constructor &&
10802            'Object' === Object.prototype.toString.call(e).slice(8, -1)
10803        );
10804    }
10805    function f(e) {
10806        return 'undefined' != typeof window && void 0 !== window.HTMLElement
10807            ? e instanceof HTMLElement
10808            : e && (1 === e.nodeType || 11 === e.nodeType);
10809    }
10810    function g() {
10811        const e = Object(arguments.length <= 0 ? void 0 : arguments[0]),
10812            t = ['__proto__', 'constructor', 'prototype'];
10813        for (let s = 1; s < arguments.length; s += 1) {
10814            const a = s < 0 || arguments.length <= s ? void 0 : arguments[s];
10815            if (null != a && !f(a)) {
10816                const s = Object.keys(Object(a)).filter(
10817                    (e) => t.indexOf(e) < 0
10818                );
10819                for (let t = 0, i = s.length; t < i; t += 1) {
10820                    const i = s[t],
10821                        r = Object.getOwnPropertyDescriptor(a, i);
10822                    void 0 !== r &&
10823                        r.enumerable &&
10824                        (m(e[i]) && m(a[i])
10825                            ? a[i].__swiper__
10826                                ? (e[i] = a[i])
10827                                : g(e[i], a[i])
10828                            : !m(e[i]) && m(a[i])
10829                            ? ((e[i] = {}),
10830                              a[i].__swiper__ ? (e[i] = a[i]) : g(e[i], a[i]))
10831                            : (e[i] = a[i]));
10832                }
10833            }
10834        }
10835        return e;
10836    }
10837    function v(e, t, s) {
10838        e.style.setProperty(t, s);
10839    }
10840    function w(e) {
10841        let { swiper: t, targetPosition: s, side: a } = e;
10842        const i = r(),
10843            n = -t.translate;
10844        let l,
10845            o = null;
10846        const d = t.params.speed;
10847        (t.wrapperEl.style.scrollSnapType = 'none'),
10848            i.cancelAnimationFrame(t.cssModeFrameID);
10849        const c = s > n ? 'next' : 'prev',
10850            p = (e, t) => ('next' === c && e >= t) || ('prev' === c && e <= t),
10851            u = () => {
10852                (l = new Date().getTime()), null === o && (o = l);
10853                const e = Math.max(Math.min((l - o) / d, 1), 0),
10854                    r = 0.5 - Math.cos(e * Math.PI) / 2;
10855                let c = n + r * (s - n);
10856                if (
10857                    (p(c, s) && (c = s),
10858                    t.wrapperEl.scrollTo({ [a]: c }),
10859                    p(c, s))
10860                )
10861                    return (
10862                        (t.wrapperEl.style.overflow = 'hidden'),
10863                        (t.wrapperEl.style.scrollSnapType = ''),
10864                        setTimeout(() => {
10865                            (t.wrapperEl.style.overflow = ''),
10866                                t.wrapperEl.scrollTo({ [a]: c });
10867                        }),
10868                        void i.cancelAnimationFrame(t.cssModeFrameID)
10869                    );
10870                t.cssModeFrameID = i.requestAnimationFrame(u);
10871            };
10872        u();
10873    }
10874    let b, x, y;
10875    function E() {
10876        return (
10877            b ||
10878                (b = (function () {
10879                    const e = r(),
10880                        t = a();
10881                    return {
10882                        smoothScroll:
10883                            t.documentElement &&
10884                            'scrollBehavior' in t.documentElement.style,
10885                        touch: !!(
10886                            'ontouchstart' in e ||
10887                            (e.DocumentTouch && t instanceof e.DocumentTouch)
10888                        ),
10889                        passiveListener: (function () {
10890                            let t = !1;
10891                            try {
10892                                const s = Object.defineProperty({}, 'passive', {
10893                                    get() {
10894                                        t = !0;
10895                                    }
10896                                });
10897                                e.addEventListener(
10898                                    'testPassiveListener',
10899                                    null,
10900                                    s
10901                                );
10902                            } catch (e) {}
10903                            return t;
10904                        })(),
10905                        gestures: 'ongesturestart' in e
10906                    };
10907                })()),
10908            b
10909        );
10910    }
10911    function C(e) {
10912        return (
10913            void 0 === e && (e = {}),
10914            x ||
10915                (x = (function (e) {
10916                    let { userAgent: t } = void 0 === e ? {} : e;
10917                    const s = E(),
10918                        a = r(),
10919                        i = a.navigator.platform,
10920                        n = t || a.navigator.userAgent,
10921                        l = { ios: !1, android: !1 },
10922                        o = a.screen.width,
10923                        d = a.screen.height,
10924                        c = n.match(/(Android);?[\s\/]+([\d.]+)?/);
10925                    let p = n.match(/(iPad).*OS\s([\d_]+)/);
10926                    const u = n.match(/(iPod)(.*OS\s([\d_]+))?/),
10927                        h = !p && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
10928                        m = 'Win32' === i;
10929                    let f = 'MacIntel' === i;
10930                    return (
10931                        !p &&
10932                            f &&
10933                            s.touch &&
10934                            [
10935                                '1024x1366',
10936                                '1366x1024',
10937                                '834x1194',
10938                                '1194x834',
10939                                '834x1112',
10940                                '1112x834',
10941                                '768x1024',
10942                                '1024x768',
10943                                '820x1180',
10944                                '1180x820',
10945                                '810x1080',
10946                                '1080x810'
10947                            ].indexOf(`${o}x${d}`) >= 0 &&
10948                            ((p = n.match(/(Version)\/([\d.]+)/)),
10949                            p || (p = [0, 1, '13_0_0']),
10950                            (f = !1)),
10951                        c && !m && ((l.os = 'android'), (l.android = !0)),
10952                        (p || h || u) && ((l.os = 'ios'), (l.ios = !0)),
10953                        l
10954                    );
10955                })(e)),
10956            x
10957        );
10958    }
10959    function T() {
10960        return (
10961            y ||
10962                (y = (function () {
10963                    const e = r();
10964                    return {
10965                        isSafari: (function () {
10966                            const t = e.navigator.userAgent.toLowerCase();
10967                            return (
10968                                t.indexOf('safari') >= 0 &&
10969                                t.indexOf('chrome') < 0 &&
10970                                t.indexOf('android') < 0
10971                            );
10972                        })(),
10973                        isWebView:
10974                            /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
10975                                e.navigator.userAgent
10976                            )
10977                    };
10978                })()),
10979            y
10980        );
10981    }
10982    Object.keys(c).forEach((e) => {
10983        Object.defineProperty(d.fn, e, { value: c[e], writable: !0 });
10984    });
10985    var $ = {
10986        on(e, t, s) {
10987            const a = this;
10988            if (!a.eventsListeners || a.destroyed) return a;
10989            if ('function' != typeof t) return a;
10990            const i = s ? 'unshift' : 'push';
10991            return (
10992                e.split(' ').forEach((e) => {
10993                    a.eventsListeners[e] || (a.eventsListeners[e] = []),
10994                        a.eventsListeners[e][i](t);
10995                }),
10996                a
10997            );
10998        },
10999        once(e, t, s) {
11000            const a = this;
11001            if (!a.eventsListeners || a.destroyed) return a;
11002            if ('function' != typeof t) return a;
11003            function i() {
11004                a.off(e, i), i.__emitterProxy && delete i.__emitterProxy;
11005                for (
11006                    var s = arguments.length, r = new Array(s), n = 0;
11007                    n < s;
11008                    n++
11009                )
11010                    r[n] = arguments[n];
11011                t.apply(a, r);
11012            }
11013            return (i.__emitterProxy = t), a.on(e, i, s);
11014        },
11015        onAny(e, t) {
11016            const s = this;
11017            if (!s.eventsListeners || s.destroyed) return s;
11018            if ('function' != typeof e) return s;
11019            const a = t ? 'unshift' : 'push';
11020            return (
11021                s.eventsAnyListeners.indexOf(e) < 0 &&
11022                    s.eventsAnyListeners[a](e),
11023                s
11024            );
11025        },
11026        offAny(e) {
11027            const t = this;
11028            if (!t.eventsListeners || t.destroyed) return t;
11029            if (!t.eventsAnyListeners) return t;
11030            const s = t.eventsAnyListeners.indexOf(e);
11031            return s >= 0 && t.eventsAnyListeners.splice(s, 1), t;
11032        },
11033        off(e, t) {
11034            const s = this;
11035            return !s.eventsListeners || s.destroyed
11036                ? s
11037                : s.eventsListeners
11038                ? (e.split(' ').forEach((e) => {
11039                      void 0 === t
11040                          ? (s.eventsListeners[e] = [])
11041                          : s.eventsListeners[e] &&
11042                            s.eventsListeners[e].forEach((a, i) => {
11043                                (a === t ||
11044                                    (a.__emitterProxy &&
11045                                        a.__emitterProxy === t)) &&
11046                                    s.eventsListeners[e].splice(i, 1);
11047                            });
11048                  }),
11049                  s)
11050                : s;
11051        },
11052        emit() {
11053            const e = this;
11054            if (!e.eventsListeners || e.destroyed) return e;
11055            if (!e.eventsListeners) return e;
11056            let t, s, a;
11057            for (var i = arguments.length, r = new Array(i), n = 0; n < i; n++)
11058                r[n] = arguments[n];
11059            'string' == typeof r[0] || Array.isArray(r[0])
11060                ? ((t = r[0]), (s = r.slice(1, r.length)), (a = e))
11061                : ((t = r[0].events), (s = r[0].data), (a = r[0].context || e)),
11062                s.unshift(a);
11063            return (
11064                (Array.isArray(t) ? t : t.split(' ')).forEach((t) => {
11065                    e.eventsAnyListeners &&
11066                        e.eventsAnyListeners.length &&
11067                        e.eventsAnyListeners.forEach((e) => {
11068                            e.apply(a, [t, ...s]);
11069                        }),
11070                        e.eventsListeners &&
11071                            e.eventsListeners[t] &&
11072                            e.eventsListeners[t].forEach((e) => {
11073                                e.apply(a, s);
11074                            });
11075                }),
11076                e
11077            );
11078        }
11079    };
11080    var S = {
11081        updateSize: function () {
11082            const e = this;
11083            let t, s;
11084            const a = e.$el;
11085            (t =
11086                void 0 !== e.params.width && null !== e.params.width
11087                    ? e.params.width
11088                    : a[0].clientWidth),
11089                (s =
11090                    void 0 !== e.params.height && null !== e.params.height
11091                        ? e.params.height
11092                        : a[0].clientHeight),
11093                (0 === t && e.isHorizontal()) ||
11094                    (0 === s && e.isVertical()) ||
11095                    ((t =
11096                        t -
11097                        parseInt(a.css('padding-left') || 0, 10) -
11098                        parseInt(a.css('padding-right') || 0, 10)),
11099                    (s =
11100                        s -
11101                        parseInt(a.css('padding-top') || 0, 10) -
11102                        parseInt(a.css('padding-bottom') || 0, 10)),
11103                    Number.isNaN(t) && (t = 0),
11104                    Number.isNaN(s) && (s = 0),
11105                    Object.assign(e, {
11106                        width: t,
11107                        height: s,
11108                        size: e.isHorizontal() ? t : s
11109                    }));
11110        },
11111        updateSlides: function () {
11112            const e = this;
11113            function t(t) {
11114                return e.isHorizontal()
11115                    ? t
11116                    : {
11117                          width: 'height',
11118                          'margin-top': 'margin-left',
11119                          'margin-bottom ': 'margin-right',
11120                          'margin-left': 'margin-top',
11121                          'margin-right': 'margin-bottom',
11122                          'padding-left': 'padding-top',
11123                          'padding-right': 'padding-bottom',
11124                          marginRight: 'marginBottom'
11125                      }[t];
11126            }
11127            function s(e, s) {
11128                return parseFloat(e.getPropertyValue(t(s)) || 0);
11129            }
11130            const a = e.params,
11131                { $wrapperEl: i, size: r, rtlTranslate: n, wrongRTL: l } = e,
11132                o = e.virtual && a.virtual.enabled,
11133                d = o ? e.virtual.slides.length : e.slides.length,
11134                c = i.children(`.${e.params.slideClass}`),
11135                p = o ? e.virtual.slides.length : c.length;
11136            let u = [];
11137            const h = [],
11138                m = [];
11139            let f = a.slidesOffsetBefore;
11140            'function' == typeof f && (f = a.slidesOffsetBefore.call(e));
11141            let g = a.slidesOffsetAfter;
11142            'function' == typeof g && (g = a.slidesOffsetAfter.call(e));
11143            const w = e.snapGrid.length,
11144                b = e.slidesGrid.length;
11145            let x = a.spaceBetween,
11146                y = -f,
11147                E = 0,
11148                C = 0;
11149            if (void 0 === r) return;
11150            'string' == typeof x &&
11151                x.indexOf('%') >= 0 &&
11152                (x = (parseFloat(x.replace('%', '')) / 100) * r),
11153                (e.virtualSize = -x),
11154                n
11155                    ? c.css({ marginLeft: '', marginBottom: '', marginTop: '' })
11156                    : c.css({
11157                          marginRight: '',
11158                          marginBottom: '',
11159                          marginTop: ''
11160                      }),
11161                a.centeredSlides &&
11162                    a.cssMode &&
11163                    (v(e.wrapperEl, '--swiper-centered-offset-before', ''),
11164                    v(e.wrapperEl, '--swiper-centered-offset-after', ''));
11165            const T = a.grid && a.grid.rows > 1 && e.grid;
11166            let $;
11167            T && e.grid.initSlides(p);
11168            const S =
11169                'auto' === a.slidesPerView &&
11170                a.breakpoints &&
11171                Object.keys(a.breakpoints).filter(
11172                    (e) => void 0 !== a.breakpoints[e].slidesPerView
11173                ).length > 0;
11174            for (let i = 0; i < p; i += 1) {
11175                $ = 0;
11176                const n = c.eq(i);
11177                if (
11178                    (T && e.grid.updateSlide(i, n, p, t),
11179                    'none' !== n.css('display'))
11180                ) {
11181                    if ('auto' === a.slidesPerView) {
11182                        S && (c[i].style[t('width')] = '');
11183                        const r = getComputedStyle(n[0]),
11184                            l = n[0].style.transform,
11185                            o = n[0].style.webkitTransform;
11186                        if (
11187                            (l && (n[0].style.transform = 'none'),
11188                            o && (n[0].style.webkitTransform = 'none'),
11189                            a.roundLengths)
11190                        )
11191                            $ = e.isHorizontal()
11192                                ? n.outerWidth(!0)
11193                                : n.outerHeight(!0);
11194                        else {
11195                            const e = s(r, 'width'),
11196                                t = s(r, 'padding-left'),
11197                                a = s(r, 'padding-right'),
11198                                i = s(r, 'margin-left'),
11199                                l = s(r, 'margin-right'),
11200                                o = r.getPropertyValue('box-sizing');
11201                            if (o && 'border-box' === o) $ = e + i + l;
11202                            else {
11203                                const { clientWidth: s, offsetWidth: r } = n[0];
11204                                $ = e + t + a + i + l + (r - s);
11205                            }
11206                        }
11207                        l && (n[0].style.transform = l),
11208                            o && (n[0].style.webkitTransform = o),
11209                            a.roundLengths && ($ = Math.floor($));
11210                    } else
11211                        ($ = (r - (a.slidesPerView - 1) * x) / a.slidesPerView),
11212                            a.roundLengths && ($ = Math.floor($)),
11213                            c[i] && (c[i].style[t('width')] = `${$}px`);
11214                    c[i] && (c[i].swiperSlideSize = $),
11215                        m.push($),
11216                        a.centeredSlides
11217                            ? ((y = y + $ / 2 + E / 2 + x),
11218                              0 === E && 0 !== i && (y = y - r / 2 - x),
11219                              0 === i && (y = y - r / 2 - x),
11220                              Math.abs(y) < 0.001 && (y = 0),
11221                              a.roundLengths && (y = Math.floor(y)),
11222                              C % a.slidesPerGroup == 0 && u.push(y),
11223                              h.push(y))
11224                            : (a.roundLengths && (y = Math.floor(y)),
11225                              (C - Math.min(e.params.slidesPerGroupSkip, C)) %
11226                                  e.params.slidesPerGroup ==
11227                                  0 && u.push(y),
11228                              h.push(y),
11229                              (y = y + $ + x)),
11230                        (e.virtualSize += $ + x),
11231                        (E = $),
11232                        (C += 1);
11233                }
11234            }
11235            if (
11236                ((e.virtualSize = Math.max(e.virtualSize, r) + g),
11237                n &&
11238                    l &&
11239                    ('slide' === a.effect || 'coverflow' === a.effect) &&
11240                    i.css({ width: `${e.virtualSize + a.spaceBetween}px` }),
11241                a.setWrapperSize &&
11242                    i.css({
11243                        [t('width')]: `${e.virtualSize + a.spaceBetween}px`
11244                    }),
11245                T && e.grid.updateWrapperSize($, u, t),
11246                !a.centeredSlides)
11247            ) {
11248                const t = [];
11249                for (let s = 0; s < u.length; s += 1) {
11250                    let i = u[s];
11251                    a.roundLengths && (i = Math.floor(i)),
11252                        u[s] <= e.virtualSize - r && t.push(i);
11253                }
11254                (u = t),
11255                    Math.floor(e.virtualSize - r) -
11256                        Math.floor(u[u.length - 1]) >
11257                        1 && u.push(e.virtualSize - r);
11258            }
11259            if ((0 === u.length && (u = [0]), 0 !== a.spaceBetween)) {
11260                const s =
11261                    e.isHorizontal() && n ? 'marginLeft' : t('marginRight');
11262                c.filter((e, t) => !a.cssMode || t !== c.length - 1).css({
11263                    [s]: `${x}px`
11264                });
11265            }
11266            if (a.centeredSlides && a.centeredSlidesBounds) {
11267                let e = 0;
11268                m.forEach((t) => {
11269                    e += t + (a.spaceBetween ? a.spaceBetween : 0);
11270                }),
11271                    (e -= a.spaceBetween);
11272                const t = e - r;
11273                u = u.map((e) => (e < 0 ? -f : e > t ? t + g : e));
11274            }
11275            if (a.centerInsufficientSlides) {
11276                let e = 0;
11277                if (
11278                    (m.forEach((t) => {
11279                        e += t + (a.spaceBetween ? a.spaceBetween : 0);
11280                    }),
11281                    (e -= a.spaceBetween),
11282                    e < r)
11283                ) {
11284                    const t = (r - e) / 2;
11285                    u.forEach((e, s) => {
11286                        u[s] = e - t;
11287                    }),
11288                        h.forEach((e, s) => {
11289                            h[s] = e + t;
11290                        });
11291                }
11292            }
11293            if (
11294                (Object.assign(e, {
11295                    slides: c,
11296                    snapGrid: u,
11297                    slidesGrid: h,
11298                    slidesSizesGrid: m
11299                }),
11300                a.centeredSlides && a.cssMode && !a.centeredSlidesB
11300ounds)
11301            ) {
11302                v(e.wrapperEl, '--swiper-centered-offset-before', -u[0] + 'px'),
11303                    v(
11304                        e.wrapperEl,
11305                        '--swiper-centered-offset-after',
11306                        e.size / 2 - m[m.length - 1] / 2 + 'px'
11307                    );
11308                const t = -e.snapGrid[0],
11309                    s = -e.slidesGrid[0];
11310                (e.snapGrid = e.snapGrid.map((e) => e + t)),
11311                    (e.slidesGrid = e.slidesGrid.map((e) => e + s));
11312            }
11313            if (
11314                (p !== d && e.emit('slidesLengthChange'),
11315                u.length !== w &&
11316                    (e.params.watchOverflow && e.checkOverflow(),
11317                    e.emit('snapGridLengthChange')),
11318                h.length !== b && e.emit('slidesGridLengthChange'),
11319                a.watchSlidesProgress && e.updateSlidesOffset(),
11320                !(
11321                    o ||
11322                    a.cssMode ||
11323                    ('slide' !== a.effect && 'fade' !== a.effect)
11324                ))
11325            ) {
11326                const t = `${a.containerModifierClass}backface-hidden`,
11327                    s = e.$el.hasClass(t);
11328                p <= a.maxBackfaceHiddenSlides
11329                    ? s || e.$el.addClass(t)
11330                    : s && e.$el.removeClass(t);
11331            }
11332        },
11333        updateAutoHeight: function (e) {
11334            const t = this,
11335                s = [],
11336                a = t.virtual && t.params.virtual.enabled;
11337            let i,
11338                r = 0;
11339            'number' == typeof e
11340                ? t.setTransition(e)
11341                : !0 === e && t.setTransition(t.params.speed);
11342            const n = (e) =>
11343                a
11344                    ? t.slides.filter(
11345                          (t) =>
11346                              parseInt(
11347                                  t.getAttribute('data-swiper-slide-index'),
11348                                  10
11349                              ) === e
11350                      )[0]
11351                    : t.slides.eq(e)[0];
11352            if ('auto' !== t.params.slidesPerView && t.params.slidesPerView > 1)
11353                if (t.params.centeredSlides)
11354                    (t.visibleSlides || d([])).each((e) => {
11355                        s.push(e);
11356                    });
11357                else
11358                    for (i = 0; i < Math.ceil(t.params.slidesPerView); i += 1) {
11359                        const e = t.activeIndex + i;
11360                        if (e > t.slides.length && !a) break;
11361                        s.push(n(e));
11362                    }
11363            else s.push(n(t.activeIndex));
11364            for (i = 0; i < s.length; i += 1)
11365                if (void 0 !== s[i]) {
11366                    const e = s[i].offsetHeight;
11367                    r = e > r ? e : r;
11368                }
11369            (r || 0 === r) && t.$wrapperEl.css('height', `${r}px`);
11370        },
11371        updateSlidesOffset: function () {
11372            const e = this,
11373                t = e.slides;
11374            for (let s = 0; s < t.length; s += 1)
11375                t[s].swiperSlideOffset = e.isHorizontal()
11376                    ? t[s].offsetLeft
11377                    : t[s].offsetTop;
11378        },
11379        updateSlidesProgress: function (e) {
11380            void 0 === e && (e = (this && this.translate) || 0);
11381            const t = this,
11382                s = t.params,
11383                { slides: a, rtlTranslate: i, snapGrid: r } = t;
11384            if (0 === a.length) return;
11385            void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset();
11386            let n = -e;
11387            i && (n = e),
11388                a.removeClass(s.slideVisibleClass),
11389                (t.visibleSlidesIndexes = []),
11390                (t.visibleSlides = []);
11391            for (let e = 0; e < a.length; e += 1) {
11392                const l = a[e];
11393                let o = l.swiperSlideOffset;
11394                s.cssMode && s.centeredSlides && (o -= a[0].swiperSlideOffset);
11395                const d =
11396                        (n + (s.centeredSlides ? t.minTranslate() : 0) - o) /
11397                        (l.swiperSlideSize + s.spaceBetween),
11398                    c =
11399                        (n -
11400                            r[0] +
11401                            (s.centeredSlides ? t.minTranslate() : 0) -
11402                            o) /
11403                        (l.swiperSlideSize + s.spaceBetween),
11404                    p = -(n - o),
11405                    u = p + t.slidesSizesGrid[e];
11406                ((p >= 0 && p < t.size - 1) ||
11407                    (u > 1 && u <= t.size) ||
11408                    (p <= 0 && u >= t.size)) &&
11409                    (t.visibleSlides.push(l),
11410                    t.visibleSlidesIndexes.push(e),
11411                    a.eq(e).addClass(s.slideVisibleClass)),
11412                    (l.progress = i ? -d : d),
11413                    (l.originalProgress = i ? -c : c);
11414            }
11415            t.visibleSlides = d(t.visibleSlides);
11416        },
11417        updateProgress: function (e) {
11418            const t = this;
11419            if (void 0 === e) {
11420                const s = t.rtlTranslate ? -1 : 1;
11421                e = (t && t.translate && t.translate * s) || 0;
11422            }
11423            const s = t.params,
11424                a = t.maxTranslate() - t.minTranslate();
11425            let { progress: i, isBeginning: r, isEnd: n } = t;
11426            const l = r,
11427                o = n;
11428            0 === a
11429                ? ((i = 0), (r = !0), (n = !0))
11430                : ((i = (e - t.minTranslate()) / a),
11431                  (r = i <= 0),
11432                  (n = i >= 1)),
11433                Object.assign(t, { progress: i, isBeginning: r, isEnd: n }),
11434                (s.watchSlidesProgress || (s.centeredSlides && s.autoHeight)) &&
11435                    t.updateSlidesProgress(e),
11436                r && !l && t.emit('reachBeginning toEdge'),
11437                n && !o && t.emit('reachEnd toEdge'),
11438                ((l && !r) || (o && !n)) && t.emit('fromEdge'),
11439                t.emit('progress', i);
11440        },
11441        updateSlidesClasses: function () {
11442            const e = this,
11443                {
11444                    slides: t,
11445                    params: s,
11446                    $wrapperEl: a,
11447                    activeIndex: i,
11448                    realIndex: r
11449                } = e,
11450                n = e.virtual && s.virtual.enabled;
11451            let l;
11452            t.removeClass(
11453                `${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`
11454            ),
11455                (l = n
11456                    ? e.$wrapperEl.find(
11457                          `.${s.slideClass}[data-swiper-slide-index="${i}"]`
11458                      )
11459                    : t.eq(i)),
11460                l.addClass(s.slideActiveClass),
11461                s.loop &&
11462                    (l.hasClass(s.slideDuplicateClass)
11463                        ? a
11464                              .children(
11465                                  `.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`
11466                              )
11467                              .addClass(s.slideDuplicateActiveClass)
11468                        : a
11469                              .children(
11470                                  `.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`
11471                              )
11472                              .addClass(s.slideDuplicateActiveClass));
11473            let o = l
11474                .nextAll(`.${s.slideClass}`)
11475                .eq(0)
11476                .addClass(s.slideNextClass);
11477            s.loop &&
11478                0 === o.length &&
11479                ((o = t.eq(0)), o.addClass(s.slideNextClass));
11480            let d = l
11481                .prevAll(`.${s.slideClass}`)
11482                .eq(0)
11483                .addClass(s.slidePrevClass);
11484            s.loop &&
11485                0 === d.length &&
11486                ((d = t.eq(-1)), d.addClass(s.slidePrevClass)),
11487                s.loop &&
11488                    (o.hasClass(s.slideDuplicateClass)
11489                        ? a
11490                              .children(
11491                                  `.${s.slideClass}:not(.${
11492                                      s.slideDuplicateClass
11493                                  })[data-swiper-slide-index="${o.attr(
11494                                      'data-swiper-slide-index'
11495                                  )}"]`
11496                              )
11497                              .addClass(s.slideDuplicateNextClass)
11498                        : a
11499                              .children(
11500                                  `.${s.slideClass}.${
11501                                      s.slideDuplicateClass
11502                                  }[data-swiper-slide-index="${o.attr(
11503                                      'data-swiper-slide-index'
11504                                  )}"]`
11505                              )
11506                              .addClass(s.slideDuplicateNextClass),
11507                    d.hasClass(s.slideDuplicateClass)
11508                        ? a
11509                              .children(
11510                                  `.${s.slideClass}:not(.${
11511                                      s.slideDuplicateClass
11512                                  })[data-swiper-slide-index="${d.attr(
11513                                      'data-swiper-slide-index'
11514                                  )}"]`
11515                              )
11516                              .addClass(s.slideDuplicatePrevClass)
11517                        : a
11518                              .children(
11519                                  `.${s.slideClass}.${
11520                                      s.slideDuplicateClass
11521                                  }[data-swiper-slide-index="${d.attr(
11522                                      'data-swiper-slide-index'
11523                                  )}"]`
11524                              )
11525                              .addClass(s.slideDuplicatePrevClass)),
11526                e.emitSlidesClasses();
11527        },
11528        updateActiveIndex: function (e) {
11529            const t = this,
11530                s = t.rtlTranslate ? t.translate : -t.translate,
11531                {
11532                    slidesGrid: a,
11533                    snapGrid: i,
11534                    params: r,
11535                    activeIndex: n,
11536                    realIndex: l,
11537                    snapIndex: o
11538                } = t;
11539            let d,
11540                c = e;
11541            if (void 0 === c) {
11542                for (let e = 0; e < a.length; e += 1)
11543                    void 0 !== a[e + 1]
11544                        ? s >= a[e] && s < a[e + 1] - (a[e + 1] - a[e]) / 2
11545                            ? (c = e)
11546                            : s >= a[e] && s < a[e + 1] && (c = e + 1)
11547                        : s >= a[e] && (c = e);
11548                r.normalizeSlideIndex && (c < 0 || void 0 === c) && (c = 0);
11549            }
11550            if (i.indexOf(s) >= 0) d = i.indexOf(s);
11551            else {
11552                const e = Math.min(r.slidesPerGroupSkip, c);
11553                d = e + Math.floor((c - e) / r.slidesPerGroup);
11554            }
11555            if ((d >= i.length && (d = i.length - 1), c === n))
11556                return void (
11557                    d !== o && ((t.snapIndex = d), t.emit('snapIndexChange'))
11558                );
11559            const p = parseInt(
11560                t.slides.eq(c).attr('data-swiper-slide-index') || c,
11561                10
11562            );
11563            Object.assign(t, {
11564                snapIndex: d,
11565                realIndex: p,
11566                previousIndex: n,
11567                activeIndex: c
11568            }),
11569                t.emit('activeIndexChange'),
11570                t.emit('snapIndexChange'),
11571                l !== p && t.emit('realIndexChange'),
11572                (t.initialized || t.params.runCallbacksOnInit) &&
11573                    t.emit('slideChange');
11574        },
11575        updateClickedSlide: function (e) {
11576            const t = this,
11577                s = t.params,
11578                a = d(e).closest(`.${s.slideClass}`)[0];
11579            let i,
11580                r = !1;
11581            if (a)
11582                for (let e = 0; e < t.slides.length; e += 1)
11583                    if (t.slides[e] === a) {
11584                        (r = !0), (i = e);
11585                        break;
11586                    }
11587            if (!a || !r)
11588                return (
11589                    (t.clickedSlide = void 0), void (t.clickedIndex = void 0)
11590                );
11591            (t.clickedSlide = a),
11592                t.virtual && t.params.virtual.enabled
11593                    ? (t.clickedIndex = parseInt(
11594                          d(a).attr('data-swiper-slide-index'),
11595                          10
11596                      ))
11597                    : (t.clickedIndex = i),
11598                s.slideToClickedSlide &&
11599                    void 0 !== t.clickedIndex &&
11600                    t.clickedIndex !== t.activeIndex &&
11601                    t.slideToClickedSlide();
11602        }
11603    };
11604    var M = {
11605        getTranslate: function (e) {
11606            void 0 === e && (e = this.isHorizontal() ? 'x' : 'y');
11607            const {
11608                params: t,
11609                rtlTranslate: s,
11610                translate: a,
11611                $wrapperEl: i
11612            } = this;
11613            if (t.virtualTranslate) return s ? -a : a;
11614            if (t.cssMode) return a;
11615            let r = h(i[0], e);
11616            return s && (r = -r), r || 0;
11617        },
11618        setTranslate: function (e, t) {
11619            const s = this,
11620                {
11621                    rtlTranslate: a,
11622                    params: i,
11623                    $wrapperEl: r,
11624                    wrapperEl: n,
11625                    progress: l
11626                } = s;
11627            let o,
11628                d = 0,
11629                c = 0;
11630            s.isHorizontal() ? (d = a ? -e : e) : (c = e),
11631                i.roundLengths && ((d = Math.floor(d)), (c = Math.floor(c))),
11632                i.cssMode
11633                    ? (n[s.isHorizontal() ? 'scrollLeft' : 'scrollTop'] =
11634                          s.isHorizontal() ? -d : -c)
11635                    : i.virtualTranslate ||
11636                      r.transform(`translate3d(${d}px, ${c}px, 0px)`),
11637                (s.previousTranslate = s.translate),
11638                (s.translate = s.isHorizontal() ? d : c);
11639            const p = s.maxTranslate() - s.minTranslate();
11640            (o = 0 === p ? 0 : (e - s.minTranslate()) / p),
11641                o !== l && s.updateProgress(e),
11642                s.emit('setTranslate', s.translate, t);
11643        },
11644        minTranslate: function () {
11645            return -this.snapGrid[0];
11646        },
11647        maxTranslate: function () {
11648            return -this.snapGrid[this.snapGrid.length - 1];
11649        },
11650        translateTo: function (e, t, s, a, i) {
11651            void 0 === e && (e = 0),
11652                void 0 === t && (t = this.params.speed),
11653                void 0 === s && (s = !0),
11654                void 0 === a && (a = !0);
11655            const r = this,
11656                { params: n, wrapperEl: l } = r;
11657            if (r.animating && n.preventInteractionOnTransition) return !1;
11658            const o = r.minTranslate(),
11659                d = r.maxTranslate();
11660            let c;
11661            if (
11662                ((c = a && e > o ? o : a && e < d ? d : e),
11663                r.updateProgress(c),
11664                n.cssMode)
11665            ) {
11666                const e = r.isHorizontal();
11667                if (0 === t) l[e ? 'scrollLeft' : 'scrollTop'] = -c;
11668                else {
11669                    if (!r.support.smoothScroll)
11670                        return (
11671                            w({
11672                                swiper: r,
11673                                targetPosition: -c,
11674                                side: e ? 'left' : 'top'
11675                            }),
11676                            !0
11677                        );
11678                    l.scrollTo({
11679                        [e ? 'left' : 'top']: -c,
11680                        behavior: 'smooth'
11681                    });
11682                }
11683                return !0;
11684            }
11685            return (
11686                0 === t
11687                    ? (r.setTransition(0),
11688                      r.setTranslate(c),
11689                      s &&
11690                          (r.emit('beforeTransitionStart', t, i),
11691                          r.emit('transitionEnd')))
11692                    : (r.setTransition(t),
11693                      r.setTranslate(c),
11694                      s &&
11695                          (r.emit('beforeTransitionStart', t, i),
11696                          r.emit('transitionStart')),
11697                      r.animating ||
11698                          ((r.animating = !0),
11699                          r.onTranslateToWrapperTransitionEnd ||
11700                              (r.onTranslateToWrapperTransitionEnd = function (
11701                                  e
11702                              ) {
11703                                  r &&
11704                                      !r.destroyed &&
11705                                      e.target === this &&
11706                                      (r.$wrapperEl[0].removeEventListener(
11707                                          'transitionend',
11708                                          r.onTranslateToWrapperTransitionEnd
11709                                      ),
11710                                      r.$wrapperEl[0].removeEventListener(
11711                                          'webkitTransitionEnd',
11712                                          r.onTranslateToWrapperTransitionEnd
11713                                      ),
11714                                      (r.onTranslateToWrapperTransitionEnd =
11715                                          null),
11716                                      delete r.onTranslateToWrapperTransitionEnd,
11717                                      s && r.emit('transitionEnd'));
11718                              }),
11719                          r.$wrapperEl[0].addEventListener(
11720                              'transitionend',
11721                              r.onTranslateToWrapperTransitionEnd
11722                          ),
11723                          r.$wrapperEl[0].addEventListener(
11724                              'webkitTransitionEnd',
11725                              r.onTranslateToWrapperTransitionEnd
11726                          ))),
11727                !0
11728            );
11729        }
11730    };
11731    function P(e) {
11732        let { swiper: t, runCallbacks: s, direction: a, step: i } = e;
11733        const { activeIndex: r, previousIndex: n } = t;
11734        let l = a;
11735        if (
11736            (l || (l = r > n ? 'next' : r < n ? 'prev' : 'reset'),
11737            t.emit(`transition${i}`),
11738            s && r !== n)
11739        ) {
11740            if ('reset' === l) return void t.emit(`slideResetTransition${i}`);
11741            t.emit(`slideChangeTransition${i}`),
11742                'next' === l
11743                    ? t.emit(`slideNextTransition${i}`)
11744                    : t.emit(`slidePrevTransition${i}`);
11745        }
11746    }
11747    var k = {
11748        slideTo: function (e, t, s, a, i) {
11749            if (
11750                (void 0 === e && (e = 0),
11751                void 0 === t && (t = this.params.speed),
11752                void 0 === s && (s = !0),
11753                'number' != typeof e && 'string' != typeof e)
11754            )
11755                throw new Error(
11756                    `The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`
11757                );
11758            if ('string' == typeof e) {
11759                const t = parseInt(e, 10);
11760                if (!isFinite(t))
11761                    throw new Error(
11762                        `The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`
11763                    );
11764                e = t;
11765            }
11766            const r = this;
11767            let n = e;
11768            n < 0 && (n = 0);
11769            const {
11770                params: l,
11771                snapGrid: o,
11772                slidesGrid: d,
11773                previousIndex: c,
11774                activeIndex: p,
11775                rtlTranslate: u,
11776                wrapperEl: h,
11777                enabled: m
11778            } = r;
11779            if (
11780                (r.animating && l.preventInteractionOnTransition) ||
11781                (!m && !a && !i)
11782            )
11783                return !1;
11784            const f = Math.min(r.params.slidesPerGroupSkip, n);
11785            let g = f + Math.floor((n - f) / r.params.slidesPerGroup);
11786            g >= o.length && (g = o.length - 1),
11787                (p || l.initialSlide || 0) === (c || 0) &&
11788                    s &&
11789                    r.emit('beforeSlideChangeStart');
11790            const v = -o[g];
11791            if ((r.updateProgress(v), l.normalizeSlideIndex))
11792                for (let e = 0; e < d.length; e += 1) {
11793                    const t = -Math.floor(100 * v),
11794                        s = Math.floor(100 * d[e]),
11795                        a = Math.floor(100 * d[e + 1]);
11796                    void 0 !== d[e + 1]
11797                        ? t >= s && t < a - (a - s) / 2
11798                            ? (n = e)
11799                            : t >= s && t < a && (n = e + 1)
11800                        : t >= s && (n = e);
11801                }
11802            if (r.initialized && n !== p) {
11803                if (
11804                    !r.allowSlideNext &&
11805                    v < r.translate &&
11806                    v < r.minTranslate()
11807                )
11808                    return !1;
11809                if (
11810                    !r.allowSlidePrev &&
11811                    v > r.translate &&
11812                    v > r.maxTranslate() &&
11813                    (p || 0) !== n
11814                )
11815                    return !1;
11816            }
11817            let b;
11818            if (
11819                ((b = n > p ? 'next' : n < p ? 'prev' : 'reset'),
11820                (u && -v === r.translate) || (!u && v === r.translate))
11821            )
11822                return (
11823                    r.updateActiveIndex(n),
11824                    l.autoHeight && r.updateAutoHeight(),
11825                    r.updateSlidesClasses(),
11826                    'slide' !== l.effect && r.setTranslate(v),
11827                    'reset' !== b &&
11828                        (r.transitionStart(s, b), r.transitionEnd(s, b)),
11829                    !1
11830                );
11831            if (l.cssMode) {
11832                const e = r.isHorizontal(),
11833                    s = u ? v : -v;
11834                if (0 === t) {
11835                    const t = r.virtual && r.params.virtual.enabled;
11836                    t &&
11837                        ((r.wrapperEl.style.scrollSnapType = 'none'),
11838                        (r._immediateVirtual = !0)),
11839                        (h[e ? 'scrollLeft' : 'scrollTop'] = s),
11840                        t &&
11841                            requestAnimationFrame(() => {
11842                                (r.wrapperEl.style.scrollSnapType = ''),
11843                                    (r._swiperImmediateVirtual = !1);
11844                            });
11845                } else {
11846                    if (!r.support.smoothScroll)
11847                        return (
11848                            w({
11849                                swiper: r,
11850                                targetPosition: s,
11851                                side: e ? 'left' : 'top'
11852                            }),
11853                            !0
11854                        );
11855                    h.scrollTo({ [e ? 'left' : 'top']: s, behavior: 'smooth' });
11856                }
11857                return !0;
11858            }
11859            return (
11860                r.setTransition(t),
11861                r.setTranslate(v),
11862                r.updateActiveIndex(n),
11863                r.updateSlidesClasses(),
11864                r.emit('beforeTransitionStart', t, a),
11865                r.transitionStart(s, b),
11866                0 === t
11867                    ? r.transitionEnd(s, b)
11868                    : r.animating ||
11869                      ((r.animating = !0),
11870                      r.onSlideToWrapperTransitionEnd ||
11871                          (r.onSlideToWrapperTransitionEnd = function (e) {
11872                              r &&
11873                                  !r.destroyed &&
11874                                  e.target === this &&
11875                                  (r.$wrapperEl[0].removeEventListener(
11876                                      'transitionend',
11877                                      r.onSlideToWrapperTransitionEnd
11878                                  ),
11879                                  r.$wrapperEl[0].removeEventListener(
11880                                      'webkitTransitionEnd',
11881                                      r.onSlideToWrapperTransitionEnd
11882                                  ),
11883                                  (r.onSlideToWrapperTransitionEnd = null),
11884                                  delete r.onSlideToWrapperTransitionEnd,
11885                                  r.transitionEnd(s, b));
11886                          }),
11887                      r.$wrapperEl[0].addEventListener(
11888                          'transitionend',
11889                          r.onSlideToWrapperTransitionEnd
11890                      ),
11891                      r.$wrapperEl[0].addEventListener(
11892                          'webkitTransitionEnd',
11893                          r.onSlideToWrapperTransitionEnd
11894                      )),
11895                !0
11896            );
11897        },
11898        slideToLoop: function (e, t, s, a) {
11899            if (
11900                (void 0 === e && (e = 0),
11901                void 0 === t && (t = this.params.speed),
11902                void 0 === s && (s = !0),
11903                'string' == typeof e)
11904            ) {
11905                const t = parseInt(e, 10);
11906                if (!isFinite(t))
11907                    throw new Error(
11908                        `The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`
11909                    );
11910                e = t;
11911            }
11912            const i = this;
11913            let r = e;
11914            return (
11915                i.params.loop && (r += i.loopedSlides), i.slideTo(r, t, s, a)
11916            );
11917        },
11918        slideNext: function (e, t, s) {
11919            void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
11920            const a = this,
11921                { animating: i, enabled: r, params: n } = a;
11922            if (!r) return a;
11923            let l = n.slidesPerGroup;
11924            'auto' === n.slidesPerView &&
11925                1 === n.slidesPerGroup &&
11926                n.slidesPerGroupAuto &&
11927                (l = Math.max(a.slidesPerViewDynamic('current', !0), 1));
11928            const o = a.activeIndex < n.slidesPerGroupSkip ? 1 : l;
11929            if (n.loop) {
11930                if (i && n.loopPreventsSlide) return !1;
11931                a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft);
11932            }
11933            return n.rewind && a.isEnd
11934                ? a.slideTo(0, e, t, s)
11935                : a.slideTo(a.activeIndex + o, e, t, s);
11936        },
11937        slidePrev: function (e, t, s) {
11938            void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
11939            const a = this,
11940                {
11941                    params: i,
11942                    animating: r,
11943                    snapGrid: n,
11944                    slidesGrid: l,
11945                    rtlTranslate: o,
11946                    enabled: d
11947                } = a;
11948            if (!d) return a;
11949            if (i.loop) {
11950                if (r && i.loopPreventsSlide) return !1;
11951                a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft);
11952            }
11953            function c(e) {
11954                return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e);
11955            }
11956            const p = c(o ? a.translate : -a.translate),
11957                u = n.map((e) => c(e));
11958            let h = n[u.indexOf(p) - 1];
11959            if (void 0 === h && i.cssMode) {
11960                let e;
11961                n.forEach((t, s) => {
11962                    p >= t && (e = s);
11963                }),
11964                    void 0 !== e && (h = n[e > 0 ? e - 1 : e]);
11965            }
11966            let m = 0;
11967            if (
11968                (void 0 !== h &&
11969                    ((m = l.indexOf(h)),
11970                    m < 0 && (m = a.activeIndex - 1),
11971                    'auto' === i.slidesPerView &&
11972                        1 === i.slidesPerGroup &&
11973                        i.slidesPerGroupAuto &&
11974                        ((m = m - a.slidesPerViewDynamic('previous', !0) + 1),
11975                        (m = Math.max(m, 0)))),
11976                i.rewind && a.isBeginning)
11977            ) {
11978                const i =
11979                    a.params.virtual && a.params.virtual.enabled && a.virtual
11980                        ? a.virtual.slides.length - 1
11981                        : a.slides.length - 1;
11982                return a.slideTo(i, e, t, s);
11983            }
11984            return a.slideTo(m, e, t, s);
11985        },
11986        slideReset: function (e, t, s) {
11987            return (
11988                void 0 === e && (e = this.params.speed),
11989                void 0 === t && (t = !0),
11990                this.slideTo(this.activeIndex, e, t, s)
11991            );
11992        },
11993        slideToClosest: function (e, t, s, a) {
11994            void 0 === e && (e = this.params.speed),
11995                void 0 === t && (t = !0),
11996                void 0 === a && (a = 0.5);
11997            const i = this;
11998            let r = i.activeIndex;
11999            const n = Math.min(i.params.slidesPerGroupSkip, r),
12000                l = n + Math.floor((r - n) / i.params.slidesPerGroup),
12001                o = i.rtlTranslate ? i.translate : -i.translate;
12002            if (o >= i.snapGrid[l]) {
12003                const e = i.snapGrid[l];
12004                o - e > (i.snapGrid[l + 1] - e) * a &&
12005                    (r += i.params.slidesPerGroup);
12006            } else {
12007                const e = i.snapGrid[l - 1];
12008                o - e <= (i.snapGrid[l] - e) * a &&
12009                    (r -= i.params.slidesPerGroup);
12010            }
12011            return (
12012                (r = Math.max(r, 0)),
12013                (r = Math.min(r, i.slidesGrid.length - 1)),
12014                i.slideTo(r, e, t, s)
12015            );
12016        },
12017        slideToClickedSlide: function () {
12018            const e = this,
12019                { params: t, $wrapperEl: s } = e,
12020                a =
12021                    'auto' === t.slidesPerView
12022                        ? e.slidesPerViewDynamic()
12023                        : t.slidesPerView;
12024            let i,
12025                r = e.clickedIndex;
12026            if (t.loop) {
12027                if (e.animating) return;
12028                (i = parseInt(
12029                    d(e.clickedSlide).attr('data-swiper-slide-index'),
12030                    10
12031                )),
12032                    t.centeredSlides
12033                        ? r < e.loopedSlides - a / 2 ||
12034                          r > e.slides.length - e.loopedSlides + a / 2
12035                            ? (e.loopFix(),
12036                              (r = s
12037                                  .children(
12038                                      `.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`
12039                                  )
12040                                  .eq(0)
12041                                  .index()),
12042                              p(() => {
12043                                  e.slideTo(r);
12044                              }))
12045                            : e.slideTo(r)
12046                        : r > e.slides.length - a
12047                        ? (e.loopFix(),
12048                          (r = s
12049                              .children(
12050                                  `.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`
12051                              )
12052                              .eq(0)
12053                              .index()),
12054                          p(() => {
12055                              e.slideTo(r);
12056                          }))
12057                        : e.slideTo(r);
12058            } else e.slideTo(r);
12059        }
12060    };
12061    var z = {
12062        loopCreate: function () {
12063            const e = this,
12064                t = a(),
12065                { params: s, $wrapperEl: i } = e,
12066                r = i.children().length > 0 ? d(i.children()[0].parentNode) : i;
12067            r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();
12068            let n = r.children(`.${s.slideClass}`);
12069            if (s.loopFillGroupWithBlank) {
12070                const e = s.slidesPerGroup - (n.length % s.slidesPerGroup);
12071                if (e !== s.slidesPerGroup) {
12072                    for (let a = 0; a < e; a += 1) {
12073                        const e = d(t.createElement('div')).addClass(
12074                            `${s.slideClass} ${s.slideBlankClass}`
12075                        );
12076                        r.append(e);
12077                    }
12078                    n = r.children(`.${s.slideClass}`);
12079                }
12080            }
12081            'auto' !== s.slidesPerView ||
12082                s.loopedSlides ||
12083                (s.loopedSlides = n.length),
12084                (e.loopedSlides = Math.ceil(
12085                    parseFloat(s.loopedSlides || s.slidesPerView, 10)
12086                )),
12087                (e.loopedSlides += s.loopAdditionalSlides),
12088                e.loopedSlides > n.length && (e.loopedSlides = n.length);
12089            const l = [],
12090                o = [];
12091            n.each((t, s) => {
12092                const a = d(t);
12093                s < e.loopedSlides && o.push(t),
12094                    s < n.length && s >= n.length - e.loopedSlides && l.push(t),
12095                    a.attr('data-swiper-slide-index', s);
12096            });
12097            for (let e = 0; e < o.length; e += 1)
12098                r.append(d(o[e].cloneNode(!0)).addClass(s.slideDuplicateClass));
12099            for (let e = l.length - 1; e >= 0; e -= 1)
12100                r.prepend(
12101                    d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass)
12102                );
12103        },
12104        loopFix: function () {
12105            const e = this;
12106            e.emit('beforeLoopFix');
12107            const {
12108                activeIndex: t,
12109                slides: s,
12110                loopedSlides: a,
12111                allowSlidePrev: i,
12112                allowSlideNext: r,
12113                snapGrid: n,
12114                rtlTranslate: l
12115            } = e;
12116            let o;
12117            (e.allowSlidePrev = !0), (e.allowSlideNext = !0);
12118            const d = -n[t] - e.getTranslate();
12119            if (t < a) {
12120                (o = s.length - 3 * a + t), (o += a);
12121                e.slideTo(o, 0, !1, !0) &&
12122                    0 !== d &&
12123                    e.setTranslate((l ? -e.translate : e.translate) - d);
12124            } else if (t >= s.length - a) {
12125                (o = -s.length + t + a), (o += a);
12126                e.slideTo(o, 0, !1, !0) &&
12127                    0 !== d &&
12128                    e.setTranslate((l ? -e.translate : e.translate) - d);
12129            }
12130            (e.allowSlidePrev = i), (e.allowSlideNext = r), e.emit('loopFix');
12131        },
12132        loopDestroy: function () {
12133            const { $wrapperEl: e, params: t, slides: s } = this;
12134            e
12135                .children(
12136                    `.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`
12137                )
12138                .remove(),
12139                s.removeAttr('data-swiper-slide-index');
12140        }
12141    };
12142    function L(e) {
12143        const t = this,
12144            s = a(),
12145            i = r(),
12146            n = t.touchEventsData,
12147            { params: l, touches: o, enabled: c } = t;
12148        if (!c) return;
12149        if (t.animating && l.preventInteractionOnTransition) return;
12150        !t.animating && l.cssMode && l.loop && t.loopFix();
12151        let p = e;
12152        p.originalEvent && (p = p.originalEvent);
12153        let h = d(p.target);
12154        if ('wrapper' === l.touchEventsTarget && !h.closest(t.wrapperEl).length)
12155            return;
12156        if (
12157            ((n.isTouchEvent = 'touchstart' === p.type),
12158            !n.isTouchEvent && 'which' in p && 3 === p.which)
12159        )
12160            return;
12161        if (!n.isTouchEvent && 'button' in p && p.button > 0) return;
12162        if (n.isTouched && n.isMoved) return;
12163        !!l.noSwipingClass &&
12164            '' !== l.noSwipingClass &&
12165            p.target &&
12166            p.target.shadowRoot &&
12167            e.path &&
12168            e.path[0] &&
12169            (h = d(e.path[0]));
12170        const m = l.noSwipingSelector
12171                ? l.noSwipingSelector
12172                : `.${l.noSwipingClass}`,
12173            f = !(!p.target || !p.target.shadowRoot);
12174        if (
12175            l.noSwiping &&
12176            (f
12177                ? (function (e, t) {
12178                      return (
12179                          void 0 === t && (t = this),
12180                          (function t(s) {
12181                              if (!s || s === a() || s === r()) return null;
12182                              s.assignedSlot && (s = s.assignedSlot);
12183                              const i = s.closest(e);
12184                              return i || s.getRootNode
12185                                  ? i || t(s.getRootNode().host)
12186                                  : null;
12187                          })(t)
12188                      );
12189                  })(m, h[0])
12190                : h.closest(m)[0])
12191        )
12192            return void (t.allowClick = !0);
12193        if (l.swipeHandler && !h.closest(l.swipeHandler)[0]) return;
12194        (o.currentX =
12195            'touchstart' === p.type ? p.targetTouches[0].pageX : p.pageX),
12196            (o.currentY =
12197                'touchstart' === p.type ? p.targetTouches[0].pageY : p.pageY);
12198        const g = o.currentX,
12199            v = o.currentY,
12200            w = l.edgeSwipeDetection || l.iOSEdgeSwipeDetection,
12201            b = l.edgeSwipeThreshold || l.iOSEdgeSwipeThreshold;
12202        if (w && (g <= b || g >= i.innerWidth - b)) {
12203            if ('prevent' !== w) return;
12204            e.preventDefault();
12205        }
12206        if (
12207            (Object.assign(n, {
12208                isTouched: !0,
12209                isMoved: !1,
12210                allowTouchCallbacks: !0,
12211                isScrolling: void 0,
12212                startMoving: void 0
12213            }),
12214            (o.startX = g),
12215            (o.startY = v),
12216            (n.touchStartTime = u()),
12217            (t.allowClick = !0),
12218            t.updateSize(),
12219            (t.swipeDirection = void 0),
12220            l.threshold > 0 && (n.allowThresholdMove = !1),
12221            'touchstart' !== p.type)
12222        ) {
12223            let e = !0;
12224            h.is(n.focusableElements) &&
12225                ((e = !1), 'SELECT' === h[0].nodeName && (n.isTouched = !1)),
12226                s.activeElement &&
12227                    d(s.activeElement).is(n.focusableElements) &&
12228                    s.activeElement !== h[0] &&
12229                    s.activeElement.blur();
12230            const a = e && t.allowTouchMove && l.touchStartPreventDefault;
12231            (!l.touchStartForcePreventDefault && !a) ||
12232                h[0].isContentEditable ||
12233                p.preventDefault();
12234        }
12235        t.params.freeMode &&
12236            t.params.freeMode.enabled &&
12237            t.freeMode &&
12238            t.animating &&
12239            !l.cssMode &&
12240            t.freeMode.onTouchStart(),
12241            t.emit('touchStart', p);
12242    }
12243    function O(e) {
12244        const t = a(),
12245            s = this,
12246            i = s.touchEventsData,
12247            { params: r, touches: n, rtlTranslate: l, enabled: o } = s;
12248        if (!o) return;
12249        let c = e;
12250        if ((c.originalEvent && (c = c.originalEvent), !i.isTouched))
12251            return void (
12252                i.startMoving &&
12253                i.isScrolling &&
12254                s.emit('touchMoveOpposite', c)
12255            );
12256        if (i.isTouchEvent && 'touchmove' !== c.type) return;
12257        const p =
12258                'touchmove' === c.type &&
12259                c.targetTouches &&
12260                (c.targetTouches[0] || c.changedTouches[0]),
12261            h = 'touchmove' === c.type ? p.pageX : c.pageX,
12262            m = 'touchmove' === c.type ? p.pageY : c.pageY;
12263        if (c.preventedByNestedSwiper)
12264            return (n.startX = h), void (n.startY = m);
12265        if (!s.allowTouchMove)
12266            return (
12267                d(c.target).is(i.focusableElements) || (s.allowClick = !1),
12268                void (
12269                    i.isTouched &&
12270                    (Object.assign(n, {
12271                        startX: h,
12272                        startY: m,
12273                        currentX: h,
12274                        currentY: m
12275                    }),
12276                    (i.touchStartTime = u()))
12277                )
12278            );
12279        if (i.isTouchEvent && r.touchReleaseOnEdges && !r.loop)
12280            if (s.isVertical()) {
12281                if (
12282                    (m < n.startY && s.translate <= s.maxTranslate()) ||
12283                    (m > n.startY && s.translate >= s.minTranslate())
12284                )
12285                    return (i.isTouched = !1), void (i.isMoved = !1);
12286            } else if (
12287                (h < n.startX && s.translate <= s.maxTranslate()) ||
12288                (h > n.startX && s.translate >= s.minTranslate())
12289            )
12290                return;
12291        if (
12292            i.isTouchEvent &&
12293            t.activeElement &&
12294            c.target === t.activeElement &&
12295            d(c.target).is(i.focusableElements)
12296        )
12297            return (i.isMoved = !0), void (s.allowClick = !1);
12298        if (
12299            (i.allowTouchCallbacks && s.emit('touchMove', c),
12300            c.targetTouches && c.targetTouches.length > 1)
12301        )
12302            return;
12303        (n.currentX = h), (n.currentY = m);
12304        const f = n.currentX - n.startX,
12305            g = n.currentY - n.startY;
12306        if (
12307            s.params.threshold &&
12308            Math.sqrt(f ** 2 + g ** 2) < s.params.threshold
12309        )
12310            return;
12311        if (void 0 === i.isScrolling) {
12312            let e;
12313            (s.isHorizontal() && n.currentY === n.startY) ||
12314            (s.isVertical() && n.currentX === n.startX)
12315                ? (i.isScrolling = !1)
12316                : f * f + g * g >= 25 &&
12317                  ((e = (180 * Math.atan2(Math.abs(g), Math.abs(f))) / Math.PI),
12318                  (i.isScrolling = s.isHorizontal()
12319                      ? e > r.touchAngle
12320                      : 90 - e > r.touchAngle));
12321        }
12322        if (
12323            (i.isScrolling && s.emit('touchMoveOpposite', c),
12324            void 0 === i.startMoving &&
12325                ((n.currentX === n.startX && n.currentY === n.startY) ||
12326                    (i.startMoving = !0)),
12327            i.isScrolling)
12328        )
12329            return void (i.isTouched = !1);
12330        if (!i.startMoving) return;
12331        (s.allowClick = !1),
12332            !r.cssMode && c.cancelable && c.preventDefault(),
12333            r.touchMoveStopPropagation && !r.nested && c.stopPropagation(),
12334            i.isMoved ||
12335                (r.loop && !r.cssMode && s.loopFix(),
12336                (i.startTranslate = s.getTranslate()),
12337                s.setTransition(0),
12338                s.animating &&
12339                    s.$wrapperEl.trigger('webkitTransitionEnd transitionend'),
12340                (i.allowMomentumBounce = !1),
12341                !r.grabCursor ||
12342                    (!0 !== s.allowSlideNext && !0 !== s.allowSlidePrev) ||
12343                    s.setGrabCursor(!0),
12344                s.emit('sliderFirstMove', c)),
12345            s.emit('sliderMove', c),
12346            (i.isMoved = !0);
12347        let v = s.isHorizontal() ? f : g;
12348        (n.diff = v),
12349            (v *= r.touchRatio),
12350            l && (v = -v),
12351            (s.swipeDirection = v > 0 ? 'prev' : 'next'),
12352            (i.currentTranslate = v + i.startTranslate);
12353        let w = !0,
12354            b = r.resistanceRatio;
12355        if (
12356            (r.touchReleaseOnEdges && (b = 0),
12357            v > 0 && i.currentTranslate > s.minTranslate()
12358                ? ((w = !1),
12359                  r.resistance &&
12360                      (i.currentTranslate =
12361                          s.minTranslate() -
12362                          1 +
12363                          (-s.minTranslate() + i.startTranslate + v) ** b))
12364                : v < 0 &&
12365                  i.currentTranslate < s.maxTranslate() &&
12366                  ((w = !1),
12367                  r.resistance &&
12368                      (i.currentTranslate =
12369                          s.maxTranslate() +
12370                          1 -
12371                          (s.maxTranslate() - i.startTranslate - v) ** b)),
12372            w && (c.preventedByNestedSwiper = !0),
12373            !s.allowSlideNext &&
12374                'next' === s.swipeDirection &&
12375                i.currentTranslate < i.startTranslate &&
12376                (i.currentTranslate = i.startTranslate),
12377            !s.allowSlidePrev &&
12378                'prev' === s.swipeDirection &&
12379                i.currentTranslate > i.startTranslate &&
12380                (i.currentTranslate = i.startTranslate),
12381            s.allowSlidePrev ||
12382                s.allowSlideNext ||
12383                (i.currentTranslate = i.startTranslate),
12384            r.threshold > 0)
12385        ) {
12386            if (!(Math.abs(v) > r.threshold || i.allowThresholdMove))
12387                return void (i.currentTranslate = i.startTranslate);
12388            if (!i.allowThresholdMove)
12389                return (
12390                    (i.allowThresholdMove = !0),
12391                    (n.startX = n.currentX),
12392                    (n.startY = n.currentY),
12393                    (i.currentTranslate = i.startTranslate),
12394                    void (n.diff = s.isHorizontal()
12395                        ? n.currentX - n.startX
12396                        : n.currentY - n.startY)
12397                );
12398        }
12399        r.followFinger &&
12400            !r.cssMode &&
12401            (((r.freeMode && r.freeMode.enabled && s.freeMode) ||
12402                r.watchSlidesProgress) &&
12403                (s.updateActiveIndex(), s.updateSlidesClasses()),
12404            s.params.freeMode &&
12405                r.freeMode.enabled &&
12406                s.freeMode &&
12407                s.freeMode.onTouchMove(),
12408            s.updateProgress(i.currentTranslate),
12409            s.setTranslate(i.currentTranslate));
12410    }
12411    function I(e) {
12412        const t = this,
12413            s = t.touchEventsData,
12414            {
12415                params: a,
12416                touches: i,
12417                rtlTranslate: r,
12418                slidesGrid: n,
12419                enabled: l
12420            } = t;
12421        if (!l) return;
12422        let o = e;
12423        if (
12424            (o.originalEvent && (o = o.originalEvent),
12425            s.allowTouchCallbacks && t.emit('touchEnd', o),
12426            (s.allowTouchCallbacks = !1),
12427            !s.isTouched)
12428        )
12429            return (
12430                s.isMoved && a.grabCursor && t.setGrabCursor(!1),
12431                (s.isMoved = !1),
12432                void (s.startMoving = !1)
12433            );
12434        a.grabCursor &&
12435            s.isMoved &&
12436            s.isTouched &&
12437            (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) &&
12438            t.setGrabCursor(!1);
12439        const d = u(),
12440            c = d - s.touchStartTime;
12441        if (t.allowClick) {
12442            const e = o.path || (o.composedPath && o.composedPath());
12443            t.updateClickedSlide((e && e[0]) || o.target),
12444                t.emit('tap click', o),
12445                c < 300 &&
12446                    d - s.lastClickTime < 300 &&
12447                    t.emit('doubleTap doubleClick', o);
12448        }
12449        if (
12450            ((s.lastClickTime = u()),
12451            p(() => {
12452                t.destroyed || (t.allowClick = !0);
12453            }),
12454            !s.isTouched ||
12455                !s.isMoved ||
12456                !t.swipeDirection ||
12457                0 === i.diff ||
12458                s.currentTranslate === s.startTranslate)
12459        )
12460            return (
12461                (s.isTouched = !1), (s.isMoved = !1), void (s.startMoving = !1)
12462            );
12463        let h;
12464        if (
12465            ((s.isTouched = !1),
12466            (s.isMoved = !1),
12467            (s.startMoving = !1),
12468            (h = a.followFinger
12469                ? r
12470                    ? t.translate
12471                    : -t.translate
12472                : -s.currentTranslate),
12473            a.cssMode)
12474        )
12475            return;
12476        if (t.params.freeMode && a.freeMode.enabled)
12477            return void t.freeMode.onTouchEnd({ currentPos: h });
12478        let m = 0,
12479            f = t.slidesSizesGrid[0];
12480        for (
12481            let e = 0;
12482            e < n.length;
12483            e += e < a.slidesPerGroupSkip ? 1 : a.slidesPerGroup
12484        ) {
12485            const t = e < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup;
12486            void 0 !== n[e + t]
12487                ? h >= n[e] && h < n[e + t] && ((m = e), (f = n[e + t] - n[e]))
12488                : h >= n[e] &&
12489                  ((m = e), (f = n[n.length - 1] - n[n.length - 2]));
12490        }
12491        let g = null,
12492            v = null;
12493        a.rewind &&
12494            (t.isBeginning
12495                ? (v =
12496                      t.params.virtual && t.params.virtual.enabled && t.virtual
12497                          ? t.virtual.slides.length - 1
12498                          : t.slides.length - 1)
12499                : t.isEnd && (g = 0));
12500        const w = (h - n[m]) / f,
12501            b = m < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup;
12502        if (c > a.longSwipesMs) {
12503            if (!a.longSwipes) return void t.slideTo(t.activeIndex);
12504            'next' === t.swipeDirection &&
12505                (w >= a.longSwipesRatio
12506                    ? t.slideTo(a.rewind && t.isEnd ? g : m + b)
12507                    : t.slideTo(m)),
12508                'prev' === t.swipeDirection &&
12509                    (w > 1 - a.longSwipesRatio
12510                        ? t.slideTo(m + b)
12511                        : null !== v && w < 0 && Math.abs(w) > a.longSwipesRatio
12512                        ? t.slideTo(v)
12513                        : t.slideTo(m));
12514        } else {
12515            if (!a.shortSwipes) return void t.slideTo(t.activeIndex);
12516            t.navigation &&
12517            (o.target === t.navigation.nextEl ||
12518                o.target === t.navigation.prevEl)
12519                ? o.target === t.navigation.nextEl
12520                    ? t.slideTo(m + b)
12521                    : t.slideTo(m)
12522                : ('next' === t.swipeDirection &&
12523                      t.slideTo(null !== g ? g : m + b),
12524                  'prev' === t.swipeDirection && t.slideTo(null !== v ? v : m));
12525        }
12526    }
12527    function A() {
12528        const e = this,
12529            { params: t, el: s } = e;
12530        if (s && 0 === s.offsetWidth) return;
12531        t.breakpoints && e.setBreakpoint();
12532        const { allowSlideNext: a, allowSlidePrev: i, snapGrid: r } = e;
12533        (e.allowSlideNext = !0),
12534            (e.allowSlidePrev = !0),
12535            e.updateSize(),
12536            e.updateSlides(),
12537            e.updateSlidesClasses(),
12538            ('auto' === t.slidesPerView || t.slidesPerView > 1) &&
12539            e.isEnd &&
12540            !e.isBeginning &&
12541            !e.params.centeredSlides
12542                ? e.slideTo(e.slides.length - 1, 0, !1, !0)
12543                : e.slideTo(e.activeIndex, 0, !1, !0),
12544            e.autoplay &&
12545                e.autoplay.running &&
12546                e.autoplay.paused &&
12547                e.autoplay.run(),
12548            (e.allowSlidePrev = i),
12549            (e.allowSlideNext = a),
12550            e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow();
12551    }
12552    function D(e) {
12553        const t = this;
12554        t.enabled &&
12555            (t.allowClick ||
12556                (t.params.preventClicks && e.preventDefault(),
12557                t.params.preventClicksPropagation &&
12558                    t.animating &&
12559                    (e.stopPropagation(), e.stopImmediatePropagation())));
12560    }
12561    function G() {
12562        const e = this,
12563            { wrapperEl: t, rtlTranslate: s, enabled: a } = e;
12564        if (!a) return;
12565        let i;
12566        (e.previousTranslate = e.translate),
12567            e.isHorizontal()
12568                ? (e.translate = -t.scrollLeft)
12569                : (e.translate = -t.scrollTop),
12570            0 === e.translate && (e.translate = 0),
12571            e.updateActiveIndex(),
12572            e.updateSlidesClasses();
12573        const r = e.maxTranslate() - e.minTranslate();
12574        (i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r),
12575            i !== e.progress &&
12576                e.updateProgress(s ? -e.translate : e.translate),
12577            e.emit('setTranslate', e.translate, !1);
12578    }
12579    let N = !1;
12580    function B() {}
12581    const H = (e, t) => {
12582        const s = a(),
12583            {
12584                params: i,
12585                touchEvents: r,
12586                el: n,
12587                wrapperEl: l,
12588                device: o,
12589                support: d
12590            } = e,
12591            c = !!i.nested,
12592            p = 'on' === t ? 'addEventListener' : 'removeEventListener',
12593            u = t;
12594        if (d.touch) {
12595            const t = !(
12596                'touchstart' !== r.start ||
12597                !d.passiveListener ||
12598                !i.passiveListeners
12599            ) && { passive: !0, capture: !1 };
12600            n[p](r.start, e.onTouchStart, t),
12601                n[p](
12602                    r.move,
12603                    e.onTouchMove,
12604                    d.passiveListener ? { passive: !1, capture: c } : c
12605                ),
12606                n[p](r.end, e.onTouchEnd, t),
12607                r.cancel && n[p](r.cancel, e.onTouchEnd, t);
12608        } else
12609            n[p](r.start, e.onTouchStart, !1),
12610                s[p](r.move, e.onTouchMove, c),
12611                s[p](r.end, e.onTouchEnd, !1);
12612        (i.preventClicks || i.preventClicksPropagation) &&
12613            n[p]('click', e.onClick, !0),
12614            i.cssMode && l[p]('scroll', e.onScroll),
12615            i.updateOnWindowResize
12616                ? e[u](
12617                      o.ios || o.android
12618                          ? 'resize orientationchange observerUpdate'
12619                          : 'resize observerUpdate',
12620                      A,
12621                      !0
12622                  )
12623                : e[u]('observerUpdate', A, !0);
12624    };
12625    var X = {
12626        attachEvents: function () {
12627            const e = this,
12628                t = a(),
12629                { params: s, support: i } = e;
12630            (e.onTouchStart = L.bind(e)),
12631                (e.onTouchMove = O.bind(e)),
12632                (e.onTouchEnd = I.bind(e)),
12633                s.cssMode && (e.onScroll = G.bind(e)),
12634                (e.onClick = D.bind(e)),
12635                i.touch &&
12636                    !N &&
12637                    (t.addEventListener('touchstart', B), (N = !0)),
12638                H(e, 'on');
12639        },
12640        detachEvents: function () {
12641            H(this, 'off');
12642        }
12643    };
12644    const Y = (e, t) => e.grid && t.grid && t.grid.rows > 1;
12645    var R = {
12646        addClasses: function () {
12647            const e = this,
12648                {
12649                    classNames: t,
12650                    params: s,
12651                    rtl: a,
12652                    $el: i,
12653                    device: r,
12654                    support: n
12655                } = e,
12656                l = (function (e, t) {
12657                    const s = [];
12658                    return (
12659                        e.forEach((e) => {
12660                            'object' == typeof e
12661                                ? Object.keys(e).forEach((a) => {
12662                                      e[a] && s.push(t + a);
12663                                  })
12664                                : 'string' == typeof e && s.push(t + e);
12665                        }),
12666                        s
12667                    );
12668                })(
12669                    [
12670                        'initialized',
12671                        s.direction,
12672                        { 'pointer-events': !n.touch },
12673                        {
12674                            'free-mode': e.params.freeMode && s.freeMode.enabled
12675                        },
12676                        { autoheight: s.autoHeight },
12677                        { rtl: a },
12678                        { grid: s.grid && s.grid.rows > 1 },
12679                        {
12680                            'grid-column':
12681                                s.grid &&
12682                                s.grid.rows > 1 &&
12683                                'column' === s.grid.fill
12684                        },
12685                        { android: r.android },
12686                        { ios: r.ios },
12687                        { 'css-mode': s.cssMode },
12688                        { centered: s.cssMode && s.centeredSlides },
12689                        { 'watch-progress': s.watchSlidesProgress }
12690                    ],
12691                    s.containerModifierClass
12692                );
12693            t.push(...l),
12694                i.addClass([...t].join(' ')),
12695                e.emitContainerClasses();
12696        },
12697        removeClasses: function () {
12698            const { $el: e, classNames: t } = this;
12699            e.removeClass(t.join(' ')), this.emitContainerClasses();
12700        }
12701    };
12702    var W = {
12703        init: !0,
12704        direction: 'horizontal',
12705        touchEventsTarget: 'wrapper',
12706        initialSlide: 0,
12707        speed: 300,
12708        cssMode: !1,
12709        updateOnWindowResize: !0,
12710        resizeObserver: !0,
12711        nested: !1,
12712        createElements: !1,
12713        enabled: !0,
12714        focusableElements:
12715            'input, select, option, textarea, button, video, label',
12716        width: null,
12717        height: null,
12718        preventInteractionOnTransition: !1,
12719        userAgent: null,
12720        url: null,
12721        edgeSwipeDetection: !1,
12722        edgeSwipeThreshold: 20,
12723        autoHeight: !1,
12724        setWrapperSize: !1,
12725        virtualTranslate: !1,
12726        effect: 'slide',
12727        breakpoints: void 0,
12728        breakpointsBase: 'window',
12729        spaceBetween: 0,
12730        slidesPerView: 1,
12731        slidesPerGroup: 1,
12732        slidesPerGroupSkip: 0,
12733        slidesPerGroupAuto: !1,
12734        centeredSlides: !1,
12735        centeredSlidesBounds: !1,
12736        slidesOffsetBefore: 0,
12737        slidesOffsetAfter: 0,
12738        normalizeSlideIndex: !0,
12739        centerInsufficientSlides: !1,
12740        watchOverflow: !0,
12741        roundLengths: !1,
12742        touchRatio: 1,
12743        touchAngle: 45,
12744        simulateTouch: !0,
12745        shortSwipes: !0,
12746        longSwipes: !0,
12747        longSwipesRatio: 0.5,
12748        longSwipesMs: 300,
12749        followFinger: !0,
12750        allowTouchMove: !0,
12751        threshold: 0,
12752        touchMoveStopPropagation: !1,
12753        touchStartPreventDefault: !0,
12754        touchStartForcePreventDefault: !1,
12755        touchReleaseOnEdges: !1,
12756        uniqueNavElements: !0,
12757        resistance: !0,
12758        resistanceRatio: 0.85,
12759        watchSlidesProgress: !1,
12760        grabCursor: !1,
12761        preventClicks: !0,
12762        preventClicksPropagation: !0,
12763        slideToClickedSlide: !1,
12764        preloadImages: !0,
12765        updateOnImagesReady: !0,
12766        loop: !1,
12767        loopAdditionalSlides: 0,
12768        loopedSlides: null,
12769        loopFillGroupWithBlank: !1,
12770        loopPreventsSlide: !0,
12771        rewind: !1,
12772        allowSlidePrev: !0,
12773        allowSlideNext: !0,
12774        swipeHandler: null,
12775        noSwiping: !0,
12776        noSwipingClass: 'swiper-no-swiping',
12777        noSwipingSelector: null,
12778        passiveListeners: !0,
12779        maxBackfaceHiddenSlides: 10,
12780        containerModifierClass: 'swiper-',
12781        slideClass: 'swiper-slide',
12782        slideBlankClass: 'swiper-slide-invisible-blank',
12783        slideActiveClass: 'swiper-slide-active',
12784        slideDuplicateActiveClass: 'swiper-slide-duplicate-active',
12785        slideVisibleClass: 'swiper-slide-visible',
12786        slideDuplicateClass: 'swiper-slide-duplicate',
12787        slideNextClass: 'swiper-slide-next',
12788        slideDuplicateNextClass: 'swiper-slide-duplicate-next',
12789        slidePrevClass: 'swiper-slide-prev',
12790        slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',
12791        wrapperClass: 'swiper-wrapper',
12792        runCallbacksOnInit: !0,
12793        _emitClasses: !1
12794    };
12795    function j(e, t) {
12796        return function (s) {
12797            void 0 === s && (s = {});
12798            const a = Object.keys(s)[0],
12799                i = s[a];
12800            'object' == typeof i && null !== i
12801                ? (['navigation', 'pagination', 'scrollbar'].indexOf(a) >= 0 &&
12802                      !0 === e[a] &&
12803                      (e[a] = { auto: !0 }),
12804                  a in e && 'enabled' in i
12805                      ? (!0 === e[a] && (e[a] = { enabled: !0 }),
12806                        'object' != typeof e[a] ||
12807                            'enabled' in e[a] ||
12808                            (e[a].enabled = !0),
12809                        e[a] || (e[a] = { enabled: !1 }),
12810                        g(t, s))
12811                      : g(t, s))
12812                : g(t, s);
12813        };
12814    }
12815    const _ = {
12816            eventsEmitter: $,
12817            update: S,
12818            translate: M,
12819            transition: {
12820                setTransition: function (e, t) {
12821                    const s = this;
12822                    s.params.cssMode || s.$wrapperEl.transition(e),
12823                        s.emit('setTransition', e, t);
12824                },
12825                transitionStart: function (e, t) {
12826                    void 0 === e && (e = !0);
12827                    const s = this,
12828                        { params: a } = s;
12829                    a.cssMode ||
12830                        (a.autoHeight && s.updateAutoHeight(),
12831                        P({
12832                            swiper: s,
12833                            runCallbacks: e,
12834                            direction: t,
12835                            step: 'Start'
12836                        }));
12837                },
12838                transitionEnd: function (e, t) {
12839                    void 0 === e && (e = !0);
12840                    const s = this,
12841                        { params: a } = s;
12842                    (s.animating = !1),
12843                        a.cssMode ||
12844                            (s.setTransition(0),
12845                            P({
12846                                swiper: s,
12847                                runCallbacks: e,
12848                                direction: t,
12849                                step: 'End'
12850                            }));
12851                }
12852            },
12853            slide: k,
12854            loop: z,
12855            grabCursor: {
12856                setGrabCursor: function (e) {
12857                    const t = this;
12858                    if (
12859                        t.support.touch ||
12860                        !t.params.simulateTouch ||
12861                        (t.params.watchOverflow && t.isLocked) ||
12862                        t.params.cssMode
12863                    )
12864                        return;
12865                    const s =
12866                        'container' === t.params.touchEventsTarget
12867                            ? t.el
12868                            : t.wrapperEl;
12869                    (s.style.cursor = 'move'),
12870                        (s.style.cursor = e ? 'grabbing' : 'grab');
12871                },
12872                unsetGrabCursor: function () {
12873                    const e = this;
12874                    e.support.touch ||
12875                        (e.params.watchOverflow && e.isLocked) ||
12876                        e.params.cssMode ||
12877                        (e[
12878                            'container' === e.params.touchEventsTarget
12879                                ? 'el'
12880                                : 'wrapperEl'
12881                        ].style.cursor = '');
12882                }
12883            },
12884            events: X,
12885            breakpoints: {
12886                setBreakpoint: function () {
12887                    const e = this,
12888                        {
12889                            activeIndex: t,
12890                            initialized: s,
12891                            loopedSlides: a = 0,
12892                            params: i,
12893                            $el: r
12894                        } = e,
12895                        n = i.breakpoints;
12896                    if (!n || (n && 0 === Object.keys(n).length)) return;
12897                    const l = e.getBreakpoint(
12898                        n,
12899                        e.params.breakpointsBase,
12900                        e.el
12901                    );
12902                    if (!l || e.currentBreakpoint === l) return;
12903                    const o = (l in n ? n[l] : void 0) || e.originalParams,
12904                        d = Y(e, i),
12905                        c = Y(e, o),
12906                        p = i.enabled;
12907                    d && !c
12908                        ? (r.removeClass(
12909                              `${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`
12910                          ),
12911                          e.emitContainerClasses())
12912                        : !d &&
12913                          c &&
12914                          (r.addClass(`${i.containerModifierClass}grid`),
12915                          ((o.grid.fill && 'column' === o.grid.fill) ||
12916                              (!o.grid.fill && 'column' === i.grid.fill)) &&
12917                              r.addClass(
12918                                  `${i.containerModifierClass}grid-column`
12919                              ),
12920                          e.emitContainerClasses()),
12921                        ['navigation', 'pagination', 'scrollbar'].forEach(
12922                            (t) => {
12923                                const s = i[t] && i[t].enabled,
12924                                    a = o[t] && o[t].enabled;
12925                                s && !a && e[t].disable(),
12926                                    !s && a && e[t].enable();
12927                            }
12928                        );
12929                    const u = o.direction && o.direction !== i.direction,
12930                        h =
12931                            i.loop &&
12932                            (o.slidesPerView !== i.slidesPerView || u);
12933                    u && s && e.changeDirection(), g(e.params, o);
12934                    const m = e.params.enabled;
12935                    Object.assign(e, {
12936                        allowTouchMove: e.params.allowTouchMove,
12937                        allowSlideNext: e.params.allowSlideNext,
12938                        allowSlidePrev: e.params.allowSlidePrev
12939                    }),
12940                        p && !m ? e.disable() : !p && m && e.enable(),
12941                        (e.currentBreakpoint = l),
12942                        e.emit('_beforeBreakpoint', o),
12943                        h &&
12944                            s &&
12945                            (e.loopDestroy(),
12946                            e.loopCreate(),
12947                            e.updateSlides(),
12948                            e.slideTo(t - a + e.loopedSlides, 0, !1)),
12949                        e.emit('breakpoint', o);
12950                },
12951                getBreakpoint: function (e, t, s) {
12952                    if (
12953                        (void 0 === t && (t = 'window'),
12954                        !e || ('container' === t && !s))
12955                    )
12956                        return;
12957                    let a = !1;
12958                    const i = r(),
12959                        n = 'window' === t ? i.innerHeight : s.clientHeight,
12960                        l = Object.keys(e).map((e) => {
12961                            if ('string' == typeof e && 0 === e.indexOf('@')) {
12962                                const t = parseFloat(e.substr(1));
12963                                return { value: n * t, point: e };
12964                            }
12965                            return { value: e, point: e };
12966                        });
12967                    l.sort(
12968                        (e, t) => parseInt(e.value, 10) - parseInt(t.value, 10)
12969                    );
12970                    for (let e = 0; e < l.length; e += 1) {
12971                        const { point: r, value: n } = l[e];
12972                        'window' === t
12973                            ? i.matchMedia(`(min-width: ${n}px)`).matches &&
12974                              (a = r)
12975                            : n <= s.clientWidth && (a = r);
12976                    }
12977                    return a || 'max';
12978                }
12979            },
12980            checkOverflow: {
12981                checkOverflow: function () {
12982                    const e = this,
12983                        { isLocked: t, params: s } = e,
12984                        { slidesOffsetBefore: a } = s;
12985                    if (a) {
12986                        const t = e.slides.length - 1,
12987                            s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a;
12988                        e.isLocked = e.size > s;
12989                    } else e.isLocked = 1 === e.snapGrid.length;
12990                    !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked),
12991                        !0 === s.allowSlidePrev &&
12992                            (e.allowSlidePrev = !e.isLocked),
12993                        t && t !== e.isLocked && (e.isEnd = !1),
12994                        t !== e.isLocked &&
12995                            e.emit(e.isLocked ? 'lock' : 'unlock');
12996                }
12997            },
12998            classes: R,
12999            images: {
13000                loadImage: function (e, t, s, a, i, n) {
13001                    const l = r();
13002                    let o;
13003                    function c() {
13004                        n && n();
13005                    }
13006                    d(e).parent('picture')[0] || (e.complete && i)
13007                        ? c()
13008                        : t
13009                        ? ((o = new l.Image()),
13010                          (o.onload = c),
13011                          (o.onerror = c),
13012                          a && (o.sizes = a),
13013                          s && (o.srcset = s),
13014                          t && (o.src = t))
13015                        : c();
13016                },
13017                preloadImages: function () {
13018                    const e = this;
13019                    function t() {
13020                        null != e &&
13021                            e &&
13022                            !e.destroyed &&
13023                            (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1),
13024                            e.imagesLoaded === e.imagesToLoad.length &&
13025                                (e.params.updateOnImagesReady && e.update(),
13026                                e.emit('imagesReady')));
13027                    }
13028                    e.imagesToLoad = e.$el.find('img');
13029                    for (let s = 0; s < e.imagesToLoad.length; s += 1) {
13030                        const a = e.imagesToLoad[s];
13031                        e.loadImage(
13032                            a,
13033                            a.currentSrc || a.getAttribute('src'),
13034                            a.srcset || a.getAttribute('srcset'),
13035                            a.sizes || a.getAttribute('sizes'),
13036                            !0,
13037                            t
13038                        );
13039                    }
13040                }
13041            }
13042        },
13043        q = {};
13044    class V {
13045        constructor() {
13046            let e, t;
13047            for (var s = arguments.length, a = new Array(s), i = 0; i < s; i++)
13048                a[i] = arguments[i];
13049            if (
13050                (1 === a.length &&
13051                a[0].constructor &&
13052                'Object' === Object.prototype.toString.call(a[0]).slice(8, -1)
13053                    ? (t = a[0])
13054                    : ([e, t] = a),
13055                t || (t = {}),
13056                (t = g({}, t)),
13057                e && !t.el && (t.el = e),
13058                t.el && d(t.el).length > 1)
13059            ) {
13060                const e = [];
13061                return (
13062                    d(t.el).each((s) => {
13063                        const a = g({}, t, { el: s });
13064                        e.push(new V(a));
13065                    }),
13066                    e
13067                );
13068            }
13069            const r = this;
13070            (r.__swiper__ = !0),
13071                (r.support = E()),
13072                (r.device = C({ userAgent: t.userAgent })),
13073                (r.browser = T()),
13074                (r.eventsListeners = {}),
13075                (r.eventsAnyListeners = []),
13076                (r.modules = [...r.__modules__]),
13077                t.modules &&
13078                    Array.isArray(t.modules) &&
13079                    r.modules.push(...t.modules);
13080            const n = {};
13081            r.modules.forEach((e) => {
13082                e({
13083                    swiper: r,
13084                    extendParams: j(t, n),
13085                    on: r.on.bind(r),
13086                    once: r.once.bind(r),
13087                    off: r.off.bind(r),
13088                    emit: r.emit.bind(r)
13089                });
13090            });
13091            const l = g({}, W, n);
13092            return (
13093                (r.params = g({}, l, q, t)),
13094                (r.originalParams = g({}, r.params)),
13095                (r.passedParams = g({}, t)),
13096                r.params &&
13097                    r.params.on &&
13098                    Object.keys(r.params.on).forEach((e) => {
13099                        r.on(e, r.params.on[e]);
13100                    }),
13101                r.params && r.params.onAny && r.onAny(r.params.onAny),
13102                (r.$ = d),
13103                Object.assign(r, {
13104                    enabled: r.params.enabled,
13105                    el: e,
13106                    classNames: [],
13107                    slides: d(),
13108                    slidesGrid: [],
13109                    snapGrid: [],
13110                    slidesSizesGrid: [],
13111                    isHorizontal: () => 'horizontal' === r.params.direction,
13112                    isVertical: () => 'vertical' === r.params.direction,
13113                    activeIndex: 0,
13114                    realIndex: 0,
13115                    isBeginning: !0,
13116                    isEnd: !1,
13117                    translate: 0,
13118                    previousTranslate: 0,
13119                    progress: 0,
13120                    velocity: 0,
13121                    animating: !1,
13122                    allowSlideNext: r.params.allowSlideNext,
13123                    allowSlidePrev: r.params.allowSlidePrev,
13124                    touchEvents: (function () {
13125                        const e = [
13126                                'touchstart',
13127                                'touchmove',
13128                                'touchend',
13129                                'touchcancel'
13130                            ],
13131                            t = ['pointerdown', 'pointermove', 'pointerup'];
13132                        return (
13133                            (r.touchEventsTouch = {
13134                                start: e[0],
13135                                move: e[1],
13136                                end: e[2],
13137                                cancel: e[3]
13138                            }),
13139                            (r.touchEventsDesktop = {
13140                                start: t[0],
13141                                move: t[1],
13142                                end: t[2]
13143                            }),
13144                            r.support.touch || !r.params.simulateTouch
13145                                ? r.touchEventsTouch
13146                                : r.touchEventsDesktop
13147                        );
13148                    })(),
13149                    touchEventsData: {
13150                        isTouched: void 0,
13151                        isMoved: void 0,
13152                        allowTouchCallbacks: void 0,
13153                        touchStartTime: void 0,
13154                        isScrolling: void 0,
13155                        currentTranslate: void 0,
13156                        startTranslate: void 0,
13157                        allowThresholdMove: void 0,
13158                        focusableElements: r.params.focusableElements,
13159                        lastClickTime: u(),
13160                        clickTimeout: void 0,
13161                        velocities: [],
13162                        allowMomentumBounce: void 0,
13163                        isTouchEvent: void 0,
13164                        startMoving: void 0
13165                    },
13166                    allowClick: !0,
13167                    allowTouchMove: r.params.allowTouchMove,
13168                    touches: {
13169                        startX: 0,
13170                        startY: 0,
13171                        currentX: 0,
13172                        currentY: 0,
13173                        diff: 0
13174                    },
13175                    imagesToLoad: [],
13176                    imagesLoaded: 0
13177                }),
13178                r.emit('_swiper'),
13179                r.params.init && r.init(),
13180                r
13181            );
13182        }
13183        enable() {
13184            const e = this;
13185            e.enabled ||
13186                ((e.enabled = !0),
13187                e.params.grabCursor && e.setGrabCursor(),
13188                e.emit('enable'));
13189        }
13190        disable() {
13191            const e = this;
13192            e.enabled &&
13193                ((e.enabled = !1),
13194                e.params.grabCursor && e.unsetGrabCursor(),
13195                e.emit('disable'));
13196        }
13197        setProgress(e, t) {
13198            const s = this;
13199            e = Math.min(Math.max(e, 0), 1);
13200            const a = s.minTranslate(),
13201                i = (s.maxTranslate() - a) * e + a;
13202            s.translateTo(i, void 0 === t ? 0 : t),
13203                s.updateActiveIndex(),
13204                s.updateSlidesClasses();
13205        }
13206        emitContainerClasses() {
13207            const e = this;
13208            if (!e.params._emitClasses || !e.el) return;
13209            const t = e.el.className
13210                .split(' ')
13211                .filter(
13212                    (t) =>
13213                        0 === t.indexOf('swiper') ||
13214                        0 === t.indexOf(e.params.containerModifierClass)
13215                );
13216            e.emit('_containerClasses', t.join(' '));
13217        }
13218        getSlideClasses(e) {
13219            const t = this;
13220            return t.destroyed
13221                ? ''
13222                : e.className
13223                      .split(' ')
13224                      .filter(
13225                          (e) =>
13226                              0 === e.indexOf('swiper-slide') ||
13227                              0 === e.indexOf(t.params.slideClass)
13228                      )
13229                      .join(' ');
13230        }
13231        emitSlidesClasses() {
13232            const e = this;
13233            if (!e.params._emitClasses || !e.el) return;
13234            const t = [];
13235            e.slides.each((s) => {
13236                const a = e.getSlideClasses(s);
13237                t.push({ slideEl: s, classNames: a }),
13238                    e.emit('_slideClass', s, a);
13239            }),
13240                e.emit('_slideClasses', t);
13241        }
13242        slidesPerViewDynamic(e, t) {
13243            void 0 === e && (e = 'current'), void 0 === t && (t = !1);
13244            const {
13245                params: s,
13246                slides: a,
13247                slidesGrid: i,
13248                slidesSizesGrid: r,
13249                size: n,
13250                activeIndex: l
13251            } = this;
13252            let o = 1;
13253            if (s.centeredSlides) {
13254                let e,
13255                    t = a[l].swiperSlideSize;
13256                for (let s = l + 1; s < a.length; s += 1)
13257                    a[s] &&
13258                        !e &&
13259                        ((t += a[s].swiperSlideSize),
13260                        (o += 1),
13261                        t > n && (e = !0));
13262                for (let s = l - 1; s >= 0; s -= 1)
13263                    a[s] &&
13264                        !e &&
13265                        ((t += a[s].swiperSlideSize),
13266                        (o += 1),
13267                        t > n && (e = !0));
13268            } else if ('current' === e)
13269                for (let e = l + 1; e < a.length; e += 1) {
13270                    (t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1);
13271                }
13272            else
13273                for (let e = l - 1; e >= 0; e -= 1) {
13274                    i[l] - i[e] < n && (o += 1);
13275                }
13276            return o;
13277        }
13278        update() {
13279            const e = this;
13280            if (!e || e.destroyed) return;
13281            const { snapGrid: t, params: s } = e;
13282            function a() {
13283                const t = e.rtlTranslate ? -1 * e.translate : e.translate,
13284                    s = Math.min(
13285                        Math.max(t, e.maxTranslate()),
13286                        e.minTranslate()
13287                    );
13288                e.setTranslate(s),
13289                    e.updateActiveIndex(),
13290                    e.updateSlidesClasses();
13291            }
13292            let i;
13293            s.breakpoints && e.setBreakpoint(),
13294                e.updateSize(),
13295                e.updateSlides(),
13296                e.updateProgress(),
13297                e.updateSlidesClasses(),
13298                e.params.freeMode && e.params.freeMode.enabled
13299                    ? (a(), e.params.autoHeight && e.updateAutoHeight())
13300                    : ((i =
13301                          ('auto' === e.params.slidesPerView ||
13302                              e.params.slidesPerView > 1) &&
13303                          e.isEnd &&
13304                          !e.params.centeredSlides
13305                              ? e.slideTo(e.slides.length - 1, 0, !1, !0)
13306                              : e.slideTo(e.activeIndex, 0, !1, !0)),
13307                      i || a()),
13308                s.watchOverflow && t !== e.snapGrid && e.checkOverflow(),
13309                e.emit('update');
13310        }
13311        changeDirection(e, t) {
13312            void 0 === t && (t = !0);
13313            const s = this,
13314                a = s.params.direction;
13315            return (
13316                e || (e = 'horizontal' === a ? 'vertical' : 'horizontal'),
13317                e === a ||
13318                    ('horizontal' !== e && 'vertical' !== e) ||
13319                    (s.$el
13320                        .removeClass(`${s.params.containerModifierClass}${a}`)
13321                        .addClass(`${s.params.containerModifierClass}${e}`),
13322                    s.emitContainerClasses(),
13323                    (s.params.direction = e),
13324                    s.slides.each((t) => {
13325                        'vertical' === e
13326                            ? (t.style.width = '')
13327                            : (t.style.height = '');
13328                    }),
13329                    s.emit('changeDirection'),
13330                    t && s.update()),
13331                s
13332            );
13333        }
13334        changeLanguageDirection(e) {
13335            const t = this;
13336            (t.rtl && 'rtl' === e) ||
13337                (!t.rtl && 'ltr' === e) ||
13338                ((t.rtl = 'rtl' === e),
13339                (t.rtlTranslate = 'horizontal' === t.params.direction && t.rtl),
13340                t.rtl
13341                    ? (t.$el.addClass(`${t.params.containerModifierClass}rtl`),
13342                      (t.el.dir = 'rtl'))
13343                    : (t.$el.removeClass(
13344                          `${t.params.containerModifierClass}rtl`
13345                      ),
13346                      (t.el.dir = 'ltr')),
13347                t.update());
13348        }
13349        mount(e) {
13350            const t = this;
13351            if (t.mounted) return !0;
13352            const s = d(e || t.params.el);
13353            if (!(e = s[0])) return !1;
13354            e.swiper = t;
13355            const i = () =>
13356                `.${(t.params.wrapperClass || '').trim().split(' ').join('.')}`;
13357            let r = (() => {
13358                if (e && e.shadowRoot && e.shadowRoot.querySelector) {
13359                    const t = d(e.shadowRoot.querySelector(i()));
13360                    return (t.children = (e) => s.children(e)), t;
13361                }
13362                return s.children ? s.children(i()) : d(s).children(i());
13363            })();
13364            if (0 === r.length && t.params.createElements) {
13365                const e = a().createElement('div');
13366                (r = d(e)),
13367                    (e.className = t.params.wrapperClass),
13368                    s.append(e),
13369                    s.children(`.${t.params.slideClass}`).each((e) => {
13370                        r.append(e);
13371                    });
13372            }
13373            return (
13374                Object.assign(t, {
13375                    $el: s,
13376                    el: e,
13377                    $wrapperEl: r,
13378                    wrapperEl: r[0],
13379                    mounted: !0,
13380                    rtl:
13381                        'rtl' === e.dir.toLowerCase() ||
13382                        'rtl' === s.css('direction'),
13383                    rtlTranslate:
13384                        'horizontal' === t.params.direction &&
13385                        ('rtl' === e.dir.toLowerCase() ||
13386                            'rtl' === s.css('direction')),
13387                    wrongRTL: '-webkit-box' === r.css('display')
13388                }),
13389                !0
13390            );
13391        }
13392        init(e) {
13393            const t = this;
13394            if (t.initialized) return t;
13395            return (
13396                !1 === t.mount(e) ||
13397                    (t.emit('beforeInit'),
13398                    t.params.breakpoints && t.setBreakpoint(),
13399                    t.addClasses(),
13400                    t.params.loop && t.loopCreate(),
13401                    t.updateSize(),
13402                    t.updateSlides(),
13403                    t.params.watchOverflow && t.checkOverflow(),
13404                    t.params.grabCursor && t.enabled && t.setGrabCursor(),
13405                    t.params.preloadImages && t.preloadImages(),
13406                    t.params.loop
13407                        ? t.slideTo(
13408                              t.params.initialSlide + t.loopedSlides,
13409                              0,
13410                              t.params.runCallbacksOnInit,
13411                              !1,
13412                              !0
13413                          )
13414                        : t.slideTo(
13415                              t.params.initialSlide,
13416                              0,
13417                              t.params.runCallbacksOnInit,
13418                              !1,
13419                              !0
13420                          ),
13421                    t.attachEvents(),
13422                    (t.initialized = !0),
13423                    t.emit('init'),
13424                    t.emit('afterInit')),
13425                t
13426            );
13427        }
13428        destroy(e, t) {
13429            void 0 === e && (e = !0), void 0 === t && (t = !0);
13430            const s = this,
13431                { params: a, $el: i, $wrapperEl: r, slides: n } = s;
13432            return (
13433                void 0 === s.params ||
13434                    s.destroyed ||
13435                    (s.emit('beforeDestroy'),
13436                    (s.initialized = !1),
13437                    s.detachEvents(),
13438                    a.loop && s.loopDestroy(),
13439                    t &&
13440                        (s.removeClasses(),
13441                        i.removeAttr('style'),
13442                        r.removeAttr('style'),
13443                        n &&
13444                            n.length &&
13445                            n
13446                                .removeClass(
13447                                    [
13448                                        a.slideVisibleClass,
13449                                        a.slideActiveClass,
13450                                        a.slideNextClass,
13451                                        a.slidePrevClass
13452                                    ].join(' ')
13453                                )
13454                                .removeAttr('style')
13455                                .removeAttr('data-swiper-slide-index')),
13456                    s.emit('destroy'),
13457                    Object.keys(s.eventsListeners).forEach((e) => {
13458                        s.off(e);
13459                    }),
13460                    !1 !== e &&
13461                        ((s.$el[0].swiper = null),
13462                        (function (e) {
13463                            const t = e;
13464                            Object.keys(t).forEach((e) => {
13465                                try {
13466                                    t[e] = null;
13467                                } catch (e) {}
13468                                try {
13469                                    delete t[e];
13470                                } catch (e) {}
13471                            });
13472                        })(s)),
13473                    (s.destroyed = !0)),
13474                null
13475            );
13476        }
13477        static extendDefaults(e) {
13478            g(q, e);
13479        }
13480        static get extendedDefaults() {
13481            return q;
13482        }
13483        static get defaults() {
13484            return W;
13485        }
13486        static installModule(e) {
13487            V.prototype.__modules__ || (V.prototype.__modules__ = []);
13488            const t = V.prototype.__modules__;
13489            'function' == typeof e && t.indexOf(e) < 0 && t.push(e);
13490        }
13491        static use(e) {
13492            return Array.isArray(e)
13493                ? (e.forEach((e) => V.installModule(e)), V)
13494                : (V.installModule(e), V);
13495        }
13496    }
13497    function F(e, t, s, i) {
13498        const r = a();
13499        return (
13500            e.params.createElements &&
13501                Object.keys(i).forEach((a) => {
13502                    if (!s[a] && !0 === s.auto) {
13503                        let n = e.$el.children(`.${i[a]}`)[0];
13504                        n ||
13505                            ((n = r.createElement('div')),
13506                            (n.className = i[a]),
13507                            e.$el.append(n)),
13508                            (s[a] = n),
13509                            (t[a] = n);
13510                    }
13511                }),
13512            s
13513        );
13514    }
13515    function U(e) {
13516        return (
13517            void 0 === e && (e = ''),
13518            `.${e
13519                .trim()
13520                .replace(/([\.:!\/])/g, '\\$1')
13521                .replace(/ /g, '.')}`
13522        );
13523    }
13524    function K(e) {
13525        const t = this,
13526            { $wrapperEl: s, params: a } = t;
13527        if ((a.loop && t.loopDestroy(), 'object' == typeof e && 'length' in e))
13528            for (let t = 0; t < e.length; t += 1) e[t] && s.append(e[t]);
13529        else s.append(e);
13530        a.loop && t.loopCreate(), a.observer || t.update();
13531    }
13532    function Z(e) {
13533        const t = this,
13534            { params: s, $wrapperEl: a, activeIndex: i } = t;
13535        s.loop && t.loopDestroy();
13536        let r = i + 1;
13537        if ('object' == typeof e && 'length' in e) {
13538            for (let t = 0; t < e.length; t += 1) e[t] && a.prepend(e[t]);
13539            r = i + e.length;
13540        } else a.prepend(e);
13541        s.loop && t.loopCreate(), s.observer || t.update(), t.slideTo(r, 0, !1);
13542    }
13543    function Q(e, t) {
13544        const s = this,
13545            { $wrapperEl: a, params: i, activeIndex: r } = s;
13546        let n = r;
13547        i.loop &&
13548            ((n -= s.loopedSlides),
13549            s.loopDestroy(),
13550            (s.slides = a.children(`.${i.slideClass}`)));
13551        const l = s.slides.length;
13552        if (e <= 0) return void s.prependSlide(t);
13553        if (e >= l) return void s.appendSlide(t);
13554        let o = n > e ? n + 1 : n;
13555        const d = [];
13556        for (let t = l - 1; t >= e; t -= 1) {
13557            const e = s.slides.eq(t);
13558            e.remove(), d.unshift(e);
13559        }
13560        if ('object' == typeof t && 'length' in t) {
13561            for (let e = 0; e < t.length; e += 1) t[e] && a.append(t[e]);
13562            o = n > e ? n + t.length : n;
13563        } else a.append(t);
13564        for (let e = 0; e < d.length; e += 1) a.append(d[e]);
13565        i.loop && s.loopCreate(),
13566            i.observer || s.update(),
13567            i.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1);
13568    }
13569    function J(e) {
13570        const t = this,
13571            { params: s, $wrapperEl: a, activeIndex: i } = t;
13572        let r = i;
13573        s.loop &&
13574            ((r -= t.loopedSlides),
13575            t.loopDestroy(),
13576            (t.slides = a.children(`.${s.slideClass}`)));
13577        let n,
13578            l = r;
13579        if ('object' == typeof e && 'length' in e) {
13580            for (let s = 0; s < e.length; s += 1)
13581                (n = e[s]),
13582                    t.slides[n] && t.slides.eq(n).remove(),
13583                    n < l && (l -= 1);
13584            l = Math.max(l, 0);
13585        } else
13586            (n = e),
13587                t.slides[n] && t.slides.eq(n).remove(),
13588                n < l && (l -= 1),
13589                (l = Math.max(l, 0));
13590        s.loop && t.loopCreate(),
13591            s.observer || t.update(),
13592            s.loop ? t.slideTo(l + t.loopedSlides, 0, !1) : t.slideTo(l, 0, !1);
13593    }
13594    function ee() {
13595        const e = this,
13596            t = [];
13597        for (let s = 0; s < e.slides.length; s += 1) t.push(s);
13598        e.removeSlide(t);
13599    }
13600    function te(e) {
13601        const {
13602            effect: t,
13603            swiper: s,
13604            on: a,
13605            setTranslate: i,
13606            setTransition: r,
13607            overwriteParams: n,
13608            perspective: l,
13609            recreateShadows: o,
13610            getEffectParams: d
13611        } = e;
13612        let c;
13613        a('beforeInit', () => {
13614            if (s.params.effect !== t) return;
13615            s.classNames.push(`${s.params.containerModifierClass}${t}`),
13616                l &&
13617                    l() &&
13618                    s.classNames.push(`${s.params.containerModifierClass}3d`);
13619            const e = n ? n() : {};
13620            Object.assign(s.params, e), Object.assign(s.originalParams, e);
13621        }),
13622            a('setTranslate', () => {
13623                s.params.effect === t && i();
13624            }),
13625            a('setTransition', (e, a) => {
13626                s.params.effect === t && r(a);
13627            }),
13628            a('transitionEnd', () => {
13629                if (s.params.effect === t && o) {
13630                    if (!d || !d().slideShadows) return;
13631                    s.slides.each((e) => {
13632                        s.$(e)
13633                            .find(
13634                                '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left'
13635                            )
13636                            .remove();
13637                    }),
13638                        o();
13639                }
13640            }),
13641            a('virtualUpdate', () => {
13642                s.params.effect === t &&
13643                    (s.slides.length || (c = !0),
13644                    requestAnimationFrame(() => {
13645                        c && s.slides && s.slides.length && (i(), (c = !1));
13646                    }));
13647            });
13648    }
13649    function se(e, t) {
13650        return e.transformEl
13651            ? t.find(e.transformEl).css({
13652                  'backface-visibility': 'hidden',
13653                  '-webkit-backface-visibility': 'hidden'
13654              })
13655            : t;
13656    }
13657    function ae(e) {
13658        let { swiper: t, duration: s, transformEl: a, allSlides: i } = e;
13659        const { slides: r, activeIndex: n, $wrapperEl: l } = t;
13660        if (t.params.virtualTranslate && 0 !== s) {
13661            let e,
13662                s = !1;
13663            (e = i ? (a ? r.find(a) : r) : a ? r.eq(n).find(a) : r.eq(n)),
13664                e.transitionEnd(() => {
13665                    if (s) return;
13666                    if (!t || t.destroyed) return;
13667                    (s = !0), (t.animating = !1);
13668                    const e = ['webkitTransitionEnd', 'transitionend'];
13669                    for (let t = 0; t < e.length; t += 1) l.trigger(e[t]);
13670                });
13671        }
13672    }
13673    function ie(e, t, s) {
13674        const a = 'swiper-slide-shadow' + (s ? `-${s}` : ''),
13675            i = e.transformEl ? t.find(e.transformEl) : t;
13676        let r = i.children(`.${a}`);
13677        return (
13678            r.length ||
13679                ((r = d(
13680                    `<div class="swiper-slide-shadow${s ? `-${s}` : ''}"></div>`
13681                )),
13682                i.append(r)),
13683            r
13684        );
13685    }
13686    Object.keys(_).forEach((e) => {
13687        Object.keys(_[e]).forEach((t) => {
13688            V.prototype[t] = _[e][t];
13689        });
13690    }),
13691        V.use([
13692            function (e) {
13693                let { swiper: t, on: s, emit: a } = e;
13694                const i = r();
13695                let n = null,
13696                    l = null;
13697                const o = () => {
13698                        t &&
13699                            !t.destroyed &&
13700                            t.initialized &&
13701                            (a('beforeResize'), a('resize'));
13702                    },
13703                    d = () => {
13704                        t &&
13705                            !t.destroyed &&
13706                            t.initialized &&
13707                            a('orientationchange');
13708                    };
13709                s('init', () => {
13710                    t.params.resizeObserver && void 0 !== i.ResizeObserver
13711                        ? t &&
13712                          !t.destroyed &&
13713                          t.initialized &&
13714                          ((n = new ResizeObserver((e) => {
13715                              l = i.requestAnimationFrame(() => {
13716                                  const { width: s, height: a } = t;
13717                                  let i = s,
13718                                      r = a;
13719                                  e.forEach((e) => {
13720                                      let {
13721                                          contentBoxSize: s,
13722                                          contentRect: a,
13723                                          target: n
13724                                      } = e;
13725                                      (n && n !== t.el) ||
13726                                          ((i = a
13727                                              ? a.width
13728                                              : (s[0] || s).inlineSize),
13729                                          (r = a
13730                                              ? a.height
13731                                              : (s[0] || s).blockSize));
13732                                  }),
13733                                      (i === s && r === a) || o();
13734                              });
13735                          })),
13736                          n.observe(t.el))
13737                        : (i.addEventListener('resize', o),
13738                          i.addEventListener('orientationchange', d));
13739                }),
13740                    s('destroy', () => {
13741                        l && i.cancelAnimationFrame(l),
13742                            n &&
13743                                n.unobserve &&
13744                                t.el &&
13745                                (n.unobserve(t.el), (n = null)),
13746                            i.removeEventListener('resize', o),
13747                            i.removeEventListener('orientationchange', d);
13748                    });
13749            },
13750            function (e) {
13751                let { swiper: t, extendParams: s, on: a, emit: i } = e;
13752                const n = [],
13753                    l = r(),
13754                    o = function (e, t) {
13755                        void 0 === t && (t = {});
13756                        const s = new (l.MutationObserver ||
13757                            l.WebkitMutationObserver)((e) => {
13758                            if (1 === e.length)
13759                                return void i('observerUpdate', e[0]);
13760                            const t = function () {
13761                                i('observerUpdate', e[0]);
13762                            };
13763                            l.requestAnimationFrame
13764                                ? l.requestAnimationFrame(t)
13765                                : l.setTimeout(t, 0);
13766                        });
13767                        s.observe(e, {
13768                            attributes: void 0 === t.attributes || t.attributes,
13769                            childList: void 0 === t.childList || t.childList,
13770                            characterData:
13771                                void 0 === t.characterData || t.characterData
13772                        }),
13773                            n.push(s);
13774                    };
13775                s({
13776                    observer: !1,
13777                    observeParents: !1,
13778                    observeSlideChildren: !1
13779                }),
13780                    a('init', () => {
13781                        if (t.params.observer) {
13782                            if (t.params.observeParents) {
13783                                const e = t.$el.parents();
13784                                for (let t = 0; t < e.length; t += 1) o(e[t]);
13785                            }
13786                            o(t.$el[0], {
13787                                childList: t.params.observeSlideChildren
13788                            }),
13789                                o(t.$wrapperEl[0], { attributes: !1 });
13790                        }
13791                    }),
13792                    a('destroy', () => {
13793                        n.forEach((e) => {
13794                            e.disconnect();
13795                        }),
13796                            n.splice(0, n.length);
13797                    });
13798            }
13799        ]);
13800    const re = [
13801        function (e) {
13802            let t,
13803                { swiper: s, extendParams: a, on: i, emit: r } = e;
13804            function n(e, t) {
13805                const a = s.params.virtual;
13806                if (a.cache && s.virtual.cache[t]) return s.virtual.cache[t];
13807                const i = a.renderSlide
13808                    ? d(a.renderSlide.call(s, e, t))
13809                    : d(
13810                          `<div class="${s.params.slideClass}" data-swiper-slide-index="${t}">${e}</div>`
13811                      );
13812                return (
13813                    i.attr('data-swiper-slide-index') ||
13814                        i.attr('data-swiper-slide-index', t),
13815                    a.cache && (s.virtual.cache[t] = i),
13816                    i
13817                );
13818            }
13819            function l(e) {
13820                const {
13821                        slidesPerView: t,
13822                        slidesPerGroup: a,
13823                        centeredSlides: i
13824                    } = s.params,
13825                    { addSlidesBefore: l, addSlidesAfter: o } =
13826                        s.params.virtual,
13827                    {
13828                        from: d,
13829                        to: c,
13830                        slides: p,
13831                        slidesGrid: u,
13832                        offset: h
13833                    } = s.virtual;
13834                s.params.cssMode || s.updateActiveIndex();
13835                const m = s.activeIndex || 0;
13836                let f, g, v;
13837                (f = s.rtlTranslate
13838                    ? 'right'
13839                    : s.isHorizontal()
13840                    ? 'left'
13841                    : 'top'),
13842                    i
13843                        ? ((g = Math.floor(t / 2) + a + o),
13844                          (v = Math.floor(t / 2) + a + l))
13845                        : ((g = t + (a - 1) + o), (v = a + l));
13846                const w = Math.max((m || 0) - v, 0),
13847                    b = Math.min((m || 0) + g, p.length - 1),
13848                    x = (s.slidesGrid[w] || 0) - (s.slidesGrid[0] || 0);
13849                function y() {
13850                    s.updateSlides(),
13851                        s.updateProgress(),
13852                        s.updateSlidesClasses(),
13853                        s.lazy && s.params.lazy.enabled && s.lazy.load(),
13854                        r('virtualUpdate');
13855                }
13856                if (
13857                    (Object.assign(s.virtual, {
13858                        from: w,
13859                        to: b,
13860                        offset: x,
13861                        slidesGrid: s.slidesGrid
13862                    }),
13863                    d === w && c === b && !e)
13864                )
13865                    return (
13866                        s.slidesGrid !== u &&
13867                            x !== h &&
13868                            s.slides.css(f, `${x}px`),
13869                        s.updateProgress(),
13870                        void r('virtualUpdate')
13871                    );
13872                if (s.params.virtual.renderExternal)
13873                    return (
13874                        s.params.virtual.renderExternal.call(s, {
13875                            offset: x,
13876                            from: w,
13877                            to: b,
13878                            slides: (function () {
13879                                const e = [];
13880                                for (let t = w; t <= b; t += 1) e.push(p[t]);
13881                                return e;
13882                            })()
13883                        }),
13884                        void (s.params.virtual.renderExternalUpdate
13885                            ? y()
13886                            : r('virtualUpdate'))
13887                    );
13888                const E = [],
13889                    C = [];
13890                if (e) s.$wrapperEl.find(`.${s.params.slideClass}`).remove();
13891                else
13892                    for (let e = d; e <= c; e += 1)
13893                        (e < w || e > b) &&
13894                            s.$wrapperEl
13895                                .find(
13896                                    `.${s.params.slideClass}[data-swiper-slide-index="${e}"]`
13897                                )
13898                                .remove();
13899                for (let t = 0; t < p.length; t += 1)
13900                    t >= w &&
13901                        t <= b &&
13902                        (void 0 === c || e
13903                            ? C.push(t)
13904                            : (t > c && C.push(t), t < d && E.push(t)));
13905                C.forEach((e) => {
13906                    s.$wrapperEl.append(n(p[e], e));
13907                }),
13908                    E.sort((e, t) => t - e).forEach((e) => {
13909                        s.$wrapperEl.prepend(n(p[e], e));
13910                    }),
13911                    s.$wrapperEl.children('.swiper-slide').css(f, `${x}px`),
13912                    y();
13913            }
13914            a({
13915                virtual: {
13916                    enabled: !1,
13917                    slides: [],
13918                    cache: !0,
13919                    renderSlide: null,
13920                    renderExternal: null,
13921                    renderExternalUpdate: !0,
13922                    addSlidesBefore: 0,
13923                    addSlidesAfter: 0
13924                }
13925            }),
13926                (s.virtual = {
13927                    cache: {},
13928                    from: void 0,
13929                    to: void 0,
13930                    slides: [],
13931                    offset: 0,
13932                    slidesGrid: []
13933                }),
13934                i('beforeInit', () => {
13935                    s.params.virtual.enabled &&
13936                        ((s.virtual.slides = s.params.virtual.slides),
13937                        s.classNames.push(
13938                            `${s.params.containerModifierClass}virtual`
13939                        ),
13940                        (s.params.watchSlidesProgress = !0),
13941                        (s.originalParams.watchSlidesProgress = !0),
13942                        s.params.initialSlide || l());
13943                }),
13944                i('setTranslate', () => {
13945                    s.params.virtual.enabled &&
13946                        (s.params.cssMode && !s._immediateVirtual
13947                            ? (clearTimeout(t),
13948                              (t = setTimeout(() => {
13949                                  l();
13950                              }, 100)))
13951                            : l());
13952                }),
13953                i('init update resize', () => {
13954                    s.params.virtual.enabled &&
13955                        s.params.cssMode &&
13956                        v(
13957                            s.wrapperEl,
13958                            '--swiper-virtual-size',
13959                            `${s.virtualSize}px`
13960                        );
13961                }),
13962                Object.assign(s.virtual, {
13963                    appendSlide: function (e) {
13964                        if ('object' == typeof e && 'length' in e)
13965                            for (let t = 0; t < e.length; t += 1)
13966                                e[t] && s.virtual.slides.push(e[t]);
13967                        else s.virtual.slides.push(e);
13968                        l(!0);
13969                    },
13970                    prependSlide: function (e) {
13971                        const t = s.activeIndex;
13972                        let a = t + 1,
13973                            i = 1;
13974                        if (Array.isArray(e)) {
13975                            for (let t = 0; t < e.length; t += 1)
13976                                e[t] && s.virtual.slides.unshift(e[t]);
13977                            (a = t + e.length), (i = e.length);
13978                        } else s.virtual.slides.unshift(e);
13979                        if (s.params.virtual.cache) {
13980                            const e = s.virtual.cache,
13981                                t = {};
13982                            Object.keys(e).forEach((s) => {
13983                                const a = e[s],
13984                                    r = a.attr('data-swiper-slide-index');
13985                                r &&
13986                                    a.attr(
13987                                        'data-swiper-slide-index',
13988                                        parseInt(r, 10) + i
13989                                    ),
13990                                    (t[parseInt(s, 10) + i] = a);
13991                            }),
13992                                (s.virtual.cache = t);
13993                        }
13994                        l(!0), s.slideTo(a, 0);
13995                    },
13996                    removeSlide: function (e) {
13997                        if (null == e) return;
13998                        let t = s.activeIndex;
13999                        if (Array.isArray(e))
14000                            for (let a = e.length - 1; a >= 0; a -= 1)
14001                                s.virtual.slides.splice(e[a], 1),
14002                                    s.params.virtual.cache &&
14003                                        delete s.virtual.cache[e[a]],
14004                                    e[a] < t && (t -= 1),
14005                                    (t = Math.max(t, 0));
14006                        else
14007                            s.virtual.slides.splice(e, 1),
14008                                s.params.virtual.cache &&
14009                                    delete s.virtual.cache[e],
14010                                e < t && (t -= 1),
14011                                (t = Math.max(t, 0));
14012                        l(!0), s.slideTo(t, 0);
14013                    },
14014                    removeAllSlides: function () {
14015                        (s.virtual.slides = []),
14016                            s.params.virtual.cache && (s.virtual.cache = {}),
14017                            l(!0),
14018                            s.slideTo(0, 0);
14019                    },
14020                    update: l
14021                });
14022        },
14023        function (e) {
14024            let { swiper: t, extendParams: s, on: i, emit: n } = e;
14025            const l = a(),
14026                o = r();
14027            function c(e) {
14028                if (!t.enabled) return;
14029                const { rtlTranslate: s } = t;
14030                let a = e;
14031                a.originalEvent && (a = a.originalEvent);
14032                const i = a.keyCode || a.charCode,
14033                    r = t.params.keyboard.pageUpDown,
14034                    d = r && 33 === i,
14035                    c = r && 34 === i,
14036                    p = 37 === i,
14037                    u = 39 === i,
14038                    h = 38 === i,
14039                    m = 40 === i;
14040                if (
14041                    !t.allowSlideNext &&
14042                    ((t.isHorizontal() && u) || (t.isVertical() && m) || c)
14043                )
14044                    return !1;
14045                if (
14046                    !t.allowSlidePrev &&
14047                    ((t.isHorizontal() && p) || (t.isVertical() && h) || d)
14048                )
14049                    return !1;
14050                if (
14051                    !(
14052                        a.shiftKey ||
14053                        a.altKey ||
14054                        a.ctrlKey ||
14055                        a.metaKey ||
14056                        (l.activeElement &&
14057                            l.activeElement.nodeName &&
14058                            ('input' ===
14059                                l.activeElement.nodeName.toLowerCase() ||
14060                                'textarea' ===
14061                                    l.activeElement.nodeName.toLowerCase()))
14062                    )
14063                ) {
14064                    if (
14065                        t.params.keyboard.onlyInViewport &&
14066                        (d || c || p || u || h || m)
14067                    ) {
14068                        let e = !1;
14069                        if (
14070                            t.$el.parents(`.${t.params.slideClass}`).length >
14071                                0 &&
14072                            0 ===
14073                                t.$el.parents(`.${t.params.slideActiveClass}`)
14074                                    .length
14075                        )
14076                            return;
14077                        const a = t.$el,
14078                            i = a[0].clientWidth,
14079                            r = a[0].clientHeight,
14080                            n = o.innerWidth,
14081                            l = o.innerHeight,
14082                            d = t.$el.offset();
14083                        s && (d.left -= t.$el[0].scrollLeft);
14084                        const c = [
14085                            [d.left, d.top],
14086                            [d.left + i, d.top],
14087                            [d.left, d.top + r],
14088                            [d.left + i, d.top + r]
14089                        ];
14090                        for (let t = 0; t < c.length; t += 1) {
14091                            const s = c[t];
14092                            if (
14093                                s[0] >= 0 &&
14094                                s[0] <= n &&
14095                                s[1] >= 0 &&
14096                                s[1] <= l
14097                            ) {
14098                                if (0 === s[0] && 0 === s[1]) continue;
14099                                e = !0;
14100                            }
14101                        }
14102                        if (!e) return;
14103                    }
14104                    t.isHorizontal()
14105                        ? ((d || c || p || u) &&
14106                              (a.preventDefault
14107                                  ? a.preventDefault()
14108                                  : (a.returnValue = !1)),
14109                          (((c || u) && !s) || ((d || p) && s)) &&
14110                              t.slideNext(),
14111                          (((d || p) && !s) || ((c || u) && s)) &&
14112                              t.slidePrev())
14113                        : ((d || c || h || m) &&
14114                              (a.preventDefault
14115                                  ? a.preventDefault()
14116                                  : (a.returnValue = !1)),
14117                          (c || m) && t.slideNext(),
14118                          (d || h) && t.slidePrev()),
14119                        n('keyPress', i);
14120                }
14121            }
14122            function p() {
14123                t.keyboard.enabled ||
14124                    (d(l).on('keydown', c), (t.keyboard.enabled = !0));
14125            }
14126            function u() {
14127                t.keyboard.enabled &&
14128                    (d(l).off('keydown', c), (t.keyboard.enabled = !1));
14129            }
14130            (t.keyboard = { enabled: !1 }),
14131                s({
14132                    keyboard: {
14133                        enabled: !1,
14134                        onlyInViewport: !0,
14135                        pageUpDown: !0
14136                    }
14137                }),
14138                i('init', () => {
14139                    t.params.keyboard.enabled && p();
14140                }),
14141                i('destroy', () => {
14142                    t.keyboard.enabled && u();
14143                }),
14144                Object.assign(t.keyboard, { enable: p, disable: u });
14145        },
14146        function (e) {
14147            let { swiper: t, extendParams: s, on: a, emit: i } = e;
14148            const n = r();
14149            let l;
14150            s({
14151                mousewheel: {
14152                    enabled: !1,
14153                    releaseOnEdges: !1,
14154                    invert: !1,
14155                    forceToAxis: !1,
14156                    sensitivity: 1,
14157                    eventsTarget: 'container',
14158                    thresholdDelta: null,
14159                    thresholdTime: null
14160                }
14161            }),
14162                (t.mousewheel = { enabled: !1 });
14163            let o,
14164                c = u();
14165            const h = [];
14166            function m() {
14167                t.enabled && (t.mouseEntered = !0);
14168            }
14169            function f() {
14170                t.enabled && (t.mouseEntered = !1);
14171            }
14172            function g(e) {
14173                return (
14174                    !(
14175                        t.params.mousewheel.thresholdDelta &&
14176                        e.delta < t.params.mousewheel.thresholdDelta
14177                    ) &&
14178                    !(
14179                        t.params.mousewheel.thresholdTime &&
14180                        u() - c < t.params.mousewheel.thresholdTime
14181                    ) &&
14182                    ((e.delta >= 6 && u() - c < 60) ||
14183                        (e.direction < 0
14184                            ? (t.isEnd && !t.params.loop) ||
14185                              t.animating ||
14186                              (t.slideNext(), i('scroll', e.raw))
14187                            : (t.isBeginning && !t.params.loop) ||
14188                              t.animating ||
14189                              (t.slidePrev(), i('scroll', e.raw)),
14190                        (c = new n.Date().getTime()),
14191                        !1))
14192                );
14193            }
14194            function v(e) {
14195                let s = e,
14196                    a = !0;
14197                if (!t.enabled) return;
14198                const r = t.params.mousewheel;
14199                t.params.cssMode && s.preventDefault();
14200                let n = t.$el;
14201                if (
14202                    ('container' !== t.params.mousewheel.eventsTarget &&
14203                        (n = d(t.params.mousewheel.eventsTarget)),
14204                    !t.mouseEntered &&
14205                        !n[0].contains(s.target) &&
14206                        !r.releaseOnEdges)
14207                )
14208                    return !0;
14209                s.originalEvent && (s = s.originalEvent);
14210                let c = 0;
14211                const m = t.rtlTranslate ? -1 : 1,
14212                    f = (function (e) {
14213                        let t = 0,
14214                            s = 0,
14215                            a = 0,
14216                            i = 0;
14217                        return (
14218                            'detail' in e && (s = e.detail),
14219                            'wheelDelta' in e && (s = -e.wheelDelta / 120),
14220                            'wheelDeltaY' in e && (s = -e.wheelDeltaY / 120),
14221                            'wheelDeltaX' in e && (t = -e.wheelDeltaX / 120),
14222                            'axis' in e &&
14223                                e.axis === e.HORIZONTAL_AXIS &&
14224                                ((t = s), (s = 0)),
14225                            (a = 10 * t),
14226                            (i = 10 * s),
14227                            'deltaY' in e && (i = e.deltaY),
14228                            'deltaX' in e && (a = e.deltaX),
14229                            e.shiftKey && !a && ((a = i), (i = 0)),
14230                            (a || i) &&
14231                                e.deltaMode &&
14232                                (1 === e.deltaMode
14233                                    ? ((a *= 40), (i *= 40))
14234                                    : ((a *= 800), (i *= 800))),
14235                            a && !t && (t = a < 1 ? -1 : 1),
14236                            i && !s && (s = i < 1 ? -1 : 1),
14237                            { spinX: t, spinY: s, pixelX: a, pixelY: i }
14238                        );
14239                    })(s);
14240                if (r.forceToAxis)
14241                    if (t.isHorizontal()) {
14242                        if (!(Math.abs(f.pixelX) > Math.abs(f.pixelY)))
14243                            return !0;
14244                        c = -f.pixelX * m;
14245                    } else {
14246                        if (!(Math.abs(f.pixelY) > Math.abs(f.pixelX)))
14247                            return !0;
14248                        c = -f.pixelY;
14249                    }
14250                else
14251                    c =
14252                        Math.abs(f.pixelX) > Math.abs(f.pixelY)
14253                            ? -f.pixelX * m
14254                            : -f.pixelY;
14255                if (0 === c) return !0;
14256                r.invert && (c = -c);
14257                let v = t.getTranslate() + c * r.sensitivity;
14258                if (
14259                    (v >= t.minTranslate() && (v = t.minTranslate()),
14260                    v <= t.maxTranslate() && (v = t.maxTranslate()),
14261                    (a =
14262                        !!t.params.loop ||
14263                        !(v === t.minTranslate() || v === t.maxTranslate())),
14264                    a && t.params.nested && s.stopPropagation(),
14265                    t.params.freeMode && t.params.freeMode.enabled)
14266                ) {
14267                    const e = {
14268                            time: u(),
14269                            delta: Math.abs(c),
14270                            direction: Math.sign(c)
14271                        },
14272                        a =
14273                            o &&
14274                            e.time < o.time + 500 &&
14275                            e.delta <= o.delta &&
14276                            e.direction === o.direction;
14277                    if (!a) {
14278                        (o = void 0), t.params.loop && t.loopFix();
14279                        let n = t.getTranslate() + c * r.sensitivity;
14280                        const d = t.isBeginning,
14281                            u = t.isEnd;
14282                        if (
14283                            (n >= t.minTranslate() && (n = t.minTranslate()),
14284                            n <= t.maxTranslate() &
14284& (n = t.maxTranslate()),
14285                            t.setTransition(0),
14286                            t.setTranslate(n),
14287                            t.updateProgress(),
14288                            t.updateActiveIndex(),
14289                            t.updateSlidesClasses(),
14290                            ((!d && t.isBeginning) || (!u && t.isEnd)) &&
14291                                t.updateSlidesClasses(),
14292                            t.params.freeMode.sticky)
14293                        ) {
14294                            clearTimeout(l),
14295                                (l = void 0),
14296                                h.length >= 15 && h.shift();
14297                            const s = h.length ? h[h.length - 1] : void 0,
14298                                a = h[0];
14299                            if (
14300                                (h.push(e),
14301                                s &&
14302                                    (e.delta > s.delta ||
14303                                        e.direction !== s.direction))
14304                            )
14305                                h.splice(0);
14306                            else if (
14307                                h.length >= 15 &&
14308                                e.time - a.time < 500 &&
14309                                a.delta - e.delta >= 1 &&
14310                                e.delta <= 6
14311                            ) {
14312                                const s = c > 0 ? 0.8 : 0.2;
14313                                (o = e),
14314                                    h.splice(0),
14315                                    (l = p(() => {
14316                                        t.slideToClosest(
14317                                            t.params.speed,
14318                                            !0,
14319                                            void 0,
14320                                            s
14321                                        );
14322                                    }, 0));
14323                            }
14324                            l ||
14325                                (l = p(() => {
14326                                    (o = e),
14327                                        h.splice(0),
14328                                        t.slideToClosest(
14329                                            t.params.speed,
14330                                            !0,
14331                                            void 0,
14332                                            0.5
14333                                        );
14334                                }, 500));
14335                        }
14336                        if (
14337                            (a || i('scroll', s),
14338                            t.params.autoplay &&
14339                                t.params.autoplayDisableOnInteraction &&
14340                                t.autoplay.stop(),
14341                            n === t.minTranslate() || n === t.maxTranslate())
14342                        )
14343                            return !0;
14344                    }
14345                } else {
14346                    const s = {
14347                        time: u(),
14348                        delta: Math.abs(c),
14349                        direction: Math.sign(c),
14350                        raw: e
14351                    };
14352                    h.length >= 2 && h.shift();
14353                    const a = h.length ? h[h.length - 1] : void 0;
14354                    if (
14355                        (h.push(s),
14356                        a
14357                            ? (s.direction !== a.direction ||
14358                                  s.delta > a.delta ||
14359                                  s.time > a.time + 150) &&
14360                              g(s)
14361                            : g(s),
14362                        (function (e) {
14363                            const s = t.params.mousewheel;
14364                            if (e.direction < 0) {
14365                                if (
14366                                    t.isEnd &&
14367                                    !t.params.loop &&
14368                                    s.releaseOnEdges
14369                                )
14370                                    return !0;
14371                            } else if (
14372                                t.isBeginning &&
14373                                !t.params.loop &&
14374                                s.releaseOnEdges
14375                            )
14376                                return !0;
14377                            return !1;
14378                        })(s))
14379                    )
14380                        return !0;
14381                }
14382                return (
14383                    s.preventDefault
14384                        ? s.preventDefault()
14385                        : (s.returnValue = !1),
14386                    !1
14387                );
14388            }
14389            function w(e) {
14390                let s = t.$el;
14391                'container' !== t.params.mousewheel.eventsTarget &&
14392                    (s = d(t.params.mousewheel.eventsTarget)),
14393                    s[e]('mouseenter', m),
14394                    s[e]('mouseleave', f),
14395                    s[e]('wheel', v);
14396            }
14397            function b() {
14398                return t.params.cssMode
14399                    ? (t.wrapperEl.removeEventListener('wheel', v), !0)
14400                    : !t.mousewheel.enabled &&
14401                          (w('on'), (t.mousewheel.enabled = !0), !0);
14402            }
14403            function x() {
14404                return t.params.cssMode
14405                    ? (t.wrapperEl.addEventListener(event, v), !0)
14406                    : !!t.mousewheel.enabled &&
14407                          (w('off'), (t.mousewheel.enabled = !1), !0);
14408            }
14409            a('init', () => {
14410                !t.params.mousewheel.enabled && t.params.cssMode && x(),
14411                    t.params.mousewheel.enabled && b();
14412            }),
14413                a('destroy', () => {
14414                    t.params.cssMode && b(), t.mousewheel.enabled && x();
14415                }),
14416                Object.assign(t.mousewheel, { enable: b, disable: x });
14417        },
14418        function (e) {
14419            let { swiper: t, extendParams: s, on: a, emit: i } = e;
14420            function r(e) {
14421                let s;
14422                return (
14423                    e &&
14424                        ((s = d(e)),
14425                        t.params.uniqueNavElements &&
14426                            'string' == typeof e &&
14427                            s.length > 1 &&
14428                            1 === t.$el.find(e).length &&
14429                            (s = t.$el.find(e))),
14430                    s
14431                );
14432            }
14433            function n(e, s) {
14434                const a = t.params.navigation;
14435                e &&
14436                    e.length > 0 &&
14437                    (e[s ? 'addClass' : 'removeClass'](a.disabledClass),
14438                    e[0] && 'BUTTON' === e[0].tagName && (e[0].disabled = s),
14439                    t.params.watchOverflow &&
14440                        t.enabled &&
14441                        e[t.isLocked ? 'addClass' : 'removeClass'](
14442                            a.lockClass
14443                        ));
14444            }
14445            function l() {
14446                if (t.params.loop) return;
14447                const { $nextEl: e, $prevEl: s } = t.navigation;
14448                n(s, t.isBeginning && !t.params.rewind),
14449                    n(e, t.isEnd && !t.params.rewind);
14450            }
14451            function o(e) {
14452                e.preventDefault(),
14453                    (!t.isBeginning || t.params.loop || t.params.rewind) &&
14454                        (t.slidePrev(), i('navigationPrev'));
14455            }
14456            function c(e) {
14457                e.preventDefault(),
14458                    (!t.isEnd || t.params.loop || t.params.rewind) &&
14459                        (t.slideNext(), i('navigationNext'));
14460            }
14461            function p() {
14462                const e = t.params.navigation;
14463                if (
14464                    ((t.params.navigation = F(
14465                        t,
14466                        t.originalParams.navigation,
14467                        t.params.navigation,
14468                        {
14469                            nextEl: 'swiper-button-next',
14470                            prevEl: 'swiper-button-prev'
14471                        }
14472                    )),
14473                    !e.nextEl && !e.prevEl)
14474                )
14475                    return;
14476                const s = r(e.nextEl),
14477                    a = r(e.prevEl);
14478                s && s.length > 0 && s.on('click', c),
14479                    a && a.length > 0 && a.on('click', o),
14480                    Object.assign(t.navigation, {
14481                        $nextEl: s,
14482                        nextEl: s && s[0],
14483                        $prevEl: a,
14484                        prevEl: a && a[0]
14485                    }),
14486                    t.enabled ||
14487                        (s && s.addClass(e.lockClass),
14488                        a && a.addClass(e.lockClass));
14489            }
14490            function u() {
14491                const { $nextEl: e, $prevEl: s } = t.navigation;
14492                e &&
14493                    e.length &&
14494                    (e.off('click', c),
14495                    e.removeClass(t.params.navigation.disabledClass)),
14496                    s &&
14497                        s.length &&
14498                        (s.off('click', o),
14499                        s.removeClass(t.params.navigation.disabledClass));
14500            }
14501            s({
14502                navigation: {
14503                    nextEl: null,
14504                    prevEl: null,
14505                    hideOnClick: !1,
14506                    disabledClass: 'swiper-button-disabled',
14507                    hiddenClass: 'swiper-button-hidden',
14508                    lockClass: 'swiper-button-lock',
14509                    navigationDisabledClass: 'swiper-navigation-disabled'
14510                }
14511            }),
14512                (t.navigation = {
14513                    nextEl: null,
14514                    $nextEl: null,
14515                    prevEl: null,
14516                    $prevEl: null
14517                }),
14518                a('init', () => {
14519                    !1 === t.params.navigation.enabled ? h() : (p(), l());
14520                }),
14521                a('toEdge fromEdge lock unlock', () => {
14522                    l();
14523                }),
14524                a('destroy', () => {
14525                    u();
14526                }),
14527                a('enable disable', () => {
14528                    const { $nextEl: e, $prevEl: s } = t.navigation;
14529                    e &&
14530                        e[t.enabled ? 'removeClass' : 'addClass'](
14531                            t.params.navigation.lockClass
14532                        ),
14533                        s &&
14534                            s[t.enabled ? 'removeClass' : 'addClass'](
14535                                t.params.navigation.lockClass
14536                            );
14537                }),
14538                a('click', (e, s) => {
14539                    const { $nextEl: a, $prevEl: r } = t.navigation,
14540                        n = s.target;
14541                    if (
14542                        t.params.navigation.hideOnClick &&
14543                        !d(n).is(r) &&
14544                        !d(n).is(a)
14545                    ) {
14546                        if (
14547                            t.pagination &&
14548                            t.params.pagination &&
14549                            t.params.pagination.clickable &&
14550                            (t.pagination.el === n ||
14551                                t.pagination.el.contains(n))
14552                        )
14553                            return;
14554                        let e;
14555                        a
14556                            ? (e = a.hasClass(t.params.navigation.hiddenClass))
14557                            : r &&
14558                              (e = r.hasClass(t.params.navigation.hiddenClass)),
14559                            i(!0 === e ? 'navigationShow' : 'navigationHide'),
14560                            a && a.toggleClass(t.params.navigation.hiddenClass),
14561                            r && r.toggleClass(t.params.navigation.hiddenClass);
14562                    }
14563                });
14564            const h = () => {
14565                t.$el.addClass(t.params.navigation.navigationDisabledClass),
14566                    u();
14567            };
14568            Object.assign(t.navigation, {
14569                enable: () => {
14570                    t.$el.removeClass(
14571                        t.params.navigation.navigationDisabledClass
14572                    ),
14573                        p(),
14574                        l();
14575                },
14576                disable: h,
14577                update: l,
14578                init: p,
14579                destroy: u
14580            });
14581        },
14582        function (e) {
14583            let { swiper: t, extendParams: s, on: a, emit: i } = e;
14584            const r = 'swiper-pagination';
14585            let n;
14586            s({
14587                pagination: {
14588                    el: null,
14589                    bulletElement: 'span',
14590                    clickable: !1,
14591                    hideOnClick: !1,
14592                    renderBullet: null,
14593                    renderProgressbar: null,
14594                    renderFraction: null,
14595                    renderCustom: null,
14596                    progressbarOpposite: !1,
14597                    type: 'bullets',
14598                    dynamicBullets: !1,
14599                    dynamicMainBullets: 1,
14600                    formatFractionCurrent: (e) => e,
14601                    formatFractionTotal: (e) => e,
14602                    bulletClass: `${r}-bullet`,
14603                    bulletActiveClass: `${r}-bullet-active`,
14604                    modifierClass: `${r}-`,
14605                    currentClass: `${r}-current`,
14606                    totalClass: `${r}-total`,
14607                    hiddenClass: `${r}-hidden`,
14608                    progressbarFillClass: `${r}-progressbar-fill`,
14609                    progressbarOppositeClass: `${r}-progressbar-opposite`,
14610                    clickableClass: `${r}-clickable`,
14611                    lockClass: `${r}-lock`,
14612                    horizontalClass: `${r}-horizontal`,
14613                    verticalClass: `${r}-vertical`,
14614                    paginationDisabledClass: `${r}-disabled`
14615                }
14616            }),
14617                (t.pagination = { el: null, $el: null, bullets: [] });
14618            let l = 0;
14619            function o() {
14620                return (
14621                    !t.params.pagination.el ||
14622                    !t.pagination.el ||
14623                    !t.pagination.$el ||
14624                    0 === t.pagination.$el.length
14625                );
14626            }
14627            function c(e, s) {
14628                const { bulletActiveClass: a } = t.params.pagination;
14629                e[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`);
14630            }
14631            function p() {
14632                const e = t.rtl,
14633                    s = t.params.pagination;
14634                if (o()) return;
14635                const a =
14636                        t.virtual && t.params.virtual.enabled
14637                            ? t.virtual.slides.length
14638                            : t.slides.length,
14639                    r = t.pagination.$el;
14640                let p;
14641                const u = t.params.loop
14642                    ? Math.ceil(
14643                          (a - 2 * t.loopedSlides) / t.params.slidesPerGroup
14644                      )
14645                    : t.snapGrid.length;
14646                if (
14647                    (t.params.loop
14648                        ? ((p = Math.ceil(
14649                              (t.activeIndex - t.loopedSlides) /
14650                                  t.params.slidesPerGroup
14651                          )),
14652                          p > a - 1 - 2 * t.loopedSlides &&
14653                              (p -= a - 2 * t.loopedSlides),
14654                          p > u - 1 && (p -= u),
14655                          p < 0 &&
14656                              'bullets' !== t.params.paginationType &&
14657                              (p = u + p))
14658                        : (p =
14659                              void 0 !== t.snapIndex
14660                                  ? t.snapIndex
14661                                  : t.activeIndex || 0),
14662                    'bullets' === s.type &&
14663                        t.pagination.bullets &&
14664                        t.pagination.bullets.length > 0)
14665                ) {
14666                    const a = t.pagination.bullets;
14667                    let i, o, u;
14668                    if (
14669                        (s.dynamicBullets &&
14670                            ((n = a
14671                                .eq(0)
14672                                [
14673                                    t.isHorizontal()
14674                      
14674                  ? 'outerWidth'
14675                                        : 'outerHeight'
14676                                ](!0)),
14677                            r.css(
14678                                t.isHorizontal() ? 'width' : 'height',
14679                                n * (s.dynamicMainBullets + 4) + 'px'
14680                            ),
14681                            s.dynamicMainBullets > 1 &&
14682                                void 0 !== t.previousIndex &&
14683                                ((l +=
14684                                    p -
14685                                    (t.previousIndex - t.loopedSlides || 0)),
14686                                l > s.dynamicMainBullets - 1
14687                                    ? (l = s.dynamicMainBullets - 1)
14688                                    : l < 0 && (l = 0)),
14689                            (i = Math.max(p - l, 0)),
14690                            (o =
14691                                i +
14692                                (Math.min(a.length, s.dynamicMainBullets) - 1)),
14693                            (u = (o + i) / 2)),
14694                        a.removeClass(
14695                            [
14696                                '',
14697                                '-next',
14698                                '-next-next',
14699                                '-prev',
14700                                '-prev-prev',
14701                                '-main'
14702                            ]
14703                                .map((e) => `${s.bulletActiveClass}${e}`)
14704                                .join(' ')
14705                        ),
14706                        r.length > 1)
14707                    )
14708                        a.each((e) => {
14709                            const t = d(e),
14710                                a = t.index();
14711                            a === p && t.addClass(s.bulletActiveClass),
14712                                s.dynamicBullets &&
14713                                    (a >= i &&
14714                                        a <= o &&
14715                                        t.addClass(
14716                                            `${s.bulletActiveClass}-main`
14717                                        ),
14718                                    a === i && c(t, 'prev'),
14719                                    a === o && c(t, 'next'));
14720                        });
14721                    else {
14722                        const e = a.eq(p),
14723                            r = e.index();
14724                        if (
14725                            (e.addClass(s.bulletActiveClass), s.dynamicBullets)
14726                        ) {
14727                            const e = a.eq(i),
14728                                n = a.eq(o);
14729                            for (let e = i; e <= o; e += 1)
14730                                a.eq(e).addClass(`${s.bulletActiveClass}-main`);
14731                            if (t.params.loop)
14732                                if (r >= a.length) {
14733                                    for (
14734                                        let e = s.dynamicMainBullets;
14735                                        e >= 0;
14736                                        e -= 1
14737                                    )
14738                                        a.eq(a.length - e).addClass(
14739                                            `${s.bulletActiveClass}-main`
14740                                        );
14741                                    a.eq(
14742                                        a.length - s.dynamicMainBullets - 1
14743                                    ).addClass(`${s.bulletActiveClass}-prev`);
14744                                } else c(e, 'prev'), c(n, 'next');
14745                            else c(e, 'prev'), c(n, 'next');
14746                        }
14747                    }
14748                    if (s.dynamicBullets) {
14749                        const i = Math.min(a.length, s.dynamicMainBullets + 4),
14750                            r = (n * i - n) / 2 - u * n,
14751                            l = e ? 'right' : 'left';
14752                        a.css(t.isHorizontal() ? l : 'top', `${r}px`);
14753                    }
14754                }
14755                if (
14756                    ('fraction' === s.type &&
14757                        (r
14758                            .find(U(s.currentClass))
14759                            .text(s.formatFractionCurrent(p + 1)),
14760                        r.find(U(s.totalClass)).text(s.formatFractionTotal(u))),
14761                    'progressbar' === s.type)
14762                ) {
14763                    let e;
14764                    e = s.progressbarOpposite
14765                        ? t.isHorizontal()
14766                            ? 'vertical'
14767                            : 'horizontal'
14768                        : t.isHorizontal()
14769                        ? 'horizontal'
14770                        : 'vertical';
14771                    const a = (p + 1) / u;
14772                    let i = 1,
14773                        n = 1;
14774                    'horizontal' === e ? (i = a) : (n = a),
14775                        r
14776                            .find(U(s.progressbarFillClass))
14777                            .transform(
14778                                `translate3d(0,0,0) scaleX(${i}) scaleY(${n})`
14779                            )
14780                            .transition(t.params.speed);
14781                }
14782                'custom' === s.type && s.renderCustom
14783                    ? (r.html(s.renderCustom(t, p + 1, u)),
14784                      i('paginationRender', r[0]))
14785                    : i('paginationUpdate', r[0]),
14786                    t.params.watchOverflow &&
14787                        t.enabled &&
14788                        r[t.isLocked ? 'addClass' : 'removeClass'](s.lockClass);
14789            }
14790            function u() {
14791                const e = t.params.pagination;
14792                if (o()) return;
14793                const s =
14794                        t.virtual && t.params.virtual.enabled
14795                            ? t.virtual.slides.length
14796                            : t.slides.length,
14797                    a = t.pagination.$el;
14798                let r = '';
14799                if ('bullets' === e.type) {
14800                    let i = t.params.loop
14801                        ? Math.ceil(
14802                              (s - 2 * t.loopedSlides) / t.params.slidesPerGroup
14803                          )
14804                        : t.snapGrid.length;
14805                    t.params.freeMode &&
14806                        t.params.freeMode.enabled &&
14807                        !t.params.loop &&
14808                        i > s &&
14809                        (i = s);
14810                    for (let s = 0; s < i; s += 1)
14811                        e.renderBullet
14812                            ? (r += e.renderBullet.call(t, s, e.bulletClass))
14813                            : (r += `<${e.bulletElement} class="${e.bulletClass}"></${e.bulletElement}>`);
14814                    a.html(r),
14815                        (t.pagination.bullets = a.find(U(e.bulletClass)));
14816                }
14817                'fraction' === e.type &&
14818                    ((r = e.renderFraction
14819                        ? e.renderFraction.call(t, e.currentClass, e.totalClass)
14820                        : `<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`),
14821                    a.html(r)),
14822                    'progressbar' === e.type &&
14823                        ((r = e.renderProgressbar
14824                            ? e.renderProgressbar.call(
14825                                  t,
14826                                  e.progressbarFillClass
14827                              )
14828                            : `<span class="${e.progressbarFillClass}"></span>`),
14829                        a.html(r)),
14830                    'custom' !== e.type &&
14831                        i('paginationRender', t.pagination.$el[0]);
14832            }
14833            function h() {
14834                t.params.pagination = F(
14835                    t,
14836                    t.originalParams.pagination,
14837                    t.params.pagination,
14838                    { el: 'swiper-pagination' }
14839                );
14840                const e = t.params.pagination;
14841                if (!e.el) return;
14842                let s = d(e.el);
14843                0 !== s.length &&
14844                    (t.params.uniqueNavElements &&
14845                        'string' == typeof e.el &&
14846                        s.length > 1 &&
14847                        ((s = t.$el.find(e.el)),
14848                        s.length > 1 &&
14849                            (s = s.filter(
14850                                (e) => d(e).parents('.swiper')[0] === t.el
14851                            ))),
14852                    'bullets' === e.type &&
14853                        e.clickable &&
14854                        s.addClass(e.clickableClass),
14855                    s.addClass(e.modifierClass + e.type),
14856                    s.addClass(
14857                        t.isHorizontal() ? e.horizontalClass : e.verticalClass
14858                    ),
14859                    'bullets' === e.type &&
14860                        e.dynamicBullets &&
14861                        (s.addClass(`${e.modifierClass}${e.type}-dynamic`),
14862                        (l = 0),
14863                        e.dynamicMainBullets < 1 && (e.dynamicMainBullets = 1)),
14864                    'progressbar' === e.type &&
14865                        e.progressbarOpposite &&
14866                        s.addClass(e.progressbarOppositeClass),
14867                    e.clickable &&
14868                        s.on('click', U(e.bulletClass), function (e) {
14869                            e.preventDefault();
14870                            let s = d(this).index() * t.params.slidesPerGroup;
14871                            t.params.loop && (s += t.loopedSlides),
14872                                t.slideTo(s);
14873                        }),
14874                    Object.assign(t.pagination, { $el: s, el: s[0] }),
14875                    t.enabled || s.addClass(e.lockClass));
14876            }
14877            function m() {
14878                const e = t.params.pagination;
14879                if (o()) return;
14880                const s = t.pagination.$el;
14881                s.removeClass(e.hiddenClass),
14882                    s.removeClass(e.modifierClass + e.type),
14883                    s.removeClass(
14884                        t.isHorizontal() ? e.horizontalClass : e.verticalClass
14885                    ),
14886                    t.pagination.bullets &&
14887                        t.pagination.bullets.removeClass &&
14888                        t.pagination.bullets.removeClass(e.bulletActiveClass),
14889                    e.clickable && s.off('click', U(e.bulletClass));
14890            }
14891            a('init', () => {
14892                !1 === t.params.pagination.enabled ? f() : (h(), u(), p());
14893            }),
14894                a('activeIndexChange', () => {
14895                    (t.params.loop || void 0 === t.snapIndex) && p();
14896                }),
14897                a('snapIndexChange', () => {
14898                    t.params.loop || p();
14899                }),
14900                a('slidesLengthChange', () => {
14901                    t.params.loop && (u(), p());
14902                }),
14903                a('snapGridLengthChange', () => {
14904                    t.params.loop || (u(), p());
14905                }),
14906                a('destroy', () => {
14907                    m();
14908                }),
14909                a('enable disable', () => {
14910                    const { $el: e } = t.pagination;
14911                    e &&
14912                        e[t.enabled ? 'removeClass' : 'addClass'](
14913                            t.params.pagination.lockClass
14914                        );
14915                }),
14916                a('lock unlock', () => {
14917                    p();
14918                }),
14919                a('click', (e, s) => {
14920                    const a = s.target,
14921                        { $el: r } = t.pagination;
14922                    if (
14923                        t.params.pagination.el &&
14924                        t.params.pagination.hideOnClick &&
14925                        r &&
14926                        r.length > 0 &&
14927                        !d(a).hasClass(t.params.pagination.bulletClass)
14928                    ) {
14929                        if (
14930                            t.navigation &&
14931                            ((t.navigation.nextEl &&
14932                                a === t.navigation.nextEl) ||
14933                                (t.navigation.prevEl &&
14934                                    a === t.navigation.prevEl))
14935                        )
14936                            return;
14937                        const e = r.hasClass(t.params.pagination.hiddenClass);
14938                        i(!0 === e ? 'paginationShow' : 'paginationHide'),
14939                            r.toggleClass(t.params.pagination.hiddenClass);
14940                    }
14941                });
14942            const f = () => {
14943                t.$el.addClass(t.params.pagination.paginationDisabledClass),
14944                    t.pagination.$el &&
14945                        t.pagination.$el.addClass(
14946                            t.params.pagination.paginationDisabledClass
14947                        ),
14948                    m();
14949            };
14950            Object.assign(t.pagination, {
14951                enable: () => {
14952                    t.$el.removeClass(
14953                        t.params.pagination.paginationDisabledClass
14954                    ),
14955                        t.pagination.$el &&
14956                            t.pagination.$el.removeClass(
14957                                t.params.pagination.paginationDisabledClass
14958                            ),
14959                        h(),
14960                        u(),
14961                        p();
14962                },
14963                disable: f,
14964                render: u,
14965                update: p,
14966                init: h,
14967                destroy: m
14968            });
14969        },
14970        function (e) {
14971            let { swiper: t, extendParams: s, on: i, emit: r }
14971 = e;
14972            const n = a();
14973            let l,
14974                o,
14975                c,
14976                u,
14977                h = !1,
14978                m = null,
14979                f = null;
14980            function g() {
14981                if (!t.params.scrollbar.el || !t.scrollbar.el) return;
14982                const { scrollbar: e, rtlTranslate: s, progress: a } = t,
14983                    { $dragEl: i, $el: r } = e,
14984                    n = t.params.scrollbar;
14985                let l = o,
14986                    d = (c - o) * a;
14987                s
14988                    ? ((d = -d),
14989                      d > 0
14990                          ? ((l = o - d), (d = 0))
14991                          : -d + o > c && (l = c + d))
14992                    : d < 0
14993                    ? ((l = o + d), (d = 0))
14994                    : d + o > c && (l = c - d),
14995                    t.isHorizontal()
14996                        ? (i.transform(`translate3d(${d}px, 0, 0)`),
14997                          (i[0].style.width = `${l}px`))
14998                        : (i.transform(`translate3d(0px, ${d}px, 0)`),
14999                          (i[0].style.height = `${l}px`)),
15000                    n.hide &&
15001                        (clearTimeout(m),
15002                        (r[0].style.opacity = 1),
15003                        (m = setTimeout(() => {
15004                            (r[0].style.opacity = 0), r.transition(400);
15005                        }, 1e3)));
15006            }
15007            function v() {
15008                if (!t.params.scrollbar.el || !t.scrollbar.el) return;
15009                const { scrollbar: e } = t,
15010                    { $dragEl: s, $el: a } = e;
15011                (s[0].style.width = ''),
15012                    (s[0].style.height = ''),
15013                    (c = t.isHorizontal()
15014                        ? a[0].offsetWidth
15015                        : a[0].offsetHeight),
15016                    (u =
15017                        t.size /
15018                        (t.virtualSize +
15019                            t.params.slidesOffsetBefore -
15020                            (t.params.centeredSlides ? t.snapGrid[0] : 0))),
15021                    (o =
15022                        'auto' === t.params.scrollbar.dragSize
15023                            ? c * u
15024                            : parseInt(t.params.scrollbar.dragSize, 10)),
15025                    t.isHorizontal()
15026                        ? (s[0].style.width = `${o}px`)
15027                        : (s[0].style.height = `${o}px`),
15028                    (a[0].style.display = u >= 1 ? 'none' : ''),
15029                    t.params.scrollbar.hide && (a[0].style.opacity = 0),
15030                    t.params.watchOverflow &&
15031                        t.enabled &&
15032                        e.$el[t.isLocked ? 'addClass' : 'removeClass'](
15033                            t.params.scrollbar.lockClass
15034                        );
15035            }
15036            function w(e) {
15037                return t.isHorizontal()
15038                    ? 'touchstart' === e.type || 'touchmove' === e.type
15039                        ? e.targetTouches[0].clientX
15040                        : e.clientX
15041                    : 'touchstart' === e.type || 'touchmove' === e.type
15042                    ? e.targetTouches[0].clientY
15043                    : e.clientY;
15044            }
15045            function b(e) {
15046                const { scrollbar: s, rtlTranslate: a } = t,
15047                    { $el: i } = s;
15048                let r;
15049                (r =
15050                    (w(e) -
15051                        i.offset()[t.isHorizontal() ? 'left' : 'top'] -
15052                        (null !== l ? l : o / 2)) /
15053                    (c - o)),
15054                    (r = Math.max(Math.min(r, 1), 0)),
15055                    a && (r = 1 - r);
15056                const n =
15057                    t.minTranslate() +
15058                    (t.maxTranslate() - t.minTranslate()) * r;
15059                t.updateProgress(n),
15060                    t.setTranslate(n),
15061                    t.updateActiveIndex(),
15062                    t.updateSlidesClasses();
15063            }
15064            function x(e) {
15065                const s = t.params.scrollbar,
15066                    { scrollbar: a, $wrapperEl: i } = t,
15067                    { $el: n, $dragEl: o } = a;
15068                (h = !0),
15069                    (l =
15070                        e.target === o[0] || e.target === o
15071                            ? w(e) -
15072                              e.target.getBoundingClientRect()[
15073                                  t.isHorizontal() ? 'left' : 'top'
15074                              ]
15075                            : null),
15076                    e.preventDefault(),
15077                    e.stopPropagation(),
15078                    i.transition(100),
15079                    o.transition(100),
15080                    b(e),
15081                    clearTimeout(f),
15082                    n.transition(0),
15083                    s.hide && n.css('opacity', 1),
15084                    t.params.cssMode &&
15085                        t.$wrapperEl.css('scroll-snap-type', 'none'),
15086                    r('scrollbarDragStart', e);
15087            }
15088            function y(e) {
15089                const { scrollbar: s, $wrapperEl: a } = t,
15090                    { $el: i, $dragEl: n } = s;
15091                h &&
15092                    (e.preventDefault
15093                        ? e.preventDefault()
15094                        : (e.returnValue = !1),
15095                    b(e),
15096                    a.transition(0),
15097                    i.transition(0),
15098                    n.transition(0),
15099                    r('scrollbarDragMove', e));
15100            }
15101            function E(e) {
15102                const s = t.params.scrollbar,
15103                    { scrollbar: a, $wrapperEl: i } = t,
15104                    { $el: n } = a;
15105                h &&
15106                    ((h = !1),
15107                    t.params.cssMode &&
15108                        (t.$wrapperEl.css('scroll-snap-type', ''),
15109                        i.transition('')),
15110                    s.hide &&
15111                        (clearTimeout(f),
15112                        (f = p(() => {
15113                            n.css('opacity', 0), n.transition(400);
15114                        }, 1e3))),
15115                    r('scrollbarDragEnd', e),
15116                    s.snapOnRelease && t.slideToClosest());
15117            }
15118            function C(e) {
15119                const {
15120                        scrollbar: s,
15121                        touchEventsTouch: a,
15122                        touchEventsDesktop: i,
15123                        params: r,
15124                        support: l
15125                    } = t,
15126                    o = s.$el;
15127                if (!o) return;
15128                const d = o[0],
15129                    c = !(!l.passiveListener || !r.passiveListeners) && {
15130                        passive: !1,
15131                        capture: !1
15132                    },
15133                    p = !(!l.passiveListener || !r.passiveListeners) && {
15134                        passive: !0,
15135                        capture: !1
15136                    };
15137                if (!d) return;
15138                const u =
15139                    'on' === e ? 'addEventListener' : 'removeEventListener';
15140                l.touch
15141                    ? (d[u](a.start, x, c),
15142                      d[u](a.move, y, c),
15143                      d[u](a.end, E, p))
15144                    : (d[u](i.start, x, c),
15145                      n[u](i.move, y, c),
15146                      n[u](i.end, E, p));
15147            }
15148            function T() {
15149                const { scrollbar: e, $el: s } = t;
15150                t.params.scrollbar = F(
15151                    t,
15152                    t.originalParams.scrollbar,
15153                    t.params.scrollbar,
15154                    { el: 'swiper-scrollbar' }
15155                );
15156                const a = t.params.scrollbar;
15157                if (!a.el) return;
15158                let i = d(a.el);
15159                t.params.uniqueNavElements &&
15160                    'string' == typeof a.el &&
15161                    i.length > 1 &&
15162                    1 === s.find(a.el).length &&
15163                    (i = s.find(a.el)),
15164                    i.addClass(
15165                        t.isHorizontal() ? a.horizontalClass : a.verticalClass
15166                    );
15167                let r = i.find(`.${t.params.scrollbar.dragClass}`);
15168                0 === r.length &&
15169                    ((r = d(
15170                        `<div class="${t.params.scrollbar.dragClass}"></div>`
15171                    )),
15172                    i.append(r)),
15173                    Object.assign(e, {
15174                        $el: i,
15175                        el: i[0],
15176                        $dragEl: r,
15177                        dragEl: r[0]
15178                    }),
15179                    a.draggable &&
15180                        t.params.scrollbar.el &&
15181                        t.scrollbar.el &&
15182                        C('on'),
15183                    i &&
15184                        i[t.enabled ? 'removeClass' : 'addClass'](
15185                            t.params.scrollbar.lockClass
15186                        );
15187            }
15188            function $() {
15189                const e = t.params.scrollbar,
15190                    s = t.scrollbar.$el;
15191                s &&
15192                    s.removeClass(
15193                        t.isHorizontal() ? e.horizontalClass : e.verticalClass
15194                    ),
15195                    t.params.scrollbar.el && t.scrollbar.el && C('off');
15196            }
15197            s({
15198                scrollbar: {
15199                    el: null,
15200                    dragSize: 'auto',
15201                    hide: !1,
15202                    draggable: !1,
15203                    snapOnRelease: !0,
15204                    lockClass: 'swiper-scrollbar-lock',
15205                    dragClass: 'swiper-scrollbar-drag',
15206                    scrollbarDisabledClass: 'swiper-scrollbar-disabled',
15207                    horizontalClass: 'swiper-scrollbar-horizontal',
15208                    verticalClass: 'swiper-scrollbar-vertical'
15209                }
15210            }),
15211                (t.scrollbar = {
15212                    el: null,
15213                    dragEl: null,
15214                    $el: null,
15215                    $dragEl: null
15216                }),
15217                i('init', () => {
15218                    !1 === t.params.scrollbar.enabled ? S() : (T(), v(), g());
15219                }),
15220                i('update resize observerUpdate lock unlock', () => {
15221                    v();
15222                }),
15223                i('setTranslate', () => {
15224                    g();
15225                }),
15226                i('setTransition', (e, s) => {
15227                    !(function (e) {
15228                        t.params.scrollbar.el &&
15229                            t.scrollbar.el &&
15230                            t.scrollbar.$dragEl.transition(e);
15231                    })(s);
15232                }),
15233                i('enable disable', () => {
15234                    const { $el: e } = t.scrollbar;
15235                    e &&
15236                        e[t.enabled ? 'removeClass' : 'addClass'](
15237                            t.params.scrollbar.lockClass
15238                        );
15239                }),
15240                i('destroy', () => {
15241                    $();
15242                });
15243            const S = () => {
15244                t.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),
15245                    t.scrollbar.$el &&
15246                        t.scrollbar.$el.addClass(
15247                            t.params.scrollbar.scrollbarDisabledClass
15248                        ),
15249                    $();
15250            };
15251            Object.assign(t.scrollbar, {
15252                enable: () => {
15253                    t.$el.removeClass(
15254                        t.params.scrollbar.scrollbarDisabledClass
15255                    ),
15256                        t.scrollbar.$el &&
15257                            t.scrollbar.$el.removeClass(
15258                                t.params.scrollbar.scrollbarDisabledClass
15259                            ),
15260                        T(),
15261                        v(),
15262                        g();
15263                },
15264                disable: S,
15265                updateSize: v,
15266                setTranslate: g,
15267                init: T,
15268                destroy: $
15269            });
15270        },
15271        function (e) {
15272            let { swiper: t, extendParams: s, on: a } = e;
15273            s({ parallax: { enabled: !1 } });
15274            const i = (e, s) => {
15275                    const { rtl: a } = t,
15276                        i = d(e),
15277                        r = a ? -1 : 1,
15278                        n = i.attr('data-swiper-parallax') || '0';
15279                    let l = i.attr('data-swiper-parallax-x'),
15280                        o = i.attr('data-swiper-parallax-y');
15281                    const c = i.attr('data-swiper-parallax-scale'),
15282                        p = i.attr('data-swiper-parallax-opacity');
15283                    if (
15284                        (l || o
15285                            ? ((l = l || '0'), (o = o || '0'))
15286                            : t.isHorizontal()
15287                            ? ((l = n), (o = '0'))
15288                            : ((o = n), (l = '0')),
15289                        (l =
15290                            l.indexOf('%') >= 0
15291                                ? parseInt(l, 10) * s * r + '%'
15292                                : l * s * r + 'px'),
15293                        (o =
15294                            o.indexOf('%') >= 0
15295                                ? parseInt(o, 10) * s + '%'
15296                                : o * s + 'px'),
15297                        null != p)
15298                    ) {
15299                        const e = p - (p - 1) * (1 - Math.abs(s));
15300                        i[0].style.opacity = e;
15301                    }
15302                    if (null == c) i.transform(`translate3d(${l}, ${o}, 0px)`);
15303                    else {
15304                        const e = c - (c - 1) * (1 - Math.abs(s));
15305                        i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`);
15306                    }
15307                },
15308                r = () => {
15309                    const { $el: e, slides: s, progress: a, snapGrid: r } = t;
15310                    e
15311                        .children(
15312                            '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]'
15313                        )
15314                        .each((e) => {
15315                            i(e, a);
15316                        }),
15317                        s.each((e, s) => {
15318                            let n = e.progress;
15319                            t.params.slidesPerGroup > 1 &&
15320                                'auto' !== t.params.slidesPerView &&
15321                                (n += Math.ceil(s / 2) - a * (r.length - 1)),
15322                                (n = Math.min(Math.max(n, -1), 1)),
15323                                d(e)
15324                                    .find(
15325                                        '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]'
15326                                    )
15327                                    .each((e) => {
15328                                        i(e, n);
15329                                    });
15330                        });
15331                };
15332            a('beforeInit', () => {
15333                t.params.parallax.enabled &&
15334                    ((t.params.watchSlidesProgress = !0),
15335                    (t.originalParams.watchSlidesProgress = !0));
15336            }),
15337                a('init', () => {
15338                    t.params.parallax.enabled && r();
15339                }),
15340                a('setTranslate', () => {
15341                    t.params.parallax.enabled && r();
15342                }),
15343                a('setTransition', (e, s) => {
15344                    t.params.parallax.enabled &&
15345                        (function (e) {
15346                            void 0 === e && (e = t.params.speed);
15347                            const { $el: s } = t;
15348                            s.find(
15349                                '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]'
15350                            ).each((t) => {
15351                                const s = d(t);
15352                                let a =
15353                                    parseInt(
15354                                        s.attr('data-swiper-parallax-duration'),
15355                                        10
15356                                    ) || e;
15357                                0 === e && (a = 0), s.transition(a);
15358                            });
15359                        })(s);
15360                });
15361        },
15362        function (e) {
15363            let { swiper: t, extendParams: s, on: a, emit: i } = e;
15364            const n = r();
15365            s({
15366                zoom: {
15367                    enabled: !1,
15368                    maxRatio: 3,
15369                    minRatio: 1,
15370                    toggle: !0,
15371                    containerClass: 'swiper-zoom-container',
15372                    zoomedSlideClass: 'swiper-slide-zoomed'
15373                }
15374            }),
15375                (t.zoom = { enabled: !1 });
15376            let l,
15377                o,
15378                c,
15379                p = 1,
15380                u = !1;
15381            const m = {
15382                    $slideEl: void 0,
15383                    slideWidth: void 0,
15384                    slideHeight: void 0,
15385                    $imageEl: void 0,
15386                    $imageWrapEl: void 0,
15387                    maxRatio: 3
15388                },
15389                f = {
15390                    isTouched: void 0,
15391                    isMoved: void 0,
15392                    currentX: void 0,
15393                    currentY: void 0,
15394                    minX: void 0,
15395                    minY: void 0,
15396                    maxX: void 0,
15397                    maxY: void 0,
15398                    width: void 0,
15399                    height: void 0,
15400                    startX: void 0,
15401                    startY: void 0,
15402                    touchesStart: {},
15403                    touchesCurrent: {}
15404                },
15405                g = {
15406                    x: void 0,
15407                    y: void 0,
15408                    prevPositionX: void 0,
15409                    prevPositionY: void 0,
15410                    prevTime: void 0
15411                };
15412            let v = 1;
15413            function w(e) {
15414                if (e.targetTouches.length < 2) return 1;
15415                const t = e.targetTouches[0].pageX,
15416                    s = e.targetTouches[0].pageY,
15417                    a = e.targetTouches[1].pageX,
15418                    i = e.targetTouches[1].pageY;
15419                return Math.sqrt((a - t) ** 2 + (i - s) ** 2);
15420            }
15421            function b(e) {
15422                const s = t.support,
15423                    a = t.params.zoom;
15424                if (((o = !1), (c = !1), !s.gestures)) {
15425                    if (
15426                        'touchstart' !== e.type ||
15427                        ('touchstart' === e.type && e.targetTouches.length < 2)
15428                    )
15429                        return;
15430                    (o = !0), (m.scaleStart = w(e));
15431                }
15432                (m.$slideEl && m.$slideEl.length) ||
15433                ((m.$slideEl = d(e.target).closest(`.${t.params.slideClass}`)),
15434                0 === m.$slideEl.length &&
15435                    (m.$slideEl = t.slides.eq(t.activeIndex)),
15436                (m.$imageEl = m.$slideEl
15437                    .find(`.${a.containerClass}`)
15438                    .eq(0)
15439                    .find('picture, img, svg, canvas, .swiper-zoom-target')
15440                    .eq(0)),
15441                (m.$imageWrapEl = m.$imageEl.parent(`.${a.containerClass}`)),
15442                (m.maxRatio =
15443                    m.$imageWrapEl.attr('data-swiper-zoom') || a.maxRatio),
15444                0 !== m.$imageWrapEl.length)
15445                    ? (m.$imageEl && m.$imageEl.transition(0), (u = !0))
15446                    : (m.$imageEl = void 0);
15447            }
15448            function x(e) {
15449                const s = t.support,
15450                    a = t.params.zoom,
15451                    i = t.zoom;
15452                if (!s.gestures) {
15453                    if (
15454                        'touchmove' !== e.type ||
15455                        ('touchmove' === e.type && e.targetTouches.length < 2)
15456                    )
15457                        return;
15458                    (c = !0), (m.scaleMove = w(e));
15459                }
15460                m.$imageEl && 0 !== m.$imageEl.length
15461                    ? (s.gestures
15462                          ? (i.scale = e.scale * p)
15463                          : (i.scale = (m.scaleMove / m.scaleStart) * p),
15464                      i.scale > m.maxRatio &&
15465                          (i.scale =
15466                              m.maxRatio -
15467                              1 +
15468                              (i.scale - m.maxRatio + 1) ** 0.5),
15469                      i.scale < a.minRatio &&
15470                          (i.scale =
15471                              a.minRatio +
15472                              1 -
15473                              (a.minRatio - i.scale + 1) *
15473* 0.5),
15474                      m.$imageEl.transform(
15475                          `translate3d(0,0,0) scale(${i.scale})`
15476                      ))
15477                    : 'gesturechange' === e.type && b(e);
15478            }
15479            function y(e) {
15480                const s = t.device,
15481                    a = t.support,
15482                    i = t.params.zoom,
15483                    r = t.zoom;
15484                if (!a.gestures) {
15485                    if (!o || !c) return;
15486                    if (
15487                        'touchend' !== e.type ||
15488                        ('touchend' === e.type &&
15489                            e.changedTouches.length < 2 &&
15490                            !s.android)
15491                    )
15492                        return;
15493                    (o = !1), (c = !1);
15494                }
15495                m.$imageEl &&
15496                    0 !== m.$imageEl.length &&
15497                    ((r.scale = Math.max(
15498                        Math.min(r.scale, m.maxRatio),
15499                        i.minRatio
15500                    )),
15501                    m.$imageEl
15502                        .transition(t.params.speed)
15503                        .transform(`translate3d(0,0,0) scale(${r.scale})`),
15504                    (p = r.scale),
15505                    (u = !1),
15506                    1 === r.scale && (m.$slideEl = void 0));
15507            }
15508            function E(e) {
15509                const s = t.zoom;
15510                if (!m.$imageEl || 0 === m.$imageEl.length) return;
15511                if (((t.allowClick = !1), !f.isTouched || !m.$slideEl)) return;
15512                f.isMoved ||
15513                    ((f.width = m.$imageEl[0].offsetWidth),
15514                    (f.height = m.$imageEl[0].offsetHeight),
15515                    (f.startX = h(m.$imageWrapEl[0], 'x') || 0),
15516                    (f.startY = h(m.$imageWrapEl[0], 'y') || 0),
15517                    (m.slideWidth = m.$slideEl[0].offsetWidth),
15518                    (m.slideHeight = m.$slideEl[0].offsetHeight),
15519                    m.$imageWrapEl.transition(0));
15520                const a = f.width * s.scale,
15521                    i = f.height * s.scale;
15522                if (!(a < m.slideWidth && i < m.slideHeight)) {
15523                    if (
15524                        ((f.minX = Math.min(m.slideWidth / 2 - a / 2, 0)),
15525                        (f.maxX = -f.minX),
15526                        (f.minY = Math.min(m.slideHeight / 2 - i / 2, 0)),
15527                        (f.maxY = -f.minY),
15528                        (f.touchesCurrent.x =
15529                            'touchmove' === e.type
15530                                ? e.targetTouches[0].pageX
15531                                : e.pageX),
15532                        (f.touchesCurrent.y =
15533                            'touchmove' === e.type
15534                                ? e.targetTouches[0].pageY
15535                                : e.pageY),
15536                        !f.isMoved && !u)
15537                    ) {
15538                        if (
15539                            t.isHorizontal() &&
15540                            ((Math.floor(f.minX) === Math.floor(f.startX) &&
15541                                f.touchesCurrent.x < f.touchesStart.x) ||
15542                                (Math.floor(f.maxX) === Math.floor(f.startX) &&
15543                                    f.touchesCurrent.x > f.touchesStart.x))
15544                        )
15545                            return void (f.isTouched = !1);
15546                        if (
15547                            !t.isHorizontal() &&
15548                            ((Math.floor(f.minY) === Math.floor(f.startY) &&
15549                                f.touchesCurrent.y < f.touchesStart.y) ||
15550                                (Math.floor(f.maxY) === Math.floor(f.startY) &&
15551                                    f.touchesCurrent.y > f.touchesStart.y))
15552                        )
15553                            return void (f.isTouched = !1);
15554                    }
15555                    e.cancelable && e.preventDefault(),
15556                        e.stopPropagation(),
15557                        (f.isMoved = !0),
15558                        (f.currentX =
15559                            f.touchesCurrent.x - f.touchesStart.x + f.startX),
15560                        (f.currentY =
15561                            f.touchesCurrent.y - f.touchesStart.y + f.startY),
15562                        f.currentX < f.minX &&
15563                            (f.currentX =
15564                                f.minX + 1 - (f.minX - f.currentX + 1) ** 0.8),
15565                        f.currentX > f.maxX &&
15566                            (f.currentX =
15567                                f.maxX - 1 + (f.currentX - f.maxX + 1) ** 0.8),
15568                        f.currentY < f.minY &&
15569                            (f.currentY =
15570                                f.minY + 1 - (f.minY - f.currentY + 1) ** 0.8),
15571                        f.currentY > f.maxY &&
15572                            (f.currentY =
15573                                f.maxY - 1 + (f.currentY - f.maxY + 1) ** 0.8),
15574                        g.prevPositionX ||
15575                            (g.prevPositionX = f.touchesCurrent.x),
15576                        g.prevPositionY ||
15577                            (g.prevPositionY = f.touchesCurrent.y),
15578                        g.prevTime || (g.prevTime = Date.now()),
15579                        (g.x =
15580                            (f.touchesCurrent.x - g.prevPositionX) /
15581                            (Date.now() - g.prevTime) /
15582                            2),
15583                        (g.y =
15584                            (f.touchesCurrent.y - g.prevPositionY) /
15585                            (Date.now() - g.prevTime) /
15586                            2),
15587                        Math.abs(f.touchesCurrent.x - g.prevPositionX) < 2 &&
15588                            (g.x = 0),
15589                        Math.abs(f.touchesCurrent.y - g.prevPositionY) < 2 &&
15590                            (g.y = 0),
15591                        (g.prevPositionX = f.touchesCurrent.x),
15592                        (g.prevPositionY = f.touchesCurrent.y),
15593                        (g.prevTime = Date.now()),
15594                        m.$imageWrapEl.transform(
15595                            `translate3d(${f.currentX}px, ${f.currentY}px,0)`
15596                        );
15597                }
15598            }
15599            function C() {
15600                const e = t.zoom;
15601                m.$slideEl &&
15602                    t.previousIndex !== t.activeIndex &&
15603                    (m.$imageEl &&
15604                        m.$imageEl.transform('translate3d(0,0,0) scale(1)'),
15605                    m.$imageWrapEl &&
15606                        m.$imageWrapEl.transform('translate3d(0,0,0)'),
15607                    (e.scale = 1),
15608                    (p = 1),
15609                    (m.$slideEl = void 0),
15610                    (m.$imageEl = void 0),
15611                    (m.$imageWrapEl = void 0));
15612            }
15613            function T(e) {
15614                const s = t.zoom,
15615                    a = t.params.zoom;
15616                if (
15617                    (m.$slideEl ||
15618                        (e &&
15619                            e.target &&
15620                            (m.$slideEl = d(e.target).closest(
15621                                `.${t.params.slideClass}`
15622                            )),
15623                        m.$slideEl ||
15624                            (t.params.virtual &&
15625                            t.params.virtual.enabled &&
15626                            t.virtual
15627                                ? (m.$slideEl = t.$wrapperEl.children(
15628                                      `.${t.params.slideActiveClass}`
15629                                  ))
15630                                : (m.$slideEl = t.slides.eq(t.activeIndex))),
15631                        (m.$imageEl = m.$slideEl
15632                            .find(`.${a.containerClass}`)
15633                            .eq(0)
15634                            .find(
15635                                'picture, img, svg, canvas, .swiper-zoom-target'
15636                            )
15637                            .eq(0)),
15638                        (m.$imageWrapEl = m.$imageEl.parent(
15639                            `.${a.containerClass}`
15640                        ))),
15641                    !m.$imageEl ||
15642                        0 === m.$imageEl.length ||
15643                        !m.$imageWrapEl ||
15644                        0 === m.$imageWrapEl.length)
15645                )
15646                    return;
15647                let i, r, l, o, c, u, h, g, v, w, b, x, y, E, C, T, $, S;
15648                t.params.cssMode &&
15649                    ((t.wrapperEl.style.overflow = 'hidden'),
15650                    (t.wrapperEl.style.touchAction = 'none')),
15651                    m.$slideEl.addClass(`${a.zoomedSlideClass}`),
15652                    void 0 === f.touchesStart.x && e
15653                        ? ((i =
15654                              'touchend' === e.type
15655                                  ? e.changedTouches[0].pageX
15656                                  : e.pageX),
15657                          (r =
15658                              'touchend' === e.type
15659                                  ? e.changedTouches[0].pageY
15660                                  : e.pageY))
15661                        : ((i = f.touchesStart.x), (r = f.touchesStart.y)),
15662                    (s.scale =
15663                        m.$imageWrapEl.attr('data-swiper-zoom') || a.maxRatio),
15664                    (p = m.$imageWrapEl.attr('data-swiper-zoom') || a.maxRatio),
15665                    e
15666                        ? (($ = m.$slideEl[0].offsetWidth),
15667                          (S = m.$slideEl[0].offsetHeight),
15668                          (l = m.$slideEl.offset().left + n.scrollX),
15669                          (o = m.$slideEl.offset().top + n.scrollY),
15670                          (c = l + $ / 2 - i),
15671                          (u = o + S / 2 - r),
15672                          (v = m.$imageEl[0].offsetWidth),
15673                          (w = m.$imageEl[0].offsetHeight),
15674                          (b = v * s.scale),
15675                          (x = w * s.scale),
15676                          (y = Math.min($ / 2 - b / 2, 0)),
15677                          (E = Math.min(S / 2 - x / 2, 0)),
15678                          (C = -y),
15679                          (T = -E),
15680                          (h = c * s.scale),
15681                          (g = u * s.scale),
15682                          h < y && (h = y),
15683                          h > C && (h = C),
15684                          g < E && (g = E),
15685                          g > T && (g = T))
15686                        : ((h = 0), (g = 0)),
15687                    m.$imageWrapEl
15688                        .transition(300)
15689                        .transform(`translate3d(${h}px, ${g}px,0)`),
15690                    m.$imageEl
15691                        .transition(300)
15692                        .transform(`translate3d(0,0,0) scale(${s.scale})`);
15693            }
15694            function $() {
15695                const e = t.zoom,
15696                    s = t.params.zoom;
15697                m.$slideEl ||
15698                    (t.params.virtual && t.params.virtual.enabled && t.virtual
15699                        ? (m.$slideEl = t.$wrapperEl.children(
15700                              `.${t.params.slideActiveClass}`
15701                          ))
15702                        : (m.$slideEl = t.slides.eq(t.activeIndex)),
15703                    (m.$imageEl = m.$slideEl
15704                        .find(`.${s.containerClass}`)
15705                        .eq(0)
15706                        .find('picture, img, svg, canvas, .swiper-zoom-target')
15707                        .eq(0)),
15708                    (m.$imageWrapEl = m.$imageEl.parent(
15709                        `.${s.containerClass}`
15710                    ))),
15711                    m.$imageEl &&
15712                        0 !== m.$imageEl.length &&
15713                        m.$imageWrapEl &&
15714                        0 !== m.$imageWrapEl.length &&
15715                        (t.params.cssMode &&
15716                            ((t.wrapperEl.style.overflow = ''),
15717                            (t.wrapperEl.style.touchAction = '')),
15718                        (e.scale = 1),
15719                        (p = 1),
15720                        m.$imageWrapEl
15721                            .transition(300)
15722                            .transform('translate3d(0,0,0)'),
15723                        m.$imageEl
15724                            .transition(300)
15725                            .transform('translate3d(0,0,0) scale(1)'),
15726                        m.$slideEl.removeClass(`${s.zoomedSlideClass}`),
15727                        (m.$slideEl = void 0));
15728            }
15729            function S(e) {
15730                const s = t.zoom;
15731                s.scale && 1 !== s.scale ? $() : T(e);
15732            }
15733            function M() {
15734                const e = t.support;
15735                return {
15736                    passiveListener: !(
15737                        'touchstart' !== t.touchEvents.start ||
15738                        !e.passiveListener ||
15739                        !t.params.passiveListeners
15740                    ) && { passive: !0, capture: !1 },
15741                    activeListenerWithCapture: !e.passiveListener || {
15742                        passive: !1,
15743                        capture: !0
15744                    }
15745                };
15746            }
15747            function P() {
15748                return `.${t.params.slideClass}`;
15749            }
15750            function k(e) {
15751                const { passiveListener: s } = M(),
15752                    a = P();
15753                t.$wrapperEl[e]('gesturestart', a, b, s),
15754                    t.$wrapperEl[e]('gesturechange', a, x, s),
15755                    t.$wrapperEl[e]('gestureend', a, y, s);
15756            }
15757            function z() {
15758                l || ((l = !0), k('on'));
15759            }
15760            function L() {
15761                l && ((l = !1), k('off'));
15762            }
15763            function O() {
15764                const e = t.zoom;
15765                if (e.enabled) return;
15766                e.enabled = !0;
15767                const s = t.support,
15768                    { passiveListener: a, activeListenerWithCapture: i } = M(),
15769                    r = P();
15770                s.gestures
15771                    ? (t.$wrapperEl.on(t.touchEvents.start, z, a),
15772                      t.$wrapperEl.on(t.touchEvents.end, L, a))
15773                    : 'touchstart' === t.touchEvents.start &&
15774                      (t.$wrapperEl.on(t.touchEvents.start, r, b, a),
15775                      t.$wrapperEl.on(t.touchEvents.move, r, x, i),
15776                      t.$wrapperEl.on(t.touchEvents.end, r, y, a),
15777                      t.touchEvents.cancel &&
15778                          t.$wrapperEl.on(t.touchEvents.cancel, r, y, a)),
15779                    t.$wrapperEl.on(
15780                        t.touchEvents.move,
15781                        `.${t.params.zoom.containerClass}`,
15782                        E,
15783                        i
15784                    );
15785            }
15786            function I() {
15787                const e = t.zoom;
15788                if (!e.enabled) return;
15789                const s = t.support;
15790                e.enabled = !1;
15791                const { passiveListener: a, activeListenerWithCapture: i } =
15792                        M(),
15793                    r = P();
15794                s.gestures
15795                    ? (t.$wrapperEl.off(t.touchEvents.start, z, a),
15796                      t.$wrapperEl.off(t.touchEvents.end, L, a))
15797                    : 'touchstart' === t.touchEvents.start &&
15798                      (t.$wrapperEl.off(t.touchEvents.start, r, b, a),
15799                      t.$wrapperEl.off(t.touchEvents.move, r, x, i),
15800                      t.$wrapperEl.off(t.touchEvents.end, r, y, a),
15801                      t.touchEvents.cancel &&
15802                          t.$wrapperEl.off(t.touchEvents.cancel, r, y, a)),
15803                    t.$wrapperEl.off(
15804                        t.touchEvents.move,
15805                        `.${t.params.zoom.containerClass}`,
15806                        E,
15807                        i
15808                    );
15809            }
15810            Object.defineProperty(t.zoom, 'scale', {
15811                get: () => v,
15812                set(e) {
15813                    if (v !== e) {
15814                        const t = m.$imageEl ? m.$imageEl[0] : void 0,
15815                            s = m.$slideEl ? m.$slideEl[0] : void 0;
15816                        i('zoomChange', e, t, s);
15817                    }
15818                    v = e;
15819                }
15820            }),
15821                a('init', () => {
15822                    t.params.zoom.enabled && O();
15823                }),
15824                a('destroy', () => {
15825                    I();
15826                }),
15827                a('touchStart', (e, s) => {
15828                    t.zoom.enabled &&
15829                        (function (e) {
15830                            const s = t.device;
15831                            m.$imageEl &&
15832                                0 !== m.$imageEl.length &&
15833                                (f.isTouched ||
15834                                    (s.android &&
15835                                        e.cancelable &&
15836                                        e.preventDefault(),
15837                                    (f.isTouched = !0),
15838                                    (f.touchesStart.x =
15839                                        'touchstart' === e.type
15840                                            ? e.targetTouches[0].pageX
15841                                            : e.pageX),
15842                                    (f.touchesStart.y =
15843                                        'touchstart' === e.type
15844                                            ? e.targetTouches[0].pageY
15845                                            : e.pageY)));
15846                        })(s);
15847                }),
15848                a('touchEnd', (e, s) => {
15849                    t.zoom.enabled &&
15850                        (function () {
15851                            const e = t.zoom;
15852                            if (!m.$imageEl || 0 === m.$imageEl.length) return;
15853                            if (!f.isTouched || !f.isMoved)
15854                                return (
15855                                    (f.isTouched = !1), void (f.isMoved = !1)
15856                                );
15857                            (f.isTouched = !1), (f.isMoved = !1);
15858                            let s = 300,
15859                                a = 300;
15860                            const i = g.x * s,
15861                                r = f.currentX + i,
15862                                n = g.y * a,
15863                                l = f.currentY + n;
15864                            0 !== g.x && (s = Math.abs((r - f.currentX) / g.x)),
15865                                0 !== g.y &&
15866                                    (a = Math.abs((l - f.currentY) / g.y));
15867                            const o = Math.max(s, a);
15868                            (f.currentX = r), (f.currentY = l);
15869                            const d = f.width * e.scale,
15870                                c = f.height * e.scale;
15871                            (f.minX = Math.min(m.slideWidth / 2 - d / 2, 0)),
15872                                (f.maxX = -f.minX),
15873                                (f.minY = Math.min(
15874                                    m.slideHeight / 2 - c / 2,
15875                                    0
15876                                )),
15877                                (f.maxY = -f.minY),
15878                                (f.currentX = Math.max(
15879                                    Math.min(f.currentX, f.maxX),
15880                                    f.minX
15881                                )),
15882                                (f.currentY = Math.max(
15883                                    Math.min(f.currentY, f.maxY),
15884                                    f.minY
15885                                )),
15886                                m.$imageWrapEl
15887                                    .transition(o)
15888                                    .transform(
15889                                        `translate3d(${f.currentX}px, ${f.currentY}px,0)`
15890                                    );
15891                        })();
15892                }),
15893                a('doubleTap', (e, s) => {
15894                    !t.animating &&
15895                        t.params.zoom.enabled &&
15896                        t.zoom.enabled &&
15897                        t.params.zoom.toggle &&
15898                        S(s);
15899                }),
15900                a('transitionEnd', () => {
15901                    t.zoom.enabled && t.params.zoom.enabled && C();
15902                }),
15903                a('slideChange', () => {
15904                    t.zoom.enabled &&
15905                        t.params.zoom.enabled &&
15906                        t.params.cssMode &&
15907                        C();
15908                }),
15909                Object.assign(t.zoom, {
15910                    enable: O,
15911                    disable: I,
15912                    in: T,
15913                    out: $,
15914                    toggle: S
15915                });
15916        },
15917        function (e) {
15918            let { swiper: t, extendParams: s, on: a, emit: i } = e;
15919            s({
15920                lazy: {
15921                    checkInView: !1,
15922                    enabled: !1,
15923                    loadPrevNext: !1,
15924                    loadPrevNextAmount: 1,
15925                    loadOnTransitionStart: !1,
15926                    scrollingElement: '',
15927                    elementClass: 'swiper-lazy',
15928                    loadingClass: 'swiper-lazy-loading',
15929                    loadedClass: 'swiper-lazy-loaded',
15930                    preloaderClass: 'swiper-lazy-preloader'
15931                }
15932            }),
15933                (t.lazy = {});
15934            let n = !1,
15935                l = !1;
15936            function o(e, s) {
15937                void 0 === s && (s = !0);
15938                const a = t.params.lazy;
15939                if (void 0 === e) return;
15940                if (0 === t.slides.length) return;
15941                const r =
15942                        t.virtual && t.params.virtual.enabled
15943                            ? t.$wrapperEl.children(
15944                                  `.${t.params.slideClass}[data-swiper-slide-index="${e}"]`
15945                              )
15946                            : t.slides.eq(e),
15947                    n = r.find(
15948                        `.${a.elementClass}:not(.${a.loadedClass}):not(.${a.loadingClass})`
15949                    );
15950                !r.hasClass(a.elementClass) ||
15951                    r.hasClass(a.loadedClass) ||
15952                    r.hasClass(a.loadingClass) ||
15953                    n.push(r[0]),
15954                    0 !== n.length &&
15955                        n.each((e) => {
15956                            const n = d(e);
15957                            n.addClass(a.loadingClass);
15958                            const l = n.attr('data-background'),
15959                                c = n.attr('data-src'),
15960                                p = n.attr('data-srcset'),
15961                                u = n.attr('data-sizes'),
15962                                h = n.parent('picture');
15963                            t.loadImage(n[0], c || l, p, u, !1, () => {
15964                                if (
15965                                    null != t &&
15966                                    t &&
15967                                    (!t || t.params) &&
15968                                    !t.destroyed
15969                                ) {
15970                                    if (
15971                                        (l
15972                                            ? (n.css(
15973                                                  'background-image',
15974                                                  `url("${l}")`
15975                                              ),
15976                                              n.removeAttr('data-background'))
15977                                            : (p &&
15978                                                  (n.attr('srcset', p),
15979                                                  n.removeAttr('data-srcset')),
15980                                              u &&
15981                                                  (n.attr('sizes', u),
15982                                                  n.removeAttr('data-sizes')),
15983                                              h.length &&
15984                                                  h
15985                                                      .children('source')
15986                                                      .each((e) => {
15987                                                          const t = d(e);
15988                                                          t.attr(
15989                                                              'data-srcset'
15990                                                          ) &&
15991                                                              (t.attr(
15992                                                                  'srcset',
15993                                                                  t.attr(
15994                                                                      'data-srcset'
15995                                                                  )
15996                                                              ),
15997                                                              t.removeAttr(
15998                                                                  'data-srcset'
15999                                                              ));
16000                                                      }),
16001                                              c &&
16002                                                  (n.attr('src', c),
16003                                                  n.removeAttr('data-src'))),
16004                                        n
16005                                            .addClass(a.loadedClass)
16006                                            .removeClass(a.loadingClass),
16007                                        r.find(`.${a.preloaderClass}`).remove(),
16008                                        t.params.loop && s)
16009                                    ) {
16010                                        const e = r.attr(
16011                                            'data-swiper-slide-index'
16012                                        );
16013                                        if (
16014                                            r.hasClass(
16015                                                t.params.slideDuplicateClass
16016                                            )
16017                                        ) {
16018                                            o(
16019                                                t.$wrapperEl
16020                                                    .children(
16021                                                        `[data-swiper-slide-index="${e}"]:not(.${t.params.slideDuplicateClass})`
16022                                                    )
16023                                                    .index(),
16024                  
16024                              !1
16025                                            );
16026                                        } else {
16027                                            o(
16028                                                t.$wrapperEl
16029                                                    .children(
16030                                                        `.${t.params.slideDuplicateClass}[data-swiper-slide-index="${e}"]`
16031                                                    )
16032                                                    .index(),
16033                                                !1
16034                                            );
16035                                        }
16036                                    }
16037                                    i('lazyImageReady', r[0], n[0]),
16038                                        t.params.autoHeight &&
16039                                            t.updateAutoHeight();
16040                                }
16041                            }),
16042                                i('lazyImageLoad', r[0], n[0]);
16043                        });
16044            }
16045            function c() {
16046                const {
16047                        $wrapperEl: e,
16048                        params: s,
16049                        slides: a,
16050                        activeIndex: i
16051                    } = t,
16052                    r = t.virtual && s.virtual.enabled,
16053                    n = s.lazy;
16054                let c = s.slidesPerView;
16055                function p(t) {
16056                    if (r) {
16057                        if (
16058                            e.children(
16059                                `.${s.slideClass}[data-swiper-slide-index="${t}"]`
16060                            ).length
16061                        )
16062                            return !0;
16063                    } else if (a[t]) return !0;
16064                    return !1;
16065                }
16066                function u(e) {
16067                    return r
16068                        ? d(e).attr('data-swiper-slide-index')
16069                        : d(e).index();
16070                }
16071                if (
16072                    ('auto' === c && (c = 0),
16073                    l || (l = !0),
16074                    t.params.watchSlidesProgress)
16075                )
16076                    e.children(`.${s.slideVisibleClass}`).each((e) => {
16077                        o(
16078                            r
16079                                ? d(e).attr('data-swiper-slide-index')
16080                                : d(e).index()
16081                        );
16082                    });
16083                else if (c > 1) for (let e = i; e < i + c; e += 1) p(e) && o(e);
16084                else o(i);
16085                if (n.loadPrevNext)
16086                    if (
16087                        c > 1 ||
16088                        (n.loadPrevNextAmount && n.loadPrevNextAmount > 1)
16089                    ) {
16090                        const e = n.loadPrevNextAmount,
16091                            t = Math.ceil(c),
16092                            s = Math.min(i + t + Math.max(e, t), a.length),
16093                            r = Math.max(i - Math.max(t, e), 0);
16094                        for (let e = i + t; e < s; e += 1) p(e) && o(e);
16095                        for (let e = r; e < i; e += 1) p(e) && o(e);
16096                    } else {
16097                        const t = e.children(`.${s.slideNextClass}`);
16098                        t.length > 0 && o(u(t));
16099                        const a = e.children(`.${s.slidePrevClass}`);
16100                        a.length > 0 && o(u(a));
16101                    }
16102            }
16103            function p() {
16104                const e = r();
16105                if (!t || t.destroyed) return;
16106                const s = t.params.lazy.scrollingElement
16107                        ? d(t.params.lazy.scrollingElement)
16108                        : d(e),
16109                    a = s[0] === e,
16110                    i = a ? e.innerWidth : s[0].offsetWidth,
16111                    l = a ? e.innerHeight : s[0].offsetHeight,
16112                    o = t.$el.offset(),
16113                    { rtlTranslate: u } = t;
16114                let h = !1;
16115                u && (o.left -= t.$el[0].scrollLeft);
16116                const m = [
16117                    [o.left, o.top],
16118                    [o.left + t.width, o.top],
16119                    [o.left, o.top + t.height],
16120                    [o.left + t.width, o.top + t.height]
16121                ];
16122                for (let e = 0; e < m.length; e += 1) {
16123                    const t = m[e];
16124                    if (t[0] >= 0 && t[0] <= i && t[1] >= 0 && t[1] <= l) {
16125                        if (0 === t[0] && 0 === t[1]) continue;
16126                        h = !0;
16127                    }
16128                }
16129                const f = !(
16130                    'touchstart' !== t.touchEvents.start ||
16131                    !t.support.passiveListener ||
16132                    !t.params.passiveListeners
16133                ) && { passive: !0, capture: !1 };
16134                h
16135                    ? (c(), s.off('scroll', p, f))
16136                    : n || ((n = !0), s.on('scroll', p, f));
16137            }
16138            a('beforeInit', () => {
16139                t.params.lazy.enabled &&
16140                    t.params.preloadImages &&
16141                    (t.params.preloadImages = !1);
16142            }),
16143                a('init', () => {
16144                    t.params.lazy.enabled &&
16145                        (t.params.lazy.checkInView ? p() : c());
16146                }),
16147                a('scroll', () => {
16148                    t.params.freeMode &&
16149                        t.params.freeMode.enabled &&
16150                        !t.params.freeMode.sticky &&
16151                        c();
16152                }),
16153                a('scrollbarDragMove resize _freeModeNoMomentumRelease', () => {
16154                    t.params.lazy.enabled &&
16155                        (t.params.lazy.checkInView ? p() : c());
16156                }),
16157                a('transitionStart', () => {
16158                    t.params.lazy.enabled &&
16159                        (t.params.lazy.loadOnTransitionStart ||
16160                            (!t.params.lazy.loadOnTransitionStart && !l)) &&
16161                        (t.params.lazy.checkInView ? p() : c());
16162                }),
16163                a('transitionEnd', () => {
16164                    t.params.lazy.enabled &&
16165                        !t.params.lazy.loadOnTransitionStart &&
16166                        (t.params.lazy.checkInView ? p() : c());
16167                }),
16168                a('slideChange', () => {
16169                    const {
16170                        lazy: e,
16171                        cssMode: s,
16172                        watchSlidesProgress: a,
16173                        touchReleaseOnEdges: i,
16174                        resistanceRatio: r
16175                    } = t.params;
16176                    e.enabled && (s || (a && (i || 0 === r))) && c();
16177                }),
16178                a('destroy', () => {
16179                    t.$el &&
16180                        t.$el
16181                            .find(`.${t.params.lazy.loadingClass}`)
16182                            .removeClass(t.params.lazy.loadingClass);
16183                }),
16184                Object.assign(t.lazy, { load: c, loadInSlide: o });
16185        },
16186        function (e) {
16187            let { swiper: t, extendParams: s, on: a } = e;
16188            function i(e, t) {
16189                const s = (function () {
16190                    let e, t, s;
16191                    return (a, i) => {
16192                        for (t = -1, e = a.length; e - t > 1; )
16193                            (s = (e + t) >> 1), a[s] <= i ? (t = s) : (e = s);
16194                        return e;
16195                    };
16196                })();
16197                let a, i;
16198                return (
16199                    (this.x = e),
16200                    (this.y = t),
16201                    (this.lastIndex = e.length - 1),
16202                    (this.interpolate = function (e) {
16203                        return e
16204                            ? ((i = s(this.x, e)),
16205                              (a = i - 1),
16206                              ((e - this.x[a]) * (this.y[i] - this.y[a])) /
16207                                  (this.x[i] - this.x[a]) +
16208                                  this.y[a])
16209                            : 0;
16210                    }),
16211                    this
16212                );
16213            }
16214            function r() {
16215                t.controller.control &&
16216                    t.controller.spline &&
16217                    ((t.controller.spline = void 0),
16218                    delete t.controller.spline);
16219            }
16220            s({ controller: { control: void 0, inverse: !1, by: 'slide' } }),
16221                (t.controller = { control: void 0 }),
16222                a('beforeInit', () => {
16223                    t.controller.control = t.params.controller.control;
16224                }),
16225                a('update', () => {
16226                    r();
16227                }),
16228                a('resize', () => {
16229                    r();
16230                }),
16231                a('observerUpdate', () => {
16232                    r();
16233                }),
16234                a('setTranslate', (e, s, a) => {
16235                    t.controller.control && t.controller.setTranslate(s, a);
16236                }),
16237                a('setTransition', (e, s, a) => {
16238                    t.controller.control && t.controller.setTransition(s, a);
16239                }),
16240                Object.assign(t.controller, {
16241                    setTranslate: function (e, s) {
16242                        const a = t.controller.control;
16243                        let r, n;
16244                        const l = t.constructor;
16245                        function o(e) {
16246                            const s = t.rtlTranslate
16247                                ? -t.translate
16248                                : t.translate;
16249                            'slide' === t.params.controller.by &&
16250                                (!(function (e) {
16251                                    t.controller.spline ||
16252                                        (t.controller.spline = t.params.loop
16253                                            ? new i(t.slidesGrid, e.slidesGrid)
16254                                            : new i(t.snapGrid, e.snapGrid));
16255                                })(e),
16256                                (n = -t.controller.spline.interpolate(-s))),
16257                                (n && 'container' !== t.params.controller.by) ||
16258                                    ((r =
16259                                        (e.maxTranslate() - e.minTranslate()) /
16260                                        (t.maxTranslate() - t.minTranslate())),
16261                                    (n =
16262                                        (s - t.minTranslate()) * r +
16263                                        e.minTranslate())),
16264                                t.params.controller.inverse &&
16265                                    (n = e.maxTranslate() - n),
16266                                e.updateProgress(n),
16267                                e.setTranslate(n, t),
16268                                e.updateActiveIndex(),
16269                                e.updateSlidesClasses();
16270                        }
16271                        if (Array.isArray(a))
16272                            for (let e = 0; e < a.length; e += 1)
16273                                a[e] !== s && a[e] instanceof l && o(a[e]);
16274                        else a instanceof l && s !== a && o(a);
16275                    },
16276                    setTransition: function (e, s) {
16277                        const a = t.constructor,
16278                            i = t.controller.control;
16279                        let r;
16280                        function n(s) {
16281                            s.setTransition(e, t),
16282                                0 !== e &&
16283                                    (s.transitionStart(),
16284                                    s.params.autoHeight &&
16285                                        p(() => {
16286                                            s.updateAutoHeight();
16287                                        }),
16288                                    s.$wrapperEl.transitionEnd(() => {
16289                                        i &&
16290                                            (s.params.loop &&
16291                                                'slide' ===
16292                                                    t.params.controller.by &&
16293                                                s.loopFix(),
16294                                            s.transitionEnd());
16295                                    }));
16296                        }
16297                        if (Array.isArray(i))
16298                            for (r = 0; r < i.length; r += 1)
16299                                i[r] !== s && i[r] instanceof a && n(i[r]);
16300                        else i instanceof a && s !== i && n(i);
16301                    }
16302                });
16303        },
16304        function (e) {
16305            let { swiper: t, extendParams: s, on: a } = e;
16306            s({
16307                a11y: {
16308                    enabled: !0,
16309                    notificationClass: 'swiper-notification',
16310                    prevSlideMessage: 'Previous slide',
16311                    nextSlideMessage: 'Next slide',
16312                    firstSlideMessage: 'This is the first slide',
16313                    lastSlideMessage: 'This is the last slide',
16314                    paginationBulletMessage: 'Go to slide {{index}}',
16315                    slideLabelMessage: '{{index}} / {{slidesLength}}',
16316                    containerMessage: null,
16317                    containerRoleDescriptionMessage: null,
16318                    itemRoleDescriptionMessage: null,
16319                    slideRole: 'group',
16320                    id: null
16321                }
16322            });
16323            let i = null;
16324            function r(e) {
16325                const t = i;
16326                0 !== t.length && (t.html(''), t.html(e));
16327            }
16328            function n(e) {
16329                e.attr('tabIndex', '0');
16330            }
16331            function l(e) {
16332                e.attr('tabIndex', '-1');
16333            }
16334            function o(e, t) {
16335                e.attr('role', t);
16336            }
16337            function c(e, t) {
16338                e.attr('aria-roledescription', t);
16339            }
16340            function p(e, t) {
16341                e.attr('aria-label', t);
16342            }
16343            function u(e) {
16344                e.attr('aria-disabled', !0);
16345            }
16346            function h(e) {
16347                e.attr('aria-disabled', !1);
16348            }
16349            function m(e) {
16350                if (13 !== e.keyCode && 32 !== e.keyCode) return;
16351                const s = t.params.a11y,
16352                    a = d(e.target);
16353                t.navigation &&
16354                    t.navigation.$nextEl &&
16355                    a.is(t.navigation.$nextEl) &&
16356                    ((t.isEnd && !t.params.loop) || t.slideNext(),
16357                    t.isEnd ? r(s.lastSlideMessage) : r(s.nextSlideMessage)),
16358                    t.navigation &&
16359                        t.navigation.$prevEl &&
16360                        a.is(t.navigation.$prevEl) &&
16361                        ((t.isBeginning && !t.params.loop) || t.slidePrev(),
16362                        t.isBeginning
16363                            ? r(s.firstSlideMessage)
16364                            : r(s.prevSlideMessage)),
16365                    t.pagination &&
16366                        a.is(U(t.params.pagination.bulletClass)) &&
16367                        a[0].click();
16368            }
16369            function f() {
16370                return (
16371                    t.pagination &&
16372                    t.pagination.bullets &&
16373                    t.pagination.bullets.length
16374                );
16375            }
16376            function g() {
16377                return f() && t.params.pagination.clickable;
16378            }
16379            const v = (e, t, s) => {
16380                    n(e),
16381                        'BUTTON' !== e[0].tagName &&
16382                            (o(e, 'button'), e.on('keydown', m)),
16383                        p(e, s),
16384                        (function (e, t) {
16385                            e.attr('aria-controls', t);
16386                        })(e, t);
16387                },
16388                w = (e) => {
16389                    const s = e.target.closest(`.${t.params.slideClass}`);
16390                    if (!s || !t.slides.includes(s)) return;
16391                    const a = t.slides.indexOf(s) === t.activeIndex,
16392                        i =
16393                            t.params.watchSlidesProgress &&
16394                            t.visibleSlides &&
16395                            t.visibleSlides.includes(s);
16396                    a || i || t.slideTo(t.slides.indexOf(s), 0);
16397                },
16398                b = () => {
16399                    const e = t.params.a11y;
16400                    e.itemRoleDescriptionMessage &&
16401                        c(d(t.slides), e.itemRoleDescriptionMessage),
16402                        o(d(t.slides), e.slideRole);
16403                    const s = t.params.loop
16404                        ? t.slides.filter(
16405                              (e) =>
16406                                  !e.classList.contains(
16407                                      t.params.slideDuplicateClass
16408                                  )
16409                          ).length
16410                        : t.slides.length;
16411                    e.slideLabelMessage &&
16412                        t.slides.each((a, i) => {
16413                            const r = d(a),
16414                                n = t.params.loop
16415                                    ? parseInt(
16416                                          r.attr('data-swiper-slide-index'),
16417                                          10
16418                                      )
16419                                    : i;
16420                            p(
16421                                r,
16422                                e.slideLabelMessage
16423                                    .replace(/\{\{index\}\}/, n + 1)
16424                                    .replace(/\{\{slidesLength\}\}/, s)
16425                            );
16426                        });
16427                },
16428                x = () => {
16429                    const e = t.params.a11y;
16430                    t.$el.append(i);
16431                    const s = t.$el;
16432                    e.containerRoleDescriptionMessage &&
16433                        c(s, e.containerRoleDescriptionMessage),
16434                        e.containerMessage && p(s, e.containerMessage);
16435                    const a = t.$wrapperEl,
16436                        r =
16437                            e.id ||
16438                            a.attr('id') ||
16439                            `swiper-wrapper-${
16440                                ((n = 16),
16441                                void 0 === n && (n = 16),
16442                                'x'
16443                                    .repeat(n)
16444                                    .replace(/x/g, () =>
16445                                        Math.round(16 * Math.random()).toString(
16446                                            16
16447                                        )
16448                                    ))
16449                            }`;
16450                    var n;
16451                    const l =
16452                        t.params.autoplay && t.params.autoplay.enabled
16453                            ? 'off'
16454                            : 'polite';
16455                    var o;
16456                    let d, u;
16457                    (o = r),
16458                        a.attr('id', o),
16459                        (function (e, t) {
16460                            e.attr('aria-live', t);
16461                        })(a, l),
16462                        b(),
16463                        t.navigation &&
16464                            t.navigation.$nextEl &&
16465                            (d = t.navigation.$nextEl),
16466                        t.navigation &&
16467                            t.navigation.$prevEl &&
16468                            (u = t.navigation.$prevEl),
16469                        d && d.length && v(d, r, e.nextSlideMessage),
16470                        u && u.length && v(u, r, e.prevSlideMessage),
16471                        g() &&
16472                            t.pagination.$el.on(
16473                                'keydown',
16474                                U(t.params.pagination.bulletClass),
16475                                m
16476                            ),
16477                        t.$el.on('focus', w, !0);
16478                };
16479            a('beforeInit', () => {
16480                i = d(
16481                    `<span class="${t.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`
16482                );
16483            }),
16484                a('afterInit', () => {
16485                    t.params.a11y.enabled && x();
16486                }),
16487                a(
16488                    'slidesLengthChange snapGridLengthChange slidesGridLengthChange',
16489                    () => {
16490                        t.params.a11y.enabled && b();
16491                    }
16492                ),
16493                a('fromEdge toEdge afterInit lock unlock', () => {
16494                    t.params.a11y.enabled &&
16495                        (function () {
16496                            if (
16497                                t.params.loop ||
16498                                t.params.rewind ||
16499                                !t.navigation
16500                            )
16501                                return;
16502                            const { $nextEl: e, $prevEl: s } = t.navigation;
16503                            s &&
16504                                s.length > 0 &&
16505                                (t.isBeginning ? (u(s), l(s)) : (h(s), n(s))),
16506                                e &&
16507                                    e.length > 0 &&
16508                                    (t.isEnd ? (u(e), l(e)) : (h(e), n(e)));
16509                        })();
16510                }),
16511                a('paginationUpdate', () => {
16512                    t.params.a11y.enabled &&
16513                        (function () {
16514                            const e = t.params.a11y;
16515                            f() &&
16516                                t.pagination.bullets.each((s) => {
16517                                    const a = d(s);
16518                                    t.params.pagination.clickable &&
16519                                        (n(a),
16520                                        t.params.pagination.renderBullet ||
16521                                            (o(a, 'button'),
16522                                            p(
16523                                                a,
16524                                                e.paginationBulletMessage.replace(
16525                                                    /\{\{index\}\}/,
16526                                                    a.index() + 1
16527                                                )
16528                                            ))),
16529                                        a.is(
16530                                            `.${t.params.pagination.bulletActiveClass}`
16531                                        )
16532                                            ? a.attr('aria-current', 'true')
16533                                            : a.removeAttr('aria-current');
16534                                });
16535                        })();
16536                }),
16537                a('destroy', () => {
16538                    t.params.a11y.enabled &&
16539                        (function () {
16540                            let e, s;
16541                            i && i.length > 0 && i.remove(),
16542                                t.navigation &&
16543                                    t.navigation.$nextEl &&
16544                                    (e = t.navigation.$nextEl),
16545                                t.navigation &&
16546                                    t.navigation.$prevEl &&
16547                                    (s = t.navigation.$prevEl),
16548                                e && e.off('keydown', m),
16549                                s && s.off('keydown', m),
16550                                g() &&
16551                                    t.pagination.$el.off(
16552                                        'keydown',
16553                                        U(t.params.pagination.bulletClass),
16554                                        m
16555                                    ),
16556                                t.$el.off('focus', w, !0);
16557                        })();
16558                });
16559        },
16560        function (e) {
16561            let { swiper: t, extendParams: s, on: a } = e;
16562            s({
16563                history: {
16564                    enabled: !1,
16565                    root: '',
16566                    replaceState: !1,
16567                    key: 'slides',
16568                    keepQuery: !1
16569                }
16570            });
16571            let i = !1,
16572                n = {};
16573            const l = (e) =>
16574                    e
16575                        .toString()
16576                        .replace(/\s+/g, '-')
16577                        .replace(/[^\w-]+/g, '')
16578                        .replace(/--+/g, '-')
16579                        .replace(/^-+/, '')
16580                        .replace(/-+$/, ''),
16581                o = (e) => {
16582                    const t = r();
16583                    let s;
16584                    s = e ? new URL(e) : t.location;
16585                    const a = s.pathname
16586                            .slice(1)
16587                            .split('/')
16588                            .filter((e) => '' !== e),
16589                        i = a.length;
16590                    return { key: a[i - 2], value: a[i - 1] };
16591                },
16592                d = (e, s) => {
16593                    const a = r();
16594                    if (!i || !t.params.history.enabled) return;
16595                    let n;
16596                    n = t.params.url ? new URL(t.params.url) : a.location;
16597                    const o = t.slides.eq(s);
16598                    let d = l(o.attr('data-history'));
16599                    if (t.params.history.root.length > 0) {
16600                        let s = t.params.history.root;
16601                        '/' === s[s.length - 1] &&
16602                            (s = s.slice(0, s.length - 1)),
16603                            (d = `${s}/${e}/${d}`);
16604                    } else n.pathname.includes(e) || (d = `${e}/${d}
16604`);
16605                    t.params.history.keepQuery && (d += n.search);
16606                    const c = a.history.state;
16607                    (c && c.value === d) ||
16608                        (t.params.history.replaceState
16609                            ? a.history.replaceState({ value: d }, null, d)
16610                            : a.history.pushState({ value: d }, null, d));
16611                },
16612                c = (e, s, a) => {
16613                    if (s)
16614                        for (let i = 0, r = t.slides.length; i < r; i += 1) {
16615                            const r = t.slides.eq(i);
16616                            if (
16617                                l(r.attr('data-history')) === s &&
16618                                !r.hasClass(t.params.slideDuplicateClass)
16619                            ) {
16620                                const s = r.index();
16621                                t.slideTo(s, e, a);
16622                            }
16623                        }
16624                    else t.slideTo(0, e, a);
16625                },
16626                p = () => {
16627                    (n = o(t.params.url)), c(t.params.speed, n.value, !1);
16628                };
16629            a('init', () => {
16630                t.params.history.enabled &&
16631                    (() => {
16632                        const e = r();
16633                        if (t.params.history) {
16634                            if (!e.history || !e.history.pushState)
16635                                return (
16636                                    (t.params.history.enabled = !1),
16637                                    void (t.params.hashNavigation.enabled = !0)
16638                                );
16639                            (i = !0),
16640                                (n = o(t.params.url)),
16641                                (n.key || n.value) &&
16642                                    (c(0, n.value, t.params.runCallbacksOnInit),
16643                                    t.params.history.replaceState ||
16644                                        e.addEventListener('popstate', p));
16645                        }
16646                    })();
16647            }),
16648                a('destroy', () => {
16649                    t.params.history.enabled &&
16650                        (() => {
16651                            const e = r();
16652                            t.params.history.replaceState ||
16653                                e.removeEventListener('popstate', p);
16654                        })();
16655                }),
16656                a('transitionEnd _freeModeNoMomentumRelease', () => {
16657                    i && d(t.params.history.key, t.activeIndex);
16658                }),
16659                a('slideChange', () => {
16660                    i &&
16661                        t.params.cssMode &&
16662                        d(t.params.history.key, t.activeIndex);
16663                });
16664        },
16665        function (e) {
16666            let { swiper: t, extendParams: s, emit: i, on: n } = e,
16667                l = !1;
16668            const o = a(),
16669                c = r();
16670            s({
16671                hashNavigation: {
16672                    enabled: !1,
16673                    replaceState: !1,
16674                    watchState: !1
16675                }
16676            });
16677            const p = () => {
16678                    i('hashChange');
16679                    const e = o.location.hash.replace('#', '');
16680                    if (e !== t.slides.eq(t.activeIndex).attr('data-hash')) {
16681                        const s = t.$wrapperEl
16682                            .children(
16683                                `.${t.params.slideClass}[data-hash="${e}"]`
16684                            )
16685                            .index();
16686                        if (void 0 === s) return;
16687                        t.slideTo(s);
16688                    }
16689                },
16690                u = () => {
16691                    if (l && t.params.hashNavigation.enabled)
16692                        if (
16693                            t.params.hashNavigation.replaceState &&
16694                            c.history &&
16695                            c.history.replaceState
16696                        )
16697                            c.history.replaceState(
16698                                null,
16699                                null,
16700                                `#${t.slides
16701                                    .eq(t.activeIndex)
16702                                    .attr('data-hash')}` || ''
16703                            ),
16704                                i('hashSet');
16705                        else {
16706                            const e = t.slides.eq(t.activeIndex),
16707                                s =
16708                                    e.attr('data-hash') ||
16709                                    e.attr('data-history');
16710                            (o.location.hash = s || ''), i('hashSet');
16711                        }
16712                };
16713            n('init', () => {
16714                t.params.hashNavigation.enabled &&
16715                    (() => {
16716                        if (
16717                            !t.params.hashNavigation.enabled ||
16718                            (t.params.history && t.params.history.enabled)
16719                        )
16720                            return;
16721                        l = !0;
16722                        const e = o.location.hash.replace('#', '');
16723                        if (e) {
16724                            const s = 0;
16725                            for (
16726                                let a = 0, i = t.slides.length;
16727                                a < i;
16728                                a += 1
16729                            ) {
16730                                const i = t.slides.eq(a);
16731                                if (
16732                                    (i.attr('data-hash') ||
16733                                        i.attr('data-history')) === e &&
16734                                    !i.hasClass(t.params.slideDuplicateClass)
16735                                ) {
16736                                    const e = i.index();
16737                                    t.slideTo(
16738                                        e,
16739                                        s,
16740                                        t.params.runCallbacksOnInit,
16741                                        !0
16742                                    );
16743                                }
16744                            }
16745                        }
16746                        t.params.hashNavigation.watchState &&
16747                            d(c).on('hashchange', p);
16748                    })();
16749            }),
16750                n('destroy', () => {
16751                    t.params.hashNavigation.enabled &&
16752                        t.params.hashNavigation.watchState &&
16753                        d(c).off('hashchange', p);
16754                }),
16755                n('transitionEnd _freeModeNoMomentumRelease', () => {
16756                    l && u();
16757                }),
16758                n('slideChange', () => {
16759                    l && t.params.cssMode && u();
16760                });
16761        },
16762        function (e) {
16763            let t,
16764                { swiper: s, extendParams: i, on: r, emit: n } = e;
16765            function l() {
16766                const e = s.slides.eq(s.activeIndex);
16767                let a = s.params.autoplay.delay;
16768                e.attr('data-swiper-autoplay') &&
16769                    (a =
16770                        e.attr('data-swiper-autoplay') ||
16771                        s.params.autoplay.delay),
16772                    clearTimeout(t),
16773                    (t = p(() => {
16774                        let e;
16775                        s.params.autoplay.reverseDirection
16776                            ? s.params.loop
16777                                ? (s.loopFix(),
16778                                  (e = s.slidePrev(s.params.speed, !0, !0)),
16779                                  n('autoplay'))
16780                                : s.isBeginning
16781                                ? s.params.autoplay.stopOnLastSlide
16782                                    ? d()
16783                                    : ((e = s.slideTo(
16784                                          s.slides.length - 1,
16785                                          s.params.speed,
16786                                          !0,
16787                                          !0
16788                                      )),
16789                                      n('autoplay'))
16790                                : ((e = s.slidePrev(s.params.speed, !0, !0)),
16791                                  n('autoplay'))
16792                            : s.params.loop
16793                            ? (s.loopFix(),
16794                              (e = s.slideNext(s.params.speed, !0, !0)),
16795                              n('autoplay'))
16796                            : s.isEnd
16797                            ? s.params.autoplay.stopOnLastSlide
16798                                ? d()
16799                                : ((e = s.slideTo(0, s.params.speed, !0, !0)),
16800                                  n('autoplay'))
16801                            : ((e = s.slideNext(s.params.speed, !0, !0)),
16802                              n('autoplay')),
16803                            ((s.params.cssMode && s.autoplay.running) ||
16804                                !1 === e) &&
16805                                l();
16806                    }, a));
16807            }
16808            function o() {
16809                return (
16810                    void 0 === t &&
16811                    !s.autoplay.running &&
16812                    ((s.autoplay.running = !0), n('autoplayStart'), l(), !0)
16813                );
16814            }
16815            function d() {
16816                return (
16817                    !!s.autoplay.running &&
16818                    void 0 !== t &&
16819                    (t && (clearTimeout(t), (t = void 0)),
16820                    (s.autoplay.running = !1),
16821                    n('autoplayStop'),
16822                    !0)
16823                );
16824            }
16825            function c(e) {
16826                s.autoplay.running &&
16827                    (s.autoplay.paused ||
16828                        (t && clearTimeout(t),
16829                        (s.autoplay.paused = !0),
16830                        0 !== e && s.params.autoplay.waitForTransition
16831                            ? ['transitionend', 'webkitTransitionEnd'].forEach(
16832                                  (e) => {
16833                                      s.$wrapperEl[0].addEventListener(e, h);
16834                                  }
16835                              )
16836                            : ((s.autoplay.paused = !1), l())));
16837            }
16838            function u() {
16839                const e = a();
16840                'hidden' === e.visibilityState && s.autoplay.running && c(),
16841                    'visible' === e.visibilityState &&
16842                        s.autoplay.paused &&
16843                        (l(), (s.autoplay.paused = !1));
16844            }
16845            function h(e) {
16846                s &&
16847                    !s.destroyed &&
16848                    s.$wrapperEl &&
16849                    e.target === s.$wrapperEl[0] &&
16850                    (['transitionend', 'webkitTransitionEnd'].forEach((e) => {
16851                        s.$wrapperEl[0].removeEventListener(e, h);
16852                    }),
16853                    (s.autoplay.paused = !1),
16854                    s.autoplay.running ? l() : d());
16855            }
16856            function m() {
16857                s.params.autoplay.disableOnInteraction
16858                    ? d()
16859                    : (n('autoplayPause'), c()),
16860                    ['transitionend', 'webkitTransitionEnd'].forEach((e) => {
16861                        s.$wrapperEl[0].removeEventListener(e, h);
16862                    });
16863            }
16864            function f() {
16865                s.params.autoplay.disableOnInteraction ||
16866                    ((s.autoplay.paused = !1), n('autoplayResume'), l());
16867            }
16868            (s.autoplay = { running: !1, paused: !1 }),
16869                i({
16870                    autoplay: {
16871                        enabled: !1,
16872                        delay: 3e3,
16873                        waitForTransition: !0,
16874                        disableOnInteraction: !0,
16875                        stopOnLastSlide: !1,
16876                        reverseDirection: !1,
16877                        pauseOnMouseEnter: !1
16878                    }
16879                }),
16880                r('init', () => {
16881                    if (s.params.autoplay.enabled) {
16882                        o();
16883                        a().addEventListener('visibilitychange', u),
16884                            s.params.autoplay.pauseOnMouseEnter &&
16885                                (s.$el.on('mouseenter', m),
16886                                s.$el.on('mouseleave', f));
16887                    }
16888                }),
16889                r('beforeTransitionStart', (e, t, a) => {
16890                    s.autoplay.running &&
16891                        (a || !s.params.autoplay.disableOnInteraction
16892                            ? s.autoplay.pause(t)
16893                            : d());
16894                }),
16895                r('sliderFirstMove', () => {
16896                    s.autoplay.running &&
16897                        (s.params.autoplay.disableOnInteraction ? d() : c());
16898                }),
16899                r('touchEnd', () => {
16900                    s.params.cssMode &&
16901                        s.autoplay.paused &&
16902                        !s.params.autoplay.disableOnInteraction &&
16903                        l();
16904                }),
16905                r('destroy', () => {
16906                    s.$el.off('mouseenter', m),
16907                        s.$el.off('mouseleave', f),
16908                        s.autoplay.running && d();
16909                    a().removeEventListener('visibilitychange', u);
16910                }),
16911                Object.assign(s.autoplay, {
16912                    pause: c,
16913                    run: l,
16914                    start: o,
16915                    stop: d
16916                });
16917        },
16918        function (e) {
16919            let { swiper: t, extendParams: s, on: a } = e;
16920            s({
16921                thumbs: {
16922                    swiper: null,
16923                    multipleActiveThumbs: !0,
16924                    autoScrollOffset: 0,
16925                    slideThumbActiveClass: 'swiper-slide-thumb-active',
16926                    thumbsContainerClass: 'swiper-thumbs'
16927                }
16928            });
16929            let i = !1,
16930                r = !1;
16931            function n() {
16932                const e = t.thumbs.swiper;
16933                if (!e || e.destroyed) return;
16934                const s = e.clickedIndex,
16935                    a = e.clickedSlide;
16936                if (a && d(a).hasClass(t.params.thumbs.slideThumbActiveClass))
16937                    return;
16938                if (null == s) return;
16939                let i;
16940                if (
16941                    ((i = e.params.loop
16942                        ? parseInt(
16943                              d(e.clickedSlide).attr('data-swiper-slide-index'),
16944                              10
16945                          )
16946                        : s),
16947                    t.params.loop)
16948                ) {
16949                    let e = t.activeIndex;
16950                    t.slides.eq(e).hasClass(t.params.slideDuplicateClass) &&
16951                        (t.loopFix(),
16952                        (t._clientLeft = t.$wrapperEl[0].clientLeft),
16953                        (e = t.activeIndex));
16954                    const s = t.slides
16955                            .eq(e)
16956                            .prevAll(`[data-swiper-slide-index="${i}"]`)
16957                            .eq(0)
16958                            .index(),
16959                        a = t.slides
16960                            .eq(e)
16961                            .nextAll(`[data-swiper-slide-index="${i}"]`)
16962                            .eq(0)
16963                            .index();
16964                    i =
16965                        void 0 === s
16966                            ? a
16967                            : void 0 === a
16968                            ? s
16969                            : a - e < e - s
16970                            ? a
16971                            : s;
16972                }
16973                t.slideTo(i);
16974            }
16975            function l() {
16976                const { thumbs: e } = t.params;
16977                if (i) return !1;
16978                i = !0;
16979                const s = t.constructor;
16980                if (e.swiper instanceof s)
16981                    (t.thumbs.swiper = e.swiper),
16982                        Object.assign(t.thumbs.swiper.originalParams, {
16983                            watchSlidesProgress: !0,
16984                            slideToClickedSlide: !1
16985                        }),
16986                        Object.assign(t.thumbs.swiper.params, {
16987                            watchSlidesProgress: !0,
16988                            slideToClickedSlide: !1
16989                        });
16990                else if (m(e.swiper)) {
16991                    const a = Object.assign({}, e.swiper);
16992                    Object.assign(a, {
16993                        watchSlidesProgress: !0,
16994                        slideToClickedSlide: !1
16995                    }),
16996                        (t.thumbs.swiper = new s(a)),
16997                        (r = !0);
16998                }
16999                return (
17000                    t.thumbs.swiper.$el.addClass(
17001                        t.params.thumbs.thumbsContainerClass
17002                    ),
17003                    t.thumbs.swiper.on('tap', n),
17004                    !0
17005                );
17006            }
17007            function o(e) {
17008                const s = t.thumbs.swiper;
17009                if (!s || s.destroyed) return;
17010                const a =
17011                    'auto' === s.params.slidesPerView
17012                        ? s.slidesPerViewDynamic()
17013                        : s.params.slidesPerView;
17014                let i = 1;
17015                const r = t.params.thumbs.slideThumbActiveClass;
17016                if (
17017                    (t.params.slidesPerView > 1 &&
17018                        !t.params.centeredSlides &&
17019                        (i = t.params.slidesPerView),
17020                    t.params.thumbs.multipleActiveThumbs || (i = 1),
17021                    (i = Math.floor(i)),
17022                    s.slides.removeClass(r),
17023                    s.params.loop ||
17024                        (s.params.virtual && s.params.virtual.enabled))
17025                )
17026                    for (let e = 0; e < i; e += 1)
17027                        s.$wrapperEl
17028                            .children(
17029                                `[data-swiper-slide-index="${t.realIndex + e}"]`
17030                            )
17031                            .addClass(r);
17032                else
17033                    for (let e = 0; e < i; e += 1)
17034                        s.slides.eq(t.realIndex + e).addClass(r);
17035                const n = t.params.thumbs.autoScrollOffset,
17036                    l = n && !s.params.loop;
17037                if (t.realIndex !== s.realIndex || l) {
17038                    let i,
17039                        r,
17040                        o = s.activeIndex;
17041                    if (s.params.loop) {
17042                        s.slides.eq(o).hasClass(s.params.slideDuplicateClass) &&
17043                            (s.loopFix(),
17044                            (s._clientLeft = s.$wrapperEl[0].clientLeft),
17045                            (o = s.activeIndex));
17046                        const e = s.slides
17047                                .eq(o)
17048                                .prevAll(
17049                                    `[data-swiper-slide-index="${t.realIndex}"]`
17050                                )
17051                                .eq(0)
17052                                .index(),
17053                            a = s.slides
17054                                .eq(o)
17055                                .nextAll(
17056                                    `[data-swiper-slide-index="${t.realIndex}"]`
17057                                )
17058                                .eq(0)
17059                                .index();
17060                        (i =
17061                            void 0 === e
17062                                ? a
17063                                : void 0 === a
17064                                ? e
17065                                : a - o == o - e
17066                                ? s.params.slidesPerGroup > 1
17067                                    ? a
17068                                    : o
17069                                : a - o < o - e
17070                                ? a
17071                                : e),
17072                            (r =
17073                                t.activeIndex > t.previousIndex
17074                                    ? 'next'
17075                                    : 'prev');
17076                    } else
17077                        (i = t.realIndex),
17078                            (r = i > t.previousIndex ? 'next' : 'prev');
17079                    l && (i += 'next' === r ? n : -1 * n),
17080                        s.visibleSlidesIndexes &&
17081                            s.visibleSlidesIndexes.indexOf(i) < 0 &&
17082                            (s.params.centeredSlides
17083                                ? (i =
17084                                      i > o
17085                                          ? i - Math.floor(a / 2) + 1
17086                                          : i + Math.floor(a / 2) - 1)
17087                                : i > o && s.params.slidesPerGroup,
17088                            s.slideTo(i, e ? 0 : void 0));
17089                }
17090            }
17091            (t.thumbs = { swiper: null }),
17092                a('beforeInit', () => {
17093                    const { thumbs: e } = t.params;
17094                    e && e.swiper && (l(), o(!0));
17095                }),
17096                a('slideChange update resize observerUpdate', () => {
17097                    o();
17098                }),
17099                a('setTransition', (e, s) => {
17100                    const a = t.thumbs.swiper;
17101                    a && !a.destroyed && a.setTransition(s);
17102                }),
17103                a('beforeDestroy', () => {
17104                    const e = t.thumbs.swiper;
17105                    e && !e.destroyed && r && e.destroy();
17106                }),
17107                Object.assign(t.thumbs, { init: l, update: o });
17108        },
17109        function (e) {
17110            let { swiper: t, extendParams: s, emit: a, once: i } = e;
17111            s({
17112                freeMode: {
17113                    enabled: !1,
17114                    momentum: !0,
17115                    momentumRatio: 1,
17116                    momentumBounce: !0,
17117                    momentumBounceRatio: 1,
17118                    momentumVelocityRatio: 1,
17119                    sticky: !1,
17120                    minimumVelocity: 0.02
17121                }
17122            }),
17123                Object.assign(t, {
17124                    freeMode: {
17125                        onTouchStart: function () {
17126                            const e = t.getTranslate();
17127                            t.setTranslate(e),
17128                                t.setTransition(0),
17129                                (t.touchEventsData.velocities.length = 0),
17130                                t.freeMode.onTouchEnd({
17131                                    currentPos: t.rtl
17132                                        ? t.translate
17133                                        : -t.translate
17134                                });
17135                        },
17136                        onTouchMove: function () {
17137                            const { touchEventsData: e, touches: s } = t;
17138                            0 === e.velocities.length &&
17139                                e.velocities.push({
17140                                    position:
17141                                        s[
17142                                            t.isHorizontal()
17143                                                ? 'startX'
17144                                                : 'startY'
17145                                        ],
17146                                    time: e.touchStartTime
17147                                }),
17148                                e.velocities.push({
17149                                    position:
17150                                        s[
17151                                            t.isHorizontal()
17152                                                ? 'currentX'
17153                                                : 'currentY'
17154                                        ],
17155                                    time: u()
17156                                });
17157                        },
17158                        onTouchEnd: function (e) {
17159                            let { currentPos: s } = e;
17160                            const {
17161                                    params: r,
17162                                    $wrapperEl: n,
17163                                    rtlTranslate: l,
17164                                    snapGrid: o,
17165                                    touchEventsData: d
17166                                } = t,
17167                                c = u() - d.touchStartTime;
17168                            if (s < -t.minTranslate()) t.slideTo(t.activeIndex);
17169                            else if (s > -t.maxTranslate())
17170                                t.slides.length < o.length
17171                                    ? t.slideTo(o.length - 1)
17172                                    : t.slideTo(t.slides.length - 1);
17173                            else {
17174                                if (r.freeMode.momentum) {
17175                                    if (d.velocities.length > 1) {
17176                                        const e = d.velocities.pop(),
17177                                            s = d.velocities.pop(),
17178                                            a = e.position - s.position,
17179                                            i = e.time - s.time;
17180                                        (t.velocity = a / i),
17181                                            (t.velocity /= 2),
17182                                            Math.abs(t.velocity) <
17183                                                r.freeMode.minimumVelocity &&
17184                                                (t.velocity = 0),
17185                                            (i > 150 || u() - e.time > 300) &&
17186                                                (t.velocity = 0);
17187                                    } else t.velocity = 0;
17188                                    (t.velocity *=
17189                                        r.freeMode.momentumVelocityRatio),
17190                                        (d.velocities.length = 0);
17191                                    let e = 1e3 * r.freeMode.momentumRatio;
17192                                    const s = t.velocity * e;
17193                                    let c = t.translate + s;
17194                                    l && (c = -c);
17195                                    let p,
17196                                        h = !1;
17197                                    const m =
17198                                        20 *
17199                                        Math.abs(t.velocity) *
17200                                        r.freeMode.momentumBounceRatio;
17201                                    let f;
17202                                    if (c < t.maxTranslate())
17203                                        r.freeMode.momentumBounce
17204                                            ? (c + t.maxTranslate() < -m &&
17205                                                  (c = t.maxTranslate() - m),
17206                                              (p = t.maxTranslate()),
17207                                              (h = !0),
17208                                              (d.allowMomentumBounce = !0))
17209                                            : (c = t.maxTranslate()),
17210                                            r.loop &&
17211                                                r.centeredSlides &&
17212                                                (f = !0);
17213                                    else if (c > t.minTranslate())
17214                                        r.freeMode.momentumBounce
17215                                            ? (c - t.minTranslate() > m &&
17216                                                  (c = t.minTranslate() + m),
17217                                              (p = t.minTranslate()),
17218                                              (h = !0),
17219                                              (d.allowMomentumBounce = !0))
17220                                            : (c = t.minTranslate()),
17221                                            r.loop &&
17222                                                r.centeredSlides &&
17223                                                (f = !0);
17224                                    else if (r.freeMode.sticky) {
17225                                        let e;
17226                                        for (let t = 0; t < o.length; t += 1)
17227                                            if (o[t] > -c) {
17228                                                e = t;
17229                                                break;
17230                                            }
17231                                        (c =
17232                                            Math.abs(o[e] - c) <
17233                                                Math.abs(o[e - 1] - c) ||
17234                                            'next' === t.swipeDirection
17235                                                ? o[e]
17236                                                : o[e - 1]),
17237                                            (c = -c);
17238                                    }
17239                                    if (
17240                                        (f &&
17241                                            i('transitionEnd', () => {
17242                                                t.loopFix();
17243                                            }),
17244                                        0 !== t.velocity)
17245                                    ) {
17246                                        if (
17247                                            ((e = l
17248                                                ? Math.abs(
17249                                                      (-c - t.translate) /
17250                                                          t.velocity
17251                                                  )
17252                                                : Math.abs(
17253                                                      (c - t.translate) /
17254                                                          t.velocity
17255                                                  )),
17256                                            r.freeMode.sticky)
17257                                        ) {
17258                                            const s = Math.abs(
17259                                                    (l ? -c : c) - t.translate
17260                                                ),
17261                                                a =
17262                                                    t.slidesSizesGrid[
17263                                                        t.activeIndex
17264                                                    ];
17265                                            e =
17266                                                s < a
17267                                                    ? r.speed
17268                                
17268                    : s < 2 * a
17269                                                    ? 1.5 * r.speed
17270                                                    : 2.5 * r.speed;
17271                                        }
17272                                    } else if (r.freeMode.sticky)
17273                                        return void t.slideToClosest();
17274                                    r.freeMode.momentumBounce && h
17275                                        ? (t.updateProgress(p),
17276                                          t.setTransition(e),
17277                                          t.setTranslate(c),
17278                                          t.transitionStart(
17279                                              !0,
17280                                              t.swipeDirection
17281                                          ),
17282                                          (t.animating = !0),
17283                                          n.transitionEnd(() => {
17284                                              t &&
17285                                                  !t.destroyed &&
17286                                                  d.allowMomentumBounce &&
17287                                                  (a('momentumBounce'),
17288                                                  t.setTransition(r.speed),
17289                                                  setTimeout(() => {
17290                                                      t.setTranslate(p),
17291                                                          n.transitionEnd(
17292                                                              () => {
17293                                                                  t &&
17294                                                                      !t.destroyed &&
17295                                                                      t.transitionEnd();
17296                                                              }
17297                                                          );
17298                                                  }, 0));
17299                                          }))
17300                                        : t.velocity
17301                                        ? (a('_freeModeNoMomentumRelease'),
17302                                          t.updateProgress(c),
17303                                          t.setTransition(e),
17304                                          t.setTranslate(c),
17305                                          t.transitionStart(
17306                                              !0,
17307                                              t.swipeDirection
17308                                          ),
17309                                          t.animating ||
17310                                              ((t.animating = !0),
17311                                              n.transitionEnd(() => {
17312                                                  t &&
17313                                                      !t.destroyed &&
17314                                                      t.transitionEnd();
17315                                              })))
17316                                        : t.updateProgress(c),
17317                                        t.updateActiveIndex(),
17318                                        t.updateSlidesClasses();
17319                                } else {
17320                                    if (r.freeMode.sticky)
17321                                        return void t.slideToClosest();
17322                                    r.freeMode &&
17323                                        a('_freeModeNoMomentumRelease');
17324                                }
17325                                (!r.freeMode.momentum || c >= r.longSwipesMs) &&
17326                                    (t.updateProgress(),
17327                                    t.updateActiveIndex(),
17328                                    t.updateSlidesClasses());
17329                            }
17330                        }
17331                    }
17332                });
17333        },
17334        function (e) {
17335            let t,
17336                s,
17337                a,
17338                { swiper: i, extendParams: r } = e;
17339            r({ grid: { rows: 1, fill: 'column' } }),
17340                (i.grid = {
17341                    initSlides: (e) => {
17342                        const { slidesPerView: r } = i.params,
17343                            { rows: n, fill: l } = i.params.grid;
17344                        (s = t / n),
17345                            (a = Math.floor(e / n)),
17346                            (t =
17347                                Math.floor(e / n) === e / n
17348                                    ? e
17349                                    : Math.ceil(e / n) * n),
17350                            'auto' !== r &&
17351                                'row' === l &&
17352                                (t = Math.max(t, r * n));
17353                    },
17354                    updateSlide: (e, r, n, l) => {
17355                        const { slidesPerGroup: o, spaceBetween: d } = i.params,
17356                            { rows: c, fill: p } = i.params.grid;
17357                        let u, h, m;
17358                        if ('row' === p && o > 1) {
17359                            const s = Math.floor(e / (o * c)),
17360                                a = e - c * o * s,
17361                                i =
17362                                    0 === s
17363                                        ? o
17364                                        : Math.min(
17365                                              Math.ceil((n - s * c * o) / c),
17366                                              o
17367                                          );
17368                            (m = Math.floor(a / i)),
17369                                (h = a - m * i + s * o),
17370                                (u = h + (m * t) / c),
17371                                r.css({ '-webkit-order': u, order: u });
17372                        } else
17373                            'column' === p
17374                                ? ((h = Math.floor(e / c)),
17375                                  (m = e - h * c),
17376                                  (h > a || (h === a && m === c - 1)) &&
17377                                      ((m += 1), m >= c && ((m = 0), (h += 1))))
17378                                : ((m = Math.floor(e / s)), (h = e - m * s));
17379                        r.css(l('margin-top'), 0 !== m ? d && `${d}px` : '');
17380                    },
17381                    updateWrapperSize: (e, s, a) => {
17382                        const {
17383                                spaceBetween: r,
17384                                centeredSlides: n,
17385                                roundLengths: l
17386                            } = i.params,
17387                            { rows: o } = i.params.grid;
17388                        if (
17389                            ((i.virtualSize = (e + r) * t),
17390                            (i.virtualSize = Math.ceil(i.virtualSize / o) - r),
17391                            i.$wrapperEl.css({
17392                                [a('width')]: `${i.virtualSize + r}px`
17393                            }),
17394                            n)
17395                        ) {
17396                            s.splice(0, s.length);
17397                            const e = [];
17398                            for (let t = 0; t < s.length; t += 1) {
17399                                let a = s[t];
17400                                l && (a = Math.floor(a)),
17401                                    s[t] < i.virtualSize + s[0] && e.push(a);
17402                            }
17403                            s.push(...e);
17404                        }
17405                    }
17406                });
17407        },
17408        function (e) {
17409            let { swiper: t } = e;
17410            Object.assign(t, {
17411                appendSlide: K.bind(t),
17412                prependSlide: Z.bind(t),
17413                addSlide: Q.bind(t),
17414                removeSlide: J.bind(t),
17415                removeAllSlides: ee.bind(t)
17416            });
17417        },
17418        function (e) {
17419            let { swiper: t, extendParams: s, on: a } = e;
17420            s({ fadeEffect: { crossFade: !1, transformEl: null } }),
17421                te({
17422                    effect: 'fade',
17423                    swiper: t,
17424                    on: a,
17425                    setTranslate: () => {
17426                        const { slides: e } = t,
17427                            s = t.params.fadeEffect;
17428                        for (let a = 0; a < e.length; a += 1) {
17429                            const e = t.slides.eq(a);
17430                            let i = -e[0].swiperSlideOffset;
17431                            t.params.virtualTranslate || (i -= t.translate);
17432                            let r = 0;
17433                            t.isHorizontal() || ((r = i), (i = 0));
17434                            const n = t.params.fadeEffect.crossFade
17435                                ? Math.max(1 - Math.abs(e[0].progress), 0)
17436                                : 1 + Math.min(Math.max(e[0].progress, -1), 0);
17437                            se(s, e)
17438                                .css({ opacity: n })
17439                                .transform(`translate3d(${i}px, ${r}px, 0px)`);
17440                        }
17441                    },
17442                    setTransition: (e) => {
17443                        const { transformEl: s } = t.params.fadeEffect;
17444                        (s ? t.slides.find(s) : t.slides).transition(e),
17445                            ae({
17446                                swiper: t,
17447                                duration: e,
17448                                transformEl: s,
17449                                allSlides: !0
17450                            });
17451                    },
17452                    overwriteParams: () => ({
17453                        slidesPerView: 1,
17454                        slidesPerGroup: 1,
17455                        watchSlidesProgress: !0,
17456                        spaceBetween: 0,
17457                        virtualTranslate: !t.params.cssMode
17458                    })
17459                });
17460        },
17461        function (e) {
17462            let { swiper: t, extendParams: s, on: a } = e;
17463            s({
17464                cubeEffect: {
17465                    slideShadows: !0,
17466                    shadow: !0,
17467                    shadowOffset: 20,
17468                    shadowScale: 0.94
17469                }
17470            });
17471            const i = (e, t, s) => {
17472                let a = s
17473                        ? e.find('.swiper-slide-shadow-left')
17474                        : e.find('.swiper-slide-shadow-top'),
17475                    i = s
17476                        ? e.find('.swiper-slide-shadow-right')
17477                        : e.find('.swiper-slide-shadow-bottom');
17478                0 === a.length &&
17479                    ((a = d(
17480                        `<div class="swiper-slide-shadow-${
17481                            s ? 'left' : 'top'
17482                        }"></div>`
17483                    )),
17484                    e.append(a)),
17485                    0 === i.length &&
17486                        ((i = d(
17487                            `<div class="swiper-slide-shadow-${
17488                                s ? 'right' : 'bottom'
17489                            }"></div>`
17490                        )),
17491                        e.append(i)),
17492                    a.length && (a[0].style.opacity = Math.max(-t, 0)),
17493                    i.length && (i[0].style.opacity = Math.max(t, 0));
17494            };
17495            te({
17496                effect: 'cube',
17497                swiper: t,
17498                on: a,
17499                setTranslate: () => {
17500                    const {
17501                            $el: e,
17502                            $wrapperEl: s,
17503                            slides: a,
17504                            width: r,
17505                            height: n,
17506                            rtlTranslate: l,
17507                            size: o,
17508                            browser: c
17509                        } = t,
17510                        p = t.params.cubeEffect,
17511                        u = t.isHorizontal(),
17512                        h = t.virtual && t.params.virtual.enabled;
17513                    let m,
17514                        f = 0;
17515                    p.shadow &&
17516                        (u
17517                            ? ((m = s.find('.swiper-cube-shadow')),
17518                              0 === m.length &&
17519                                  ((m = d(
17520                                      '<div class="swiper-cube-shadow"></div>'
17521                                  )),
17522                                  s.append(m)),
17523                              m.css({ height: `${r}px` }))
17524                            : ((m = e.find('.swiper-cube-shadow')),
17525                              0 === m.length &&
17526                                  ((m = d(
17527                                      '<div class="swiper-cube-shadow"></div>'
17528                                  )),
17529                                  e.append(m))));
17530                    for (let e = 0; e < a.length; e += 1) {
17531                        const t = a.eq(e);
17532                        let s = e;
17533                        h &&
17534                            (s = parseInt(
17535                                t.attr('data-swiper-slide-index'),
17536                                10
17537                            ));
17538                        let r = 90 * s,
17539                            n = Math.floor(r / 360);
17540                        l && ((r = -r), (n = Math.floor(-r / 360)));
17541                        const d = Math.max(Math.min(t[0].progress, 1), -1);
17542                        let c = 0,
17543                            m = 0,
17544                            g = 0;
17545                        s % 4 == 0
17546                            ? ((c = 4 * -n * o), (g = 0))
17547                            : (s - 1) % 4 == 0
17548                            ? ((c = 0), (g = 4 * -n * o))
17549                            : (s - 2) % 4 == 0
17550                            ? ((c = o + 4 * n * o), (g = o))
17551                            : (s - 3) % 4 == 0 &&
17552                              ((c = -o), (g = 3 * o + 4 * o * n)),
17553                            l && (c = -c),
17554                            u || ((m = c), (c = 0));
17555                        const v = `rotateX(${u ? 0 : -r}deg) rotateY(${
17556                            u ? r : 0
17557                        }deg) translate3d(${c}px, ${m}px, ${g}px)`;
17558                        d <= 1 &&
17559                            d > -1 &&
17560                            ((f = 90 * s + 90 * d),
17561                            l && (f = 90 * -s - 90 * d)),
17562                            t.transform(v),
17563                            p.slideShadows && i(t, d, u);
17564                    }
17565                    if (
17566                        (s.css({
17567                            '-webkit-transform-origin': `50% 50% -${o / 2}px`,
17568                            'transform-origin': `50% 50% -${o / 2}px`
17569                        }),
17570                        p.shadow)
17571                    )
17572                        if (u)
17573                            m.transform(
17574                                `translate3d(0px, ${
17575                                    r / 2 + p.shadowOffset
17576                                }px, ${
17577                                    -r / 2
17578                                }px) rotateX(90deg) rotateZ(0deg) scale(${
17579                                    p.shadowScale
17580                                })`
17581                            );
17582                        else {
17583                            const e =
17584                                    Math.abs(f) -
17585                                    90 * Math.floor(Math.abs(f) / 90),
17586                                t =
17587                                    1.5 -
17588                                    (Math.sin((2 * e * Math.PI) / 360) / 2 +
17589                                        Math.cos((2 * e * Math.PI) / 360) / 2),
17590                                s = p.shadowScale,
17591                                a = p.shadowScale / t,
17592                                i = p.shadowOffset;
17593                            m.transform(
17594                                `scale3d(${s}, 1, ${a}) translate3d(0px, ${
17595                                    n / 2 + i
17596                                }px, ${-n / 2 / a}px) rotateX(-90deg)`
17597                            );
17598                        }
17599                    const g = c.isSafari || c.isWebView ? -o / 2 : 0;
17600                    s.transform(
17601                        `translate3d(0px,0,${g}px) rotateX(${
17602                            t.isHorizontal() ? 0 : f
17603                        }deg) rotateY(${t.isHorizontal() ? -f : 0}deg)`
17604                    ),
17605                        s[0].style.setProperty(
17606                            '--swiper-cube-translate-z',
17607                            `${g}px`
17608                        );
17609                },
17610                setTransition: (e) => {
17611                    const { $el: s, slides: a } = t;
17612                    a
17613                        .transition(e)
17614                        .find(
17615                            '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left'
17616                        )
17617                        .transition(e),
17618                        t.params.cubeEffect.shadow &&
17619                            !t.isHorizontal() &&
17620                            s.find('.swiper-cube-shadow').transition(e);
17621                },
17622                recreateShadows: () => {
17623                    const e = t.isHorizontal();
17624                    t.slides.each((t) => {
17625                        const s = Math.max(Math.min(t.progress, 1), -1);
17626                        i(d(t), s, e);
17627                    });
17628                },
17629                getEffectParams: () => t.params.cubeEffect,
17630                perspective: () => !0,
17631                overwriteParams: () => ({
17632                    slidesPerView: 1,
17633                    slidesPerGroup: 1,
17634                    watchSlidesProgress: !0,
17635                    resistanceRatio: 0,
17636                    spaceBetween: 0,
17637                    centeredSlides: !1,
17638                    virtualTranslate: !0
17639                })
17640            });
17641        },
17642        function (e) {
17643            let { swiper: t, extendParams: s, on: a } = e;
17644            s({
17645                flipEffect: {
17646                    slideShadows: !0,
17647                    limitRotation: !0,
17648                    transformEl: null
17649                }
17650            });
17651            const i = (e, s, a) => {
17652                let i = t.isHorizontal()
17653                        ? e.find('.swiper-slide-shadow-left')
17654                        : e.find('.swiper-slide-shadow-top'),
17655                    r = t.isHorizontal()
17656                        ? e.find('.swiper-slide-shadow-right')
17657                        : e.find('.swiper-slide-shadow-bottom');
17658                0 === i.length &&
17659                    (i = ie(a, e, t.isHorizontal() ? 'left' : 'top')),
17660                    0 === r.length &&
17661                        (r = ie(a, e, t.isHorizontal() ? 'right' : 'bottom')),
17662                    i.length && (i[0].style.opacity = Math.max(-s, 0)),
17663                    r.length && (r[0].style.opacity = Math.max(s, 0));
17664            };
17665            te({
17666                effect: 'flip',
17667                swiper: t,
17668                on: a,
17669                setTranslate: () => {
17670                    const { slides: e, rtlTranslate: s } = t,
17671                        a = t.params.flipEffect;
17672                    for (let r = 0; r < e.length; r += 1) {
17673                        const n = e.eq(r);
17674                        let l = n[0].progress;
17675                        t.params.flipEffect.limitRotation &&
17676                            (l = Math.max(Math.min(n[0].progress, 1), -1));
17677                        const o = n[0].swiperSlideOffset;
17678                        let d = -180 * l,
17679                            c = 0,
17680                            p = t.params.cssMode ? -o - t.translate : -o,
17681                            u = 0;
17682                        t.isHorizontal()
17683                            ? s && (d = -d)
17684                            : ((u = p), (p = 0), (c = -d), (d = 0)),
17685                            (n[0].style.zIndex =
17686                                -Math.abs(Math.round(l)) + e.length),
17687                            a.slideShadows && i(n, l, a);
17688                        const h = `translate3d(${p}px, ${u}
17688px, 0px) rotateX(${c}deg) rotateY(${d}deg)`;
17689                        se(a, n).transform(h);
17690                    }
17691                },
17692                setTransition: (e) => {
17693                    const { transformEl: s } = t.params.flipEffect;
17694                    (s ? t.slides.find(s) : t.slides)
17695                        .transition(e)
17696                        .find(
17697                            '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left'
17698                        )
17699                        .transition(e),
17700                        ae({ swiper: t, duration: e, transformEl: s });
17701                },
17702                recreateShadows: () => {
17703                    const e = t.params.flipEffect;
17704                    t.slides.each((s) => {
17705                        const a = d(s);
17706                        let r = a[0].progress;
17707                        t.params.flipEffect.limitRotation &&
17708                            (r = Math.max(Math.min(s.progress, 1), -1)),
17709                            i(a, r, e);
17710                    });
17711                },
17712                getEffectParams: () => t.params.flipEffect,
17713                perspective: () => !0,
17714                overwriteParams: () => ({
17715                    slidesPerView: 1,
17716                    slidesPerGroup: 1,
17717                    watchSlidesProgress: !0,
17718                    spaceBetween: 0,
17719                    virtualTranslate: !t.params.cssMode
17720                })
17721            });
17722        },
17723        function (e) {
17724            let { swiper: t, extendParams: s, on: a } = e;
17725            s({
17726                coverflowEffect: {
17727                    rotate: 50,
17728                    stretch: 0,
17729                    depth: 100,
17730                    scale: 1,
17731                    modifier: 1,
17732                    slideShadows: !0,
17733                    transformEl: null
17734                }
17735            }),
17736                te({
17737                    effect: 'coverflow',
17738                    swiper: t,
17739                    on: a,
17740                    setTranslate: () => {
17741                        const {
17742                                width: e,
17743                                height: s,
17744                                slides: a,
17745                                slidesSizesGrid: i
17746                            } = t,
17747                            r = t.params.coverflowEffect,
17748                            n = t.isHorizontal(),
17749                            l = t.translate,
17750                            o = n ? e / 2 - l : s / 2 - l,
17751                            d = n ? r.rotate : -r.rotate,
17752                            c = r.depth;
17753                        for (let e = 0, t = a.length; e < t; e += 1) {
17754                            const t = a.eq(e),
17755                                s = i[e],
17756                                l = (o - t[0].swiperSlideOffset - s / 2) / s,
17757                                p =
17758                                    'function' == typeof r.modifier
17759                                        ? r.modifier(l)
17760                                        : l * r.modifier;
17761                            let u = n ? d * p : 0,
17762                                h = n ? 0 : d * p,
17763                                m = -c * Math.abs(p),
17764                                f = r.stretch;
17765                            'string' == typeof f &&
17766                                -1 !== f.indexOf('%') &&
17767                                (f = (parseFloat(r.stretch) / 100) * s);
17768                            let g = n ? 0 : f * p,
17769                                v = n ? f * p : 0,
17770                                w = 1 - (1 - r.scale) * Math.abs(p);
17771                            Math.abs(v) < 0.001 && (v = 0),
17772                                Math.abs(g) < 0.001 && (g = 0),
17773                                Math.abs(m) < 0.001 && (m = 0),
17774                                Math.abs(u) < 0.001 && (u = 0),
17775                                Math.abs(h) < 0.001 && (h = 0),
17776                                Math.abs(w) < 0.001 && (w = 0);
17777                            const b = `translate3d(${v}px,${g}px,${m}px)  rotateX(${h}deg) rotateY(${u}deg) scale(${w})`;
17778                            if (
17779                                (se(r, t).transform(b),
17780                                (t[0].style.zIndex =
17781                                    1 - Math.abs(Math.round(p))),
17782                                r.slideShadows)
17783                            ) {
17784                                let e = n
17785                                        ? t.find('.swiper-slide-shadow-left')
17786                                        : t.find('.swiper-slide-shadow-top'),
17787                                    s = n
17788                                        ? t.find('.swiper-slide-shadow-right')
17789                                        : t.find('.swiper-slide-shadow-bottom');
17790                                0 === e.length &&
17791                                    (e = ie(r, t, n ? 'left' : 'top')),
17792                                    0 === s.length &&
17793                                        (s = ie(r, t, n ? 'right' : 'bottom')),
17794                                    e.length &&
17795                                        (e[0].style.opacity = p > 0 ? p : 0),
17796                                    s.length &&
17797                                        (s[0].style.opacity = -p > 0 ? -p : 0);
17798                            }
17799                        }
17800                    },
17801                    setTransition: (e) => {
17802                        const { transformEl: s } = t.params.coverflowEffect;
17803                        (s ? t.slides.find(s) : t.slides)
17804                            .transition(e)
17805                            .find(
17806                                '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left'
17807                            )
17808                            .transition(e);
17809                    },
17810                    perspective: () => !0,
17811                    overwriteParams: () => ({ watchSlidesProgress: !0 })
17812                });
17813        },
17814        function (e) {
17815            let { swiper: t, extendParams: s, on: a } = e;
17816            s({
17817                creativeEffect: {
17818                    transformEl: null,
17819                    limitProgress: 1,
17820                    shadowPerProgress: !1,
17821                    progressMultiplier: 1,
17822                    perspective: !0,
17823                    prev: {
17824                        translate: [0, 0, 0],
17825                        rotate: [0, 0, 0],
17826                        opacity: 1,
17827                        scale: 1
17828                    },
17829                    next: {
17830                        translate: [0, 0, 0],
17831                        rotate: [0, 0, 0],
17832                        opacity: 1,
17833                        scale: 1
17834                    }
17835                }
17836            });
17837            const i = (e) => ('string' == typeof e ? e : `${e}px`);
17838            te({
17839                effect: 'creative',
17840                swiper: t,
17841                on: a,
17842                setTranslate: () => {
17843                    const { slides: e, $wrapperEl: s, slidesSizesGrid: a } = t,
17844                        r = t.params.creativeEffect,
17845                        { progressMultiplier: n } = r,
17846                        l = t.params.centeredSlides;
17847                    if (l) {
17848                        const e = a[0] / 2 - t.params.slidesOffsetBefore || 0;
17849                        s.transform(`translateX(calc(50% - ${e}px))`);
17850                    }
17851                    for (let s = 0; s < e.length; s += 1) {
17852                        const a = e.eq(s),
17853                            o = a[0].progress,
17854                            d = Math.min(
17855                                Math.max(a[0].progress, -r.limitProgress),
17856                                r.limitProgress
17857                            );
17858                        let c = d;
17859                        l ||
17860                            (c = Math.min(
17861                                Math.max(
17862                                    a[0].originalProgress,
17863                                    -r.limitProgress
17864                                ),
17865                                r.limitProgress
17866                            ));
17867                        const p = a[0].swiperSlideOffset,
17868                            u = [
17869                                t.params.cssMode ? -p - t.translate : -p,
17870                                0,
17871                                0
17872                            ],
17873                            h = [0, 0, 0];
17874                        let m = !1;
17875                        t.isHorizontal() || ((u[1] = u[0]), (u[0] = 0));
17876                        let f = {
17877                            translate: [0, 0, 0],
17878                            rotate: [0, 0, 0],
17879                            scale: 1,
17880                            opacity: 1
17881                        };
17882                        d < 0
17883                            ? ((f = r.next), (m = !0))
17884                            : d > 0 && ((f = r.prev), (m = !0)),
17885                            u.forEach((e, t) => {
17886                                u[t] = `calc(${e}px + (${i(
17887                                    f.translate[t]
17888                                )} * ${Math.abs(d * n)}))`;
17889                            }),
17890                            h.forEach((e, t) => {
17891                                h[t] = f.rotate[t] * Math.abs(d * n);
17892                            }),
17893                            (a[0].style.zIndex =
17894                                -Math.abs(Math.round(o)) + e.length);
17895                        const g = u.join(', '),
17896                            v = `rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,
17897                            w =
17898                                c < 0
17899                                    ? `scale(${1 + (1 - f.scale) * c * n})`
17900                                    : `scale(${1 - (1 - f.scale) * c * n})`,
17901                            b =
17902                                c < 0
17903                                    ? 1 + (1 - f.opacity) * c * n
17904                                    : 1 - (1 - f.opacity) * c * n,
17905                            x = `translate3d(${g}) ${v} ${w}`;
17906                        if ((m && f.shadow) || !m) {
17907                            let e = a.children('.swiper-slide-shadow');
17908                            if (
17909                                (0 === e.length && f.shadow && (e = ie(r, a)),
17910                                e.length)
17911                            ) {
17912                                const t = r.shadowPerProgress
17913                                    ? d * (1 / r.limitProgress)
17914                                    : d;
17915                                e[0].style.opacity = Math.min(
17916                                    Math.max(Math.abs(t), 0),
17917                                    1
17918                                );
17919                            }
17920                        }
17921                        const y = se(r, a);
17922                        y.transform(x).css({ opacity: b }),
17923                            f.origin && y.css('transform-origin', f.origin);
17924                    }
17925                },
17926                setTransition: (e) => {
17927                    const { transformEl: s } = t.params.creativeEffect;
17928                    (s ? t.slides.find(s) : t.slides)
17929                        .transition(e)
17930                        .find('.swiper-slide-shadow')
17931                        .transition(e),
17932                        ae({
17933                            swiper: t,
17934                            duration: e,
17935                            transformEl: s,
17936                            allSlides: !0
17937                        });
17938                },
17939                perspective: () => t.params.creativeEffect.perspective,
17940                overwriteParams: () => ({
17941                    watchSlidesProgress: !0,
17942                    virtualTranslate: !t.params.cssMode
17943                })
17944            });
17945        },
17946        function (e) {
17947            let { swiper: t, extendParams: s, on: a } = e;
17948            s({
17949                cardsEffect: { slideShadows: !0, transformEl: null, rotate: !0 }
17950            }),
17951                te({
17952                    effect: 'cards',
17953                    swiper: t,
17954                    on: a,
17955                    setTranslate: () => {
17956                        const { slides: e, activeIndex: s } = t,
17957                            a = t.params.cardsEffect,
17958                            { startTranslate: i, isTouched: r } =
17959                                t.touchEventsData,
17960                            n = t.translate;
17961                        for (let l = 0; l < e.length; l += 1) {
17962                            const o = e.eq(l),
17963                                d = o[0].progress,
17964                                c = Math.min(Math.max(d, -4), 4);
17965                            let p = o[0].swiperSlideOffset;
17966                            t.params.centeredSlides &&
17967                                !t.params.cssMode &&
17968                                t.$wrapperEl.transform(
17969                                    `translateX(${t.minTranslate()}px)`
17970                                ),
17971                                t.params.centeredSlides &&
17972                                    t.params.cssMode &&
17973                                    (p -= e[0].swiperSlideOffset);
17974                            let u = t.params.cssMode ? -p - t.translate : -p,
17975                                h = 0;
17976                            const m = -100 * Math.abs(c);
17977                            let f = 1,
17978                                g = -2 * c,
17979                                v = 8 - 0.75 * Math.abs(c);
17980                            const w =
17981                                    t.virtual && t.params.virtual.enabled
17982                                        ? t.virtual.from + l
17983                                        : l,
17984                                b =
17985                                    (w === s || w === s - 1) &&
17986                                    c > 0 &&
17987                                    c < 1 &&
17988                                    (r || t.params.cssMode) &&
17989                                    n < i,
17990                                x =
17991                                    (w === s || w === s + 1) &&
17992                                    c < 0 &&
17993                                    c > -1 &&
17994                                    (r || t.params.cssMode) &&
17995                                    n > i;
17996                            if (b || x) {
17997                                const e =
17998                                    (1 - Math.abs((Math.abs(c) - 0.5) / 0.5)) **
17999                                    0.5;
18000                                (g += -28 * c * e),
18001                                    (f += -0.5 * e),
18002                                    (v += 96 * e),
18003                                    (h = -25 * e * Math.abs(c) + '%');
18004                            }
18005                            if (
18006                                ((u =
18007                                    c < 0
18008                                        ? `calc(${u}px + (${v * Math.abs(c)}%))`
18009                                        : c > 0
18010                                        ? `calc(${u}px + (-${
18011                                              v * Math.abs(c)
18012                                          }%))`
18013                                        : `${u}px`),
18014                                !t.isHorizontal())
18015                            ) {
18016                                const e = h;
18017                                (h = u), (u = e);
18018                            }
18019                            const y =
18020                                    c < 0
18021                                        ? '' + (1 + (1 - f) * c)
18022                                        : '' + (1 - (1 - f) * c),
18023                                E = `\n        translate3d(${u}, ${h}, ${m}px)\n        rotateZ(${
18024                                    a.rotate ? g : 0
18025                                }deg)\n        scale(${y})\n      `;
18026                            if (a.slideShadows) {
18027                                let e = o.find('.swiper-slide-shadow');
18028                                0 === e.length && (e = ie(a, o)),
18029                                    e.length &&
18030                                        (e[0].style.opacity = Math.min(
18031                                            Math.max(
18032                   
18032                             (Math.abs(c) - 0.5) / 0.5,
18033                                                0
18034                                            ),
18035                                            1
18036                                        ));
18037                            }
18038                            o[0].style.zIndex =
18039                                -Math.abs(Math.round(d)) + e.length;
18040                            se(a, o).transform(E);
18041                        }
18042                    },
18043                    setTransition: (e) => {
18044                        const { transformEl: s } = t.params.cardsEffect;
18045                        (s ? t.slides.find(s) : t.slides)
18046                            .transition(e)
18047                            .find('.swiper-slide-shadow')
18048                            .transition(e),
18049                            ae({ swiper: t, duration: e, transformEl: s });
18050                    },
18051                    perspective: () => !0,
18052                    overwriteParams: () => ({
18053                        watchSlidesProgress: !0,
18054                        virtualTranslate: !t.params.cssMode
18055                    })
18056                });
18057        }
18058    ];
18059    return V.use(re), V;
18060});
18061//# sourceMappingURL=swiper-bundle.min.js.map
18062//
18063//
18064!(function (i) {
18065    'use strict';
18066    'function' == typeof define && define.amd
18067        ? define(['jquery'], i)
18068        : 'undefined' != typeof exports
18069        ? (module.exports = i(require('jquery')))
18070        : i(jQuery);
18071})(function (i) {
18072    'use strict';
18073    var e = window.Slick || {};
18074    ((e = (function () {
18075        var e = 0;
18076        return function (t, o) {
18077            var s,
18078                n = this;
18079            (n.defaults = {
18080                accessibility: !0,
18081                adaptiveHeight: !1,
18082                appendArrows: i(t),
18083                appendDots: i(t),
18084                arrows: !0,
18085                asNavFor: null,
18086                prevArrow:
18087                    '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
18088                nextArrow:
18089                    '<button class="slick-next" aria-label="Next" type="button">Next</button>',
18090                autoplay: !1,
18091                autoplaySpeed: 3e3,
18092                centerMode: !1,
18093                centerPadding: '50px',
18094                cssEase: 'ease',
18095                customPaging: function (e, t) {
18096                    return i('<button type="button" />').text(t + 1);
18097                },
18098                dots: !1,
18099                dotsClass: 'slick-dots',
18100                draggable: !0,
18101                easing: 'linear',
18102                edgeFriction: 0.35,
18103                fade: !1,
18104                focusOnSelect: !1,
18105                focusOnChange: !1,
18106                infinite: !0,
18107                initialSlide: 0,
18108                lazyLoad: 'ondemand',
18109                mobileFirst: !1,
18110                pauseOnHover: !0,
18111                pauseOnFocus: !0,
18112                pauseOnDotsHover: !1,
18113                respondTo: 'window',
18114                responsive: null,
18115                rows: 1,
18116                rtl: !1,
18117                slide: '',
18118                slidesPerRow: 1,
18119                slidesToShow: 1,
18120                slidesToScroll: 1,
18121                speed: 500,
18122                swipe: !0,
18123                swipeToSlide: !1,
18124                touchMove: !0,
18125                touchThreshold: 5,
18126                useCSS: !0,
18127                useTransform: !0,
18128                variableWidth: !1,
18129                vertical: !1,
18130                verticalSwiping: !1,
18131                waitForAnimate: !0,
18132                zIndex: 1e3
18133            }),
18134                (n.initials = {
18135                    animating: !1,
18136                    dragging: !1,
18137                    autoPlayTimer: null,
18138                    currentDirection: 0,
18139                    currentLeft: null,
18140                    currentSlide: 0,
18141                    direction: 1,
18142                    $dots: null,
18143                    listWidth: null,
18144                    listHeight: null,
18145                    loadIndex: 0,
18146                    $nextArrow: null,
18147                    $prevArrow: null,
18148                    scrolling: !1,
18149                    slideCount: null,
18150                    slideWidth: null,
18151                    $slideTrack: null,
18152                    $slides: null,
18153                    sliding: !1,
18154                    slideOffset: 0,
18155                    swipeLeft: null,
18156                    swiping: !1,
18157                    $list: null,
18158                    touchObject: {},
18159                    transformsEnabled: !1,
18160                    unslicked: !1
18161                }),
18162                i.extend(n, n.initials),
18163                (n.activeBreakpoint = null),
18164                (n.animType = null),
18165                (n.animProp = null),
18166                (n.breakpoints = []),
18167                (n.breakpointSettings = []),
18168                (n.cssTransitions = !1),
18169                (n.focussed = !1),
18170                (n.interrupted = !1),
18171                (n.hidden = 'hidden'),
18172                (n.paused = !0),
18173                (n.positionProp = null),
18174                (n.respondTo = null),
18175                (n.rowCount = 1),
18176                (n.shouldClick = !0),
18177                (n.$slider = i(t)),
18178                (n.$slidesCache = null),
18179                (n.transformType = null),
18180                (n.transitionType = null),
18181                (n.visibilityChange = 'visibilitychange'),
18182                (n.windowWidth = 0),
18183                (n.windowTimer = null),
18184                (s = i(t).data('slick') || {}),
18185                (n.options = i.extend({}, n.defaults, o, s)),
18186                (n.currentSlide = n.options.initialSlide),
18187                (n.originalSettings = n.options),
18188                void 0 !== document.mozHidden
18189                    ? ((n.hidden = 'mozHidden'),
18190                      (n.visibilityChange = 'mozvisibilitychange'))
18191                    : void 0 !== document.webkitHidden &&
18192                      ((n.hidden = 'webkitHidden'),
18193                      (n.visibilityChange = 'webkitvisibilitychange')),
18194                (n.autoPlay = i.proxy(n.autoPlay, n)),
18195                (n.autoPlayClear = i.proxy(n.autoPlayClear, n)),
18196                (n.autoPlayIterator = i.proxy(n.autoPlayIterator, n)),
18197                (n.changeSlide = i.proxy(n.changeSlide, n)),
18198                (n.clickHandler = i.proxy(n.clickHandler, n)),
18199                (n.selectHandler = i.proxy(n.selectHandler, n)),
18200                (n.setPosition = i.proxy(n.setPosition, n)),
18201                (n.swipeHandler = i.proxy(n.swipeHandler, n)),
18202                (n.dragHandler = i.proxy(n.dragHandler, n)),
18203                (n.keyHandler = i.proxy(n.keyHandler, n)),
18204                (n.instanceUid = e++),
18205                (n.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/),
18206                n.registerBreakpoints(),
18207                n.init(!0);
18208        };
18209    })()).prototype.activateADA = function () {
18210        this.$slideTrack
18211            .find('.slick-active')
18212            .attr({ 'aria-hidden': 'false' })
18213            .find('a, input, button, select')
18214            .attr({ tabindex: '0' });
18215    }),
18216        (e.prototype.addSlide = e.prototype.slickAdd =
18217            function (e, t, o) {
18218                var s = this;
18219                if ('boolean' == typeof t) (o = t), (t = null);
18220                else if (t < 0 || t >= s.slideCount) return !1;
18221                s.unload(),
18222                    'number' == typeof t
18223                        ? 0 === t && 0 === s.$slides.length
18224                            ? i(e).appendTo(s.$slideTrack)
18225                            : o
18226                            ? i(e).insertBefore(s.$slides.eq(t))
18227                            : i(e).insertAfter(s.$slides.eq(t))
18228                        : !0 === o
18229                        ? i(e).prependTo(s.$slideTrack)
18230                        : i(e).appendTo(s.$slideTrack),
18231                    (s.$slides = s.$slideTrack.children(this.options.slide)),
18232                    s.$slideTrack.children(this.options.slide).detach(),
18233                    s.$slideTrack.append(s.$slides),
18234                    s.$slides.each(function (e, t) {
18235                        i(t).attr('data-slick-index', e);
18236                    }),
18237                    (s.$slidesCache = s.$slides),
18238                    s.reinit();
18239            }),
18240        (e.prototype.animateHeight = function () {
18241            var i = this;
18242            if (
18243                1 === i.options.slidesToShow &&
18244                !0 === i.options.adaptiveHeight &&
18245                !1 === i.options.vertical
18246            ) {
18247                var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
18248                i.$list.animate({ height: e }, i.options.speed);
18249            }
18250        }),
18251        (e.prototype.animateSlide = function (e, t) {
18252            var o = {},
18253                s = this;
18254            s.animateHeight(),
18255                !0 === s.options.rtl && !1 === s.options.vertical && (e = -e),
18256                !1 === s.transformsEnabled
18257                    ? !1 === s.options.vertical
18258                        ? s.$slideTrack.animate(
18259                              { left: e },
18260                              s.options.speed,
18261                              s.options.easing,
18262                              t
18263                          )
18264                        : s.$slideTrack.animate(
18265                              { top: e },
18266                              s.options.speed,
18267                              s.options.easing,
18268                              t
18269                          )
18270                    : !1 === s.cssTransitions
18271                    ? (!0 === s.options.rtl && (s.currentLeft = -s.currentLeft),
18272                      i({ animStart: s.currentLeft }).animate(
18273                          { animStart: e },
18274                          {
18275                              duration: s.options.speed,
18276                              easing: s.options.easing,
18277                              step: function (i) {
18278                                  (i = Math.ceil(i)),
18279                                      !1 === s.options.vertical
18280                                          ? ((o[s.animType] =
18281                                                'translate(' + i + 'px, 0px)'),
18282                                            s.$slideTrack.css(o))
18283                                          : ((o[s.animType] =
18284                                                'translate(0px,' + i + 'px)'),
18285                                            s.$slideTrack.css(o));
18286                              },
18287                              complete: function () {
18288                                  t && t.call();
18289                              }
18290                          }
18291                      ))
18292                    : (s.applyTransition(),
18293                      (e = Math.ceil(e)),
18294                      !1 === s.options.vertical
18295                          ? (o[s.animType] =
18296                                'translate3d(' + e + 'px, 0px, 0px)')
18297                          : (o[s.animType] =
18298                                'translate3d(0px,' + e + 'px, 0px)'),
18299                      s.$slideTrack.css(o),
18300                      t &&
18301                          setTimeout(function () {
18302                              s.disableTransition(), t.call();
18303                          }, s.options.speed));
18304        }),
18305        (e.prototype.getNavTarget = function () {
18306            var e = this,
18307                t = e.options.asNavFor;
18308            return t && null !== t && (t = i(t).not(e.$slider)), t;
18309        }),
18310        (e.prototype.asNavFor = function (e) {
18311            var t = this.getNavTarget();
18312            null !== t &&
18313                'object' == typeof t &&
18314                t.each(function () {
18315                    var t = i(this).slick('getSlick');
18316                    t.unslicked || t.slideHandler(e, !0);
18317                });
18318        }),
18319        (e.prototype.applyTransition = function (i) {
18320            var e = this,
18321                t = {};
18322            !1 === e.options.fade
18323                ? (t[e.transitionType] =
18324                      e.transformType +
18325                      ' ' +
18326                      e.options.speed +
18327                      'ms ' +
18328                      e.options.cssEase)
18329                : (t[e.transitionType] =
18330                      'opacity ' + e.options.speed + 'ms ' + e.options.cssEase),
18331                !1 === e.options.fade
18332                    ? e.$slideTrack.css(t)
18333                    : e.$slides.eq(i).css(t);
18334        }),
18335        (e.prototype.autoPlay = function () {
18336            var i = this;
18337            i.autoPlayClear(),
18338                i.slideCount > i.options.slidesToShow &&
18339                    (i.autoPlayTimer = setInterval(
18340                        i.autoPlayIterator,
18341                        i.options.autoplaySpeed
18342                    ));
18343        }),
18344        (e.prototype.autoPlayClear = function () {
18345            var i = this;
18346            i.autoPlayTimer && clearInterval(i.autoPlayTimer);
18347        }),
18348        (e.prototype.autoPlayIterator = function () {
18349            var i = this,
18350                e = i.currentSlide + i.options.slidesToScroll;
18351            i.paused ||
18352                i.interrupted ||
18353                i.focussed ||
18354                (!1 === i.options.infinite &&
18355                    (1 === i.direction &&
18356                    i.currentSlide + 1 === i.slideCount - 1
18357                        ? (i.direction = 0)
18358                        : 0 === i.direction &&
18359                          ((e = i.currentSlide - i.options.slidesToScroll),
18360                          i.currentSlide - 1 == 0 && (i.direction = 1))),
18361                i.slideHandler(e));
18362        }),
18363        (e.prototype.buildArrows = function () {
18364            var e = this;
18365            !0 === e.options.arrows &&
18366                ((e.$prevArrow = i(e.options.prevArrow).addClass(
18367                    'slick-arrow'
18368                )),
18369                (e.$nextArrow = i(e.options.nextArrow).addClass('slick-arrow')),
18370                e.slideCount > e.options.slidesToShow
18371                    ? (e.$prevArrow
18372                          .removeClass('slick-hidden')
18373                          .removeAttr('aria-hidden tabindex'),
18374                      e.$nextArrow
18375                          .removeClass('slick-hidden')
18376                          .removeAttr('aria-hidden tabindex'),
18377                      e.htmlExpr.test(e.options.prevArrow) &&
18378                          e.$prevArrow.prependTo(e.options.appendArrows),
18379                      e.htmlExpr.test(e.options.nextArrow) &&
18380                          e.$nextArrow.appendTo(e.options.appendArrows),
18381                      !0 !== e.options.infinite &&
18382                          e.$prevArrow
18383                              .addClass('slick-disabled')
18384                              .attr('aria-disabled', 'true'))
18385                    : e.$prevArrow
18386                          .add(e.$nextArrow)
18387                          .addClass('slick-hidden')
18388                          .attr({ 'aria-disabled': 'true', tabindex: '-1' }));
18389        }),
18390        (e.prototype.buildDots = function () {
18391            var e,
18392                t,
18393                o = this;
18394            if (!0 === o.options.dots) {
18395                for (
18396                    o.$slider.addClass('slick-dotted'),
18397                        t = i('<ul />').addClass(o.options.dotsClass),
18398                        e = 0;
18399                    e <= o.getDotCount();
18400                    e += 1
18401                )
18402                    t.append(
18403                        i('<li />').append(
18404                            o.options.customPaging.call(this, o, e)
18405                        )
18406                    );
18407                (o.$dots = t.appendTo(o.options.appendDots)),
18408                    o.$dots.find('li').first().addClass('slick-active');
18409            }
18410        }),
18411        (e.prototype.buildOut = function () {
18412            var e = this;
18413            (e.$slides = e.$slider
18414                .children(e.options.slide + ':not(.slick-cloned)')
18415                .addClass('slick-slide')),
18416                (e.slideCount = e.$slides.length),
18417                e.$slides.each(function (e, t) {
18418                    i(t)
18419                        .attr('data-slick-index', e)
18420                        .data('originalStyling', i(t).attr('style') || '');
18421                }),
18422                e.$slider.addClass('slick-slider'),
18423                (e.$slideTrack =
18424                    0 === e.slideCount
18425                        ? i('<div class="slick-track"/>').appendTo(e.$slider)
18426                        : e.$slides
18427                              .wrapAll('<div class="slick-track"/>')
18428                              .parent()),
18429                (e.$list = e.$slideTrack
18430                    .wrap('<div class="slick-list"/>')
18431                    .parent()),
18432                e.$slideTrack.css('opacity', 0),
18433                (!0 !== e.options.centerMode &&
18434                    !0 !== e.options.swipeToSlide) ||
18435                    (e.options.slidesToScroll = 1),
18436                i('img[data-lazy]', e.$slider)
18437                    .not('[src]')
18438                    .addClass('slick-loading'),
18439                e.setupInfinite(),
18440                e.buildArrows(),
18441                e.buildDots(),
18442                e.updateDots(),
18443                e.setSlideClasses(
18444                    'number' == typeof e.currentSlide ? e.currentSlide : 0
18445                ),
18446                !0 === e.options.draggable && e.$list.addClass('draggable');
18447        }),
18448        (e.prototype.buildRows = function () {
18449            var i,
18450                e,
18451                t,
18452                o,
18453                s,
18454                n,
18455                r,
18456                l = this;
18457            if (
18458                ((o = document.createDocumentFragment()),
18459                (n = l.$slider.children()),
18460                l.options.rows > 1)
18461            ) {
18462                for (
18463                    r = l.options.slidesPerRow * l.options.rows,
18464                        s = Math.ceil(n.length / r),
18465                        i = 0;
18466                    i < s;
18467                    i++
18468                ) {
18469                    var d = document.createElement('div');
18470                    for (e = 0; e < l.options.rows; e++) {
18471                        var a = document.createElement('div');
18472                        for (t = 0; t < l.options.slidesPerRow; t++) {
18473                            var c = i * r + (e * l.options.slidesPerRow + t);
18474                            n.get(c) && a.appendChild(n.get(c));
18475                        }
18476                        d.appendChild(a);
18477                    }
18478                    o.appendChild(d);
18479                }
18480                l.$slider.empty().append(o),
18481                    l.$slider
18482                        .children()
18483                        .children()
18484                        .children()
18485                        .css({
18486                            width: 100 / l.options.slidesPerRow + '%',
18487                            display: 'inline-block'
18488                        });
18489            }
18490        }),
18491        (e.prototype.checkResponsive = function (e, t) {
18492            var o,
18493                s,
18494                n,
18495                r = this,
18496                l = !1,
18497                d = r.$slider.width(),
18498                a = window.innerWidth || i(window).width();
18499            if (
18500                ('window' === r.respondTo
18501                    ? (n = a)
18502                    : 'slider' === r.respondTo
18503                    ? (n = d)
18504                    : 'min' === r.respondTo && (n = Math.min(a, d)),
18505                r.options.responsive &&
18506                    r.options.responsive.length &&
18507                    null !== r.options.responsive)
18508            ) {
18509                s = null;
18510                for (o in r.breakpoints)
18511                    r.breakpoints.hasOwnProperty(o) &&
18512                        (!1 === r.originalSettings.mobileFirst
18513                            ? n < r.breakpoints[o] && (s = r.breakpoints[o])
18514                            : n > r.breakpoints[o] && (s = r.breakpoints[o]));
18515                null !== s
18516                    ? null !== r.activeBreakpoint
18517                        ? (s !== r.activeBreakpoint || t) &&
18518                          ((r.activeBreakpoint = s),
18519                          'unslick' === r.breakpointSettings[s]
18520                              ? r.unslick(s)
18521                              : ((r.options = i.extend(
18522                                    {},
18523                                    r.originalSettings,
18524                                    r.breakpointSettings[s]
18525                                )),
18526                                !0 === e &&
18527                                    (r.currentSlide = r.options.initialSlide),
18528                                r.refresh(e)),
18529                          (l = s))
18530                        : ((r.activeBreakpoint = s),
18531                          'unslick' === r.breakpointSettings[s]
18532                              ? r.unslick(s)
18533                              : ((r.options = i.extend(
18534                                    {},
18535                                    r.originalSettings,
18536                                    r.breakpointSettings[s]
18537                                )),
18538                                !0 === e &&
18539                                    (r.currentSlide = r.options.initialSlide),
18540                                r.refresh(e)),
18541                          (l = s))
18542                    : null !== r.activeBreakpoint &&
18543                      ((r.activeBreakpoint = null),
18544                      (r.options = r.originalSettings),
18545                      !0 === e && (r.currentSlide = r.options.initialSlide),
18546                      r.refresh(e),
18547                      (l = s)),
18548                    e || !1 === l || r.$slider.trigger('breakpoint', [r, l]);
18549            }
18550        }),
18551        (e.prototype.changeSlide = function (e, t) {
18552            var o,
18553                s,
18554                n,
18555                r = this,
18556                l = i(e.currentTarget);
18557            switch (
18558                (l.is('a') && e.preventDefault(),
18559                l.is('li') || (l = l.closest('li')),
18560                (n = r.slideCount % r.options.slidesToScroll != 0),
18561                (o = n
18562                    ? 0
18563                    : (r.slideCount - r.currentSlide) %
18564                      r.options.slidesToScroll),
18565                e.data.message)
18566            ) {
18567                case 'previous':
18568                    (s =
18569                        0 === o
18570                            ? r.options.slidesToScroll
18571                            : r.options.slidesToShow - o),
18572                        r.slideCount > r.options.slidesToShow &&
18573                            r.slideHandler(r.currentSlide - s, !1, t);
18574                    break;
18575                case 'next':
18576                    (s = 0 === o ? r.options.slidesToScroll : o),
18577                        r.slideCount > r.options.slidesToShow &&
18578                            r.slideHandler(r.currentSlide + s, !1, t);
18579                    break;
18580                case 'index':
18581                    var d =
18582                        0 === e.data.index
18583                            ? 0
18584                            : e.data.index ||
18585                              l.index() * r.options.slidesToScroll;
18586                    r.slideHandler(r.checkNavigable(d), !1, t),
18587                        l.children().trigger('focus');
18588                    break;
18589                default:
18590                    return;
18591            }
18592        }),
18593        (e.prototype.checkNavigable = function (i) {
18594            var e, t;
18595            if (
18596                ((e = this.getNavigableIndexes()), (t = 0), i > e[e.length - 1])
18597            )
18598                i = e[e.length - 1];
18599            else
18600                for (var o in e) {
18601                    if (i < e[o]) {
18602                        i = t;
18603                        break;
18604                    }
18605                    t = e[o];
18606                }
18607            return i;
18608        }),
18609        (e.prototype.cleanUpEvents = function () {
18610            var e = this;
18611            e.options.dots &&
18612                null !== e.$dots &&
18613                (i('li', e.$dots)
18614                    .off('click.slick', e.changeSlide)
18615                    .off('mouseenter.slick', i.proxy(e.interrupt, e, !0))
18616                    .off('mouseleave.slick', i.proxy(e.interrupt, e, !1)),
18617                !0 === e.options.accessibility &&
18618                    e.$dots.off('keydown.slick', e.keyHandler)),
18619                e.$slider.off('focus.slick blur.slick'),
18620                !0 === e.options.arrows &&
18621                    e.slideCount > e.options.slidesToShow &&
18622                    (e.$prevArrow &&
18623                        e.$prevArrow.off('click.slick', e.changeSlide),
18624                    e.$nextArrow &&
18625                        e.$nextArrow.off('click.slick', e.changeSlide),
18626                    !0 === e.options.accessibility &&
18627                        (e.$prevArrow &&
18628                            e.$prevArrow.off('keydown.slick', e.keyHandler),
18629                        e.$nextArrow &&
18630                            e.$nextArrow.off('keydown.slick', e.keyHandler))),
18631                e.$list.off('touchstart.slick mousedown.slick', e.swipeHandler),
18632                e.$list.off('touchmove.slick mousemove.slick', e.swipeHandler),
18633                e.$list.off('touchend.slick mouseup.slick', e.swipeHandler),
18634                e.$list.off(
18635                    'touchcancel.slick mouseleave.slick',
18636                    e.swipeHandler
18637                ),
18638                e.$list.off('click.slick', e.clickHandler),
18639                i(document).off(e.visibilityChange, e.visibility),
18640                e.cleanUpSlideEvents(),
18641                !0 === e.options.accessibility &&
18642                    e.$list.off('keydown.slick', e.keyHandler),
18643                !0 === e.options.focusOnSelect &&
18644                    i(e.$slideTrack)
18645                        .children()
18646                        .off('click.slick', e.selectHandler),
18647                i(window).off(
18648                    'orientationchange.slick.slick-' + e.instanceUid,
18649                    e.orientationChange
18650                ),
18651                i(window).off('resize.slick.slick-' + e.instanceUid, e.resize),
18652                i('[draggable!=true]', e.$slideTrack).off(
18653                    'dragstart',
18654                    e.preventDefault
18655                ),
18656                i(window).off(
18657                    'load.slick.slick-' + e.instanceUid,
18658                    e.setPosition
18659                );
18660        }),
18661        (e.prototype.cleanUpSlideEvents = function () {
18662            var e = this;
18663            e.$list.off('mouseenter.slick', i.proxy(e.interrupt, e, !0)),
18664                e.$list.off('mouseleave.slick', i.proxy(e.interrupt, e, !1));
18665        }),
18666        (e.prototype.cleanUpRows = function () {
18667            var i,
18668                e = this;
18669            e.options.rows > 1 &&
18670                ((i = e.$slides.children().children()).removeAttr('style'),
18671                e.$slider.empty().append(i));
18672        }),
18673        (e.prototype.clickHandler = function (i) {
18674            !1 === this.shouldClick &&
18675                (i.stopImmediatePropagation(),
18676                i.stopPropagation(),
18677                i.preventDefault());
18678        }),
18679        (e.prototype.destroy = function (e) {
18680            var t = this;
18681            t.autoPlayClear(),
18682                (t.touchObject = {}),
18683                t.cleanUpEvents(),
18684                i('.slick-cloned', t.$slider).detach(),
18685                t.$dots && t.$dots.remove(),
18686                t.$prevArrow &&
18687                    t.$prevArrow.length &&
18688                    (t.$prevArrow
18689                        .removeClass('slick-disabled slick-arrow slick-hidden')
18690                        .removeAttr('aria-hidden aria-disabled tabindex')
18691                        .css('display', ''),
18692                    t.htmlExpr.test(t.options.prevArrow) &&
18693                        t.$prevArrow.remove()),
18694                t.$nextArrow &&
18695                    t.$nextArrow.length &&
18696                    (t.$nextArrow
18697                        .removeClass('slick-disabled slick-arrow slick-hidden')
18698                        .removeAttr('aria-hidden aria-disabled tabindex')
18699                        .css('display', ''),
18700                    t.htmlExpr.test(t.options.nextArrow) &&
18701                        t.$nextArrow.remove()),
18702                t.$slides &&
18703                    (t.$slides
18704                        .removeClass(
18705                            'slick-slide slick-active slick-center slick-visible slick-current'
18706                        )
18707                        .removeAttr('aria-hidden')
18708                        .removeAttr('data-slick-index')
18709                        .each(function () {
18710                            i(this).attr(
18711                                'style',
18712                                i(this).data('originalStyling')
18713                            );
18714                        }),
18715                    t.$slideTrack.children(this.options.slide).detach(),
18716                    t.$slideTrack.detach(),
18717                    t.$list.detach(),
18718                    t.$slider.append(t.$slides)),
18719                t.cleanUpRows(),
18720                t.$slider.removeClass('slick-slider'),
18721                t.$slider.removeClass('slick-initialized'),
18722                t.$slider.removeClass('slick-dotted'),
18723                (t.unslicked = !0),
18724                e || t.$slider.trigger('destroy', [t]);
18725        }),
18726        (e.prototype.disableTransition = function (i) {
18727            var e = this,
18728                t = {};
18729            (t[e.transitionType] = ''),
18730                !1 === e.options.fade
18731                    ? e.$slideTrack.css(t)
18732                    : e.$slides.eq(i).css(t);
18733        }),
18734        (e.prototype.fadeSlide = function (i, e) {
18735            var t = this;
18736            !1 === t.cssTransitions
18737                ? (t.$slides.eq(i).css({ zIndex: t.options.zIndex }),
18738                  t.$slides
18739                      .eq(i)
18740                      .animate(
18741                          { opacity: 1 },
18742                          t.options.speed,
18743                          t.options.easing,
18744                          e
18745                      ))
18746                : (t.applyTransition(i),
18747                  t.$slides.eq(i).css({ opacity: 1, zIndex: t.options.zIndex }),
18748                  e &&
18749                      setTimeout(function () {
18750                          t.disableTransition(i), e.call();
18751                      }, t.options.speed));
18752        }),
18753        (e.prototype.fadeSlideOut = function (i) {
18754            var e = this;
18755            !1 === e.cssTransitions
18756                ? e.$slides
18757                      .eq(i)
18758                      .animate(
18759                          { opacity: 0, zIndex: e.options.zIndex - 2 },
18760                          e.options.speed,
18761                          e.options.easing
18762                      )
18763                : (e.applyTransition(i),
18764                  e.$slides
18765                      .eq(i)
18766                      .css({ opacity: 0, zIndex: e.options.zIndex - 2 }));
18767        }),
18768        (e.prototype.filterSlides = e.prototype.slickFilter =
18769            function (i) {
18770                var e = this;
18771                null !== i &&
18772                    ((e.$slidesCache = e.$slides),
18773                    e.unload(),
18774                    e.$slideTrack.children(this.options.slide).detach(),
18775                    e.$slidesCache.filter(i).appendTo(e.$slideTrack),
18776                    e.reinit());
18777            }),
18778        (e.prototype.focusHandler = function () {
18779            var e = this;
18780            e.$slider
18781                .off('focus.slick blur.slick')
18782                .on('focus.slick blur.slick', '*', function (t) {
18783                    t.stopImmediatePropagation();
18784                    var o = i(this);
18785                    setTimeout(function () {
18786                        e.options.pauseOnFocus &&
18787                            ((e.focussed = o.is(':focus')), e.autoPlay());
18788                    }, 0);
18789                });
18790        }),
18791        (e.prototype.getCurrent = e.prototype.slickCurrentSlide =
18792            function () {
18793                return this.currentSlide;
18794            }),
18795        (e.prototype.getDotCount = function () {
18796            var i = this,
18797                e = 0,
18798                t = 0,
18799                o = 0;
18800            if (!0 === i.options.infinite)
18801                if (i.slideCount <= i.options.slidesToShow) ++o;
18802                else
18803                    for (; e < i.slideCount; )
18804                        ++o,
18805                            (e = t + i.options.slidesToScroll),
18806                            (t +=
18807                                i.options.slidesToScroll <=
18808                                i.options.slidesToShow
18809                                    ? i.options.slidesToScroll
18810                                    : i.options.slidesToShow);
18811            else if (!0 === i.options.centerMode) o = i.slideCount;
18812            else if (i.options.asNavFor)
18813                for (; e < i.slideCount; )
18814                    ++o,
18815                        (e = t + i.options.slidesToScroll),
18816                        (t +=
18817                            i.options.slidesToScroll <= i.options.slidesToShow
18818                                ? i.options.slidesToScroll
18819                                : i.options.slidesToShow);
18820            else
18821                o =
18822                    1 +
18823                    Math.ceil(
18824                        (i.slideCount - i.options.slidesToShow) /
18825                            i.options.slidesToScroll
18826                    );
18827            return o - 1;
18828        }),
18829        (e.prototype.getLeft = function (i) {
18830            var e,
18831                t,
18832                o,
18833                s,
18834                n = this,
18835                r = 0;
18836            return (
18837                (n.slideOffset = 0),
18838                (t = n.$slides.first().outerHeight(!0)),
18839                !0 === n.options.infinite
18840                    ? (n.slideCount > n.options.slidesToShow &&
18841                          ((n.slideOffset =
18842                              n.slideWidth * n.options.slidesToShow * -1),
18843                          (s = -1),
18844                          !0 === n.options.vertical &&
18845                              !0 === n.options.centerMode &&
18846                              (2 === n.options.slidesToShow
18847                                  ? (s = -1.5)
18848                                  : 1 === n.options.slidesToShow && (s = -2)),
18849                          (r = t * n.options.slidesToShow * s)),
18850                      n.slideCount % n.options.slidesToScroll != 0 &&
18851                          i + n.options.slidesToScroll > n.slideCount &&
18852                          n.slideCount > n.options.slidesToShow &&
18853                          (i > n.slideCount
18854                              ? ((n.slideOffset =
18855                                    (n.options.slidesToShow -
18856                                        (i - n.slideCount)) *
18857                                    n.slideWidth *
18858                                    -1),
18859                                (r =
18860                                    (n.options.slidesToShow -
18861                                        (i - n.slideCount)) *
18862                                    t *
18863                                    -1))
18864                              : ((n.slideOffset =
18865                                    (n.slideCount % n.options.slidesToScroll) *
18866                                    n.slideWidth *
18867                                    -1),
18868                                (r =
18869                                    (n.slideCount % n.options.slidesToScroll) *
18870                                    t *
18871                                    -1))))
18872                    : i + n.options.slidesToShow > n.slideCount &&
18873                      ((n.slideOffset =
18874                          (i + n.options.slidesToShow - n.slideCount) *
18875                          n.slideWidth),
18876                      (r = (i + n.options.slidesToShow - n.slideCount) * t)),
18877                n.slideCount <= n.options.slidesToShow &&
18878                    ((n.slideOffset = 0), (r = 0)),
18879                !0 === n.options.centerMode &&
18880                n.slideCount <= n.options.slidesToShow
18881                    ? (n.slideOffset =
18882                          (n.slideWidth * Math.floor(n.options.slidesToShow)) /
18883                              2 -
18884                          (n.slideWidth * n.slideCount) / 2)
18885                    : !0 === n.options.centerMode && !0 === n.options.infinite
18886                    ? (n.slideOffset +=
18887                          n.slideWidth *
18888                              Math.floor(n.options.slidesToShow / 2) -
18889                          n.slideWidth)
18890                    : !0 === n.options.centerMode &&
18891                      ((n.slideOffset = 0),
18892                      (n.slideOffset +=
18893                          n.slideWidth *
18894                          Math.floor(n.options.slidesToShow / 2))),
18895                (e =
18896                    !1 === n.options.vertical
18897                        ? i * n.slideWidth * -1 + n.slideOffset
18898                        : i * t * -1 + r),
18899                !0 === n.options.variableWidth &&
18900                    ((o =
18901                        n.slideCount <= n.options.slidesToShow ||
18902                        !1 === n.options.infinite
18903                            ? n.$slideTrack.children('.slick-slide').eq(i)
18904                            : n.$slideTrack
18905                                  .children('.slick-slide')
18906                                  .eq(i + n.options.slidesToShow)),
18907                    (e =
18908                        !0 === n.options.rtl
18909                            ? o[0]
18910                                ? -1 *
18911                                  (n.$slideTrack.width() -
18912                                      o[0].offsetLeft -
18913                                      o.width())
18914                                : 0
18915                            : o[0]
18916                            ? -1 * o[0].offsetLeft
18917                            : 0),
18918                    !0 === n.options.centerMode &&
18919                        ((o =
18920                            n.slideCount <= n.options.slidesToShow ||
18921                            !1 === n.options.infinite
18922                                ? n.$slideTrack.children('.slick-slide').eq(i)
18923                                : n.$slideTrack
18924                                      .children('.slick-slide')
18925                                      .eq(i + n.options.slidesToShow + 1)),
18926                        (e =
18927                            !0 === n.options.rtl
18928                                ? o[0]
18929                                    ? -1 *
18930                                      (n.$slideTrack.width() -
18931                                          o[0].offsetLeft -
18932                                          o.width())
18933                                    : 0
18934                                : o[0]
18935                                ? -1 * o[0].offsetLeft
18936                                : 0),
18937                        (e += (n.$list.width() - o.outerWidth()) / 2))),
18938                e
18939            );
18940        }),
18941        (e.prototype.getOption = e.prototype.slickGetOption =
18942            function (i) {
18943                return this.options[i];
18944            }),
18945        (e.prototype.getNavigableIndexes = function () {
18946            var i,
18947                e = this,
18948                t = 0,
18949                o = 0,
18950                s = [];
18951            for (
18952                !1 === e.options.infinite
18953                    ? (i = e.slideCount)
18954                    : ((t = -1 * e.options.slidesToScroll),
18955                      (o = -1 * e.options.slidesToScroll),
18956                      (i = 2 * e.slideCount));
18957                t < i;
18958
18959            )
18960                s.push(t),
18961                    (t = o + e.options.slidesToScroll),
18962                    (o +=
18963                        e.options.slidesToScroll <= e.options.slidesToShow
18964                            ? e.options.slidesToScroll
18965                            : e.options.slidesToShow);
18966            return s;
18967        }),
18968        (e.prototype.getSlick = function () {
18969            return this;
18970        }),
18971        (e.prototype.getSlideCount = function () {
18972            var e,
18973                t,
18974                o = this;
18975            return (
18976                (t =
18977                    !0 === o.options.centerMode
18978                        ? o.slideWidth * Math.floor(o.options.slidesToShow / 2)
18979                        : 0),
18980                !0 === o.options.swipeToSlide
18981                    ? (o.$slideTrack.find('.slick-slide').each(function (s, n) {
18982                          if (
18983                              n.offsetLeft - t + i(n).outerWidth() / 2 >
18984                              -1 * o.swipeLeft
18985                          )
18986                              return (e = n), !1;
18987                      }),
18988                      Math.abs(
18989                          i(e).attr('data-slick-index') - o.currentSlide
18990                      ) || 1)
18991                    : o.options.slidesToScroll
18992            );
18993        }),
18994        (e.prototype.goTo = e.prototype.slickGoTo =
18995            function (i, e) {
18996                this.changeSlide(
18997                    { data: { message: 'index', index: parseInt(i) } },
18998                    e
18999                );
19000            }),
19001        (e.prototype.init = function (e) {
19002            var t = this;
19003            i(t.$slider).hasClass('slick-initialized') ||
19004                (i(t.$slider).addClass('slick-initialized'),
19005                t.buildRows(),
19006                t.buildOut(),
19007                t.setProps(),
19008                t.startLoad(),
19009                t.loadSlider(),
19010                t.initializeEvents(),
19011                t.updateArrows(),
19012                t.updateDots(),
19013                t.checkResponsive(!0),
19014                t.focusHandler()),
19015                e && t.$slider.trigger('init', [t]),
19016                !0 === t.options.accessibility && t.initADA(),
19017                t.options.autoplay && ((t.paused = !1), t.autoPlay());
19018        }),
19019        (e.prototype.initADA = function () {
19020            var e = this,
19021                t = Math.ceil(e.slideCount / e.options.slidesToShow),
19022                o = e.getNavigableIndexes().filter(function (i) {
19023                    return i >= 0 && i < e.slideCount;
19024                });
19025            e.$slides
19026                .add(e.$slideTrack.find('.slick-cloned'))
19027                .attr({ 'aria-hidden': 'true', tabindex: '-1' })
19028                .find('a, input, button, select')
19029                .attr({ tabindex: '-1' }),
19030                null !== e.$dots &&
19031                    (e.$slides
19032                        .not(e.$slideTrack.find('.slick-cloned'))
19033                        .each(function (t) {
19034                            var s = o.indexOf(t);
19035                            i(this).attr({
19036                                role: 'tabpanel',
19037                                id: 'slick-slide' + e.instanceUid + t,
19038                                tabindex: -1
19039                            }),
19040                                -1 !== s &&
19041                                    i(this).attr({
19042                                        'aria-describedby':
19043                                            'slick-slide-control' +
19044                                            e.instanceUid +
19045                                            s
19046                                    });
19047                        }),
19048                    e.$dots
19049                        .attr('role', 'tablist')
19050                        .find('li')
19051                        .each(function (s) {
19052                            var n = o[s];
19053                            i(this).attr({ role: 'presentation' }),
19054                                i(this)
19055                                    .find('button')
19056                                    .first()
19057                                    .attr({
19058                                        role: 'tab',
19059                                        id:
19060                                            'slick-slide-control' +
19061                                            e.instanceUid +
19062                                            s,
19063                                        'aria-controls':
19064                                            'slick-slide' + e.instanceUid + n,
19065                                        'aria-label': s + 1 + ' of ' + t,
19066                                        'aria-selected': null,
19067                                        tabindex: '-1'
19068                                    });
19069                        })
19070                        .eq(e.currentSlide)
19071                        .find('button')
19072                        .attr({ 'aria-selected': 'true', tabindex: '0' })
19073                        .end());
19074            for (
19075                var s = e.currentSlide, n = s + e.options.slidesToShow;
19076                s < n;
19077                s++
19078            )
19079                e.$slides.eq(s).attr('tabindex', 0);
19080            e.activateADA();
19081        }),
19082        (e.prototype.initArrowEvents = function () {
19083            var i = this;
19084            !0 === i.options.arrows &&
19085                i.slideCount > i.options.slidesToShow &&
19086                (i.$prevArrow
19087                    .off('click.slick')
19088                    .on('click.slick', { message: 'previous' }, i.changeSlide),
19089                i.$nextArrow
19090                    .off('click.slick')
19091                    .on('click.slick', { message: 'next' }, i.changeSlide),
19092                !0 === i.options.accessibility &&
19093                    (i.$prevArrow.on('keydown.slick', i.keyHandler),
19094                    i.$nextArrow.on('keydown.slick', i.keyHandler)));
19095        }),
19096        (e.prototype.initDotEvents = function () {
19097            var e = this;
19098            !0 === e.options.dots &&
19099                (i('li', e.$dots).on(
19100                    'click.slick',
19101                    { message: 'index' },
19102                    e.changeSlide
19103                ),
19104                !0 === e.options.accessibility &&
19105                    e.$dots.on('keydown.slick', e.keyHandler)),
19106                !0 === e.options.dots &&
19107                    !0 === e.options.pauseOnDotsHover &&
19108                    i('li', e.$dots)
19109                        .on('mouseenter.slick', i.proxy(e.interrupt, e, !0))
19110                        .on('mouseleave.slick', i.proxy(e.interrupt, e, !1));
19111        }),
19112        (e.prototype.initSlideEvents = function () {
19113            var e = this;
19114            e.options.pauseOnHover &&
19115                (e.$list.on('mouseenter.slick', i.proxy(e.interrupt, e, !0)),
19116                e.$list.on('mouseleave.slick', i.proxy(e.interrupt, e, !1)));
19117        }),
19118        (e.prototype.initializeEvents = function () {
19119            var e = this;
19120            e.initArrowEvents(),
19121                e.initDotEvents(),
19122                e.initSlideEvents(),
19123                e.$list.on(
19124                    'touchstart.slick mousedown.slick',
19125                    { action: 'start' },
19126                    e.swipeHandler
19127                ),
19128                e.$list.on(
19129                    'touchmove.slick mousemove.slick',
19130                    { action: 'move' },
19131                    e.swipeHandler
19132                ),
19133                e.$list.on(
19134                    'touchend.slick mouseup.slick',
19135                    { action: 'end' },
19136                    e.swipeHandler
19137                ),
19138                e.$list.on(
19139                    'touchcancel.slick mouseleave.slick',
19140                    { action: 'end' },
19141                    e.swipeHandler
19142                ),
19143                e.$list.on('click.slick', e.clickHandler),
19144                i(document).on(e.visibilityChange, i.proxy(e.visibility, e)),
19145                !0 === e.options.accessibility &&
19146                    e.$list.on('keydown.slick', e.keyHandler),
19147                !0 === e.options.focusOnSelect &&
19148                    i(e.$slideTrack)
19149                        .children()
19150                        .on('click.slick', e.selectHandler),
19151                i(window).on(
19152                    'orientationchange.slick.slick-' + e.instanceUid,
19153                    i.proxy(e.orientationChange, e)
19154                ),
19155                i(window).on(
19156                    'resize.slick.slick-' + e.instanceUid,
19157                    i.proxy(e.resize, e)
19158                ),
19159                i('[draggable!=true]', e.$slideTrack).on(
19160                    'dragstart',
19161                    e.preventDefault
19162                ),
19163                i(window).on(
19164                    'load.slick.slick-' + e.instanceUid,
19165                    e.setPosition
19166                ),
19167                i(e.setPosition);
19168        }),
19169        (e.prototype.initUI = function () {
19170            var i = this;
19171            !0 === i.options.arrows &&
19172                i.slideCount > i.options.slidesToShow &&
19173                (i.$prevArrow.show(), i.$nextArrow.show()),
19174                !0 === i.options.dots &&
19175                    i.slideCount > i.options.slidesToShow &&
19176                    i.$dots.show();
19177        }),
19178        (e.prototype.keyHandler = function (i) {
19179            var e = this;
19180            i.target.tagName.match('TEXTAREA|INPUT|SELECT') ||
19181                (37 === i.keyCode && !0 === e.options.accessibility
19182                    ? e.changeSlide({
19183                          data: {
19184                              message:
19185                                  !0 === e.options.rtl ? 'next' : 'previous'
19186                          }
19187                      })
19188                    : 39 === i.keyCode &&
19189                      !0 === e.options.accessibility &&
19190                      e.changeSlide({
19191                          data: {
19192                              message:
19193                                  !0 === e.options.rtl ? 'previous' : 'next'
19194                          }
19195                      }));
19196        }),
19197        (e.prototype.lazyLoad = function () {
19198            function e(e) {
19199                i('img[data-lazy]', e).each(function () {
19200                    var e = i(this),
19201                        t = i(this).attr('data-lazy'),
19202                        o = i(this).attr('data-srcset'),
19203                        s =
19204                            i(this).attr('data-sizes') ||
19205                            n.$slider.attr('data-sizes'),
19206                        r = document.createElement('img');
19207                    (r.onload = function () {
19208                        e.animate({ opacity: 0 }, 100, function () {
19209                            o && (e.attr('srcset', o), s && e.attr('sizes', s)),
19210                                e
19211                                    .attr('src', t)
19212                                    .animate({ opacity: 1 }, 200, function () {
19213                                        e.removeAttr(
19214                                            'data-lazy data-srcset data-sizes'
19215                                        ).removeClass('slick-loading');
19216                                    }),
19217                                n.$slider.trigger('lazyLoaded', [n, e, t]);
19218                        });
19219                    }),
19220                        (r.onerror = function () {
19221                            e
19222                                .removeAttr('data-lazy')
19223                                .removeClass('slick-loading')
19224                                .addClass('slick-lazyload-error'),
19225                                n.$slider.trigger('lazyLoadError', [n, e, t]);
19226                        }),
19227                        (r.src = t);
19228                });
19229            }
19230            var t,
19231                o,
19232                s,
19233                n = this;
19234            if (
19235                (!0 === n.options.centerMode
19236                    ? !0 === n.options.infinite
19237                        ? (s =
19238                              (o =
19239                                  n.currentSlide +
19240                                  (n.options.slidesToShow / 2 + 1)) +
19241                              n.options.slidesToShow +
19242                              2)
19243                        : ((o = Math.max(
19244                              0,
19245                              n.currentSlide - (n.options.slidesToShow / 2 + 1)
19246                          )),
19247                          (s =
19248                              n.options.slidesToShow / 2 +
19249                              1 +
19250                              2 +
19251                              n.currentSlide))
19252                    : ((o = n.options.infinite
19253                          ? n.options.slidesToShow + n.currentSlide
19254                          : n.currentSlide),
19255                      (s = Math.ceil(o + n.options.slidesToShow)),
19256                      !0 === n.options.fade &&
19257                          (o > 0 && o--, s <= n.slideCount && s++)),
19258                (t = n.$slider.find('.slick-slide').slice(o, s)),
19259                'anticipated' === n.options.lazyLoad)
19260            )
19261                for (
19262                    var r = o - 1,
19263                        l = s,
19264                        d = n.$slider.find('.slick-slide'),
19265                        a = 0;
19266                    a < n.options.slidesToScroll;
19267                    a++
19268                )
19269                    r < 0 && (r = n.slideCount - 1),
19270                        (t = (t = t.add(d.eq(r))).add(d.eq(l))),
19271                        r--,
19272                        l++;
19273            e(t),
19274                n.slideCount <= n.options.slidesToShow
19275                    ? e(n.$slider.find('.slick-slide'))
19276                    : n.currentSlide >= n.slideCount - n.options.slidesToShow
19277                    ? e(
19278                          n.$slider
19279                              .find('.slick-cloned')
19280                              .slice(0, n.options.slidesToShow)
19281                      )
19282                    : 0 === n.currentSlide &&
19283                      e(
19284                          n.$slider
19285                              .find('.slick-cloned')
19286                              .slice(-1 * n.options.slidesToShow)
19287                      );
19288        }),
19289        (e.prototype.loadSlider = function () {
19290            var i = this;
19291            i.setPosition(),
19292                i.$slideTrack.css({ opacity: 1 }),
19293                i.$slider.removeClass('slick-loading'),
19294                i.initUI(),
19295                'progressive' === i.options.lazyLoad && i.progressiveLazyLoad();
19296        }),
19297        (e.prototype.next = e.prototype.slickNext =
19298            function () {
19299                this.changeSlide({ data: { message: 'next' } });
19300            }),
19301        (e.prototype.orientationChange = function () {
19302            var i = this;
19303            i.checkResponsive(), i.setPosition();
19304        }),
19305        (e.prototype.pause = e.prototype.slickPause =
19306            function () {
19307                var i = this;
19308                i.autoPlayClear(), (i.paused = !0);
19309            }),
19310        (e.prototype.play = e.prototype.slickPlay =
19311            function () {
19312                var i = this;
19313                i.autoPlay(),
19314                    (i.options.autoplay = !0),
19315                    (i.paused = !1),
19316                    (i.focussed = !1),
19317                    (i.interrupted = !1);
19318            }),
19319        (e.prototype.postSlide = function (e) {
19320            var t = this;
19321            t.unslicked ||
19322                (t.$slider.trigger('afterChange', [t, e]),
19323                (t.animating = !1),
19324                t.slideCount > t.options.slidesToShow && t.setPosition(),
19325                (t.swipeLeft = null),
19326                t.options.autoplay && t.autoPlay(),
19327                !0 === t.options.accessibility &&
19328                    (t.initADA(),
19329                    t.options.focusOnChange &&
19330                        i(t.$slides.get(t.currentSlide))
19331                            .attr('tabindex', 0)
19332                            .focus()));
19333        }),
19334        (e.prototype.prev = e.prototype.slickPrev =
19335            function () {
19336                this.changeSlide({ data: { message: 'previous' } });
19337            }),
19338        (e.prototype.preventDefault = function (i) {
19339            i.preventDefault();
19340        }),
19341        (e.prototype.progressiveLazyLoad = function (e) {
19342            e = e || 1;
19343            var t,
19344                o,
19345                s,
19346                n,
19347                r,
19348                l = this,
19349                d = i('img[data-lazy]', l.$slider);
19350            d.length
19351                ? ((t = d.first()),
19352                  (o = t.attr('data-lazy')),
19353                  (s = t.attr('data-srcset')),
19354                  (n = t.attr('data-sizes') || l.$slider.attr('data-sizes')),
19355                  ((r = document.createElement('img')).onload = function () {
19356                      s && (t.attr('srcset', s), n && t.attr('sizes', n)),
19357                          t
19358                              .attr('src', o)
19359                              .removeAttr('data-lazy data-srcset data-sizes')
19360                              .removeClass('slick-loading'),
19361                          !0 === l.options.adaptiveHeight && l.setPosition(),
19362                          l.$slider.trigger('lazyLoaded', [l, t, o]),
19363                          l.progressiveLazyLoad();
19364                  }),
19365                  (r.onerror = function () {
19366                      e < 3
19367                          ? setTimeout(function () {
19368                                l.progressiveLazyLoad(e + 1);
19369                            }, 500)
19370                          : (t
19371                                .removeAttr('data-lazy')
19372                                .removeClass('slick-loading')
19373                                .addClass('slick-lazyload-error'),
19374                            l.$slider.trigger('lazyLoadError', [l, t, o]),
19375                            l.progressiveLazyLoad());
19376                  }),
19377                  (r.src = o))
19378                : l.$slider.trigger('allImagesLoaded', [l]);
19379        }),
19380        (e.prototype.refresh = function (e) {
19381            var t,
19382                o,
19383                s = this;
19384            (o = s.slideCount - s.options.slidesToShow),
19385                !s.options.infinite &&
19386                    s.currentSlide > o &&
19387                    (s.currentSlide = o),
19388                s.slideCount <= s.options.slidesToShow && (s.currentSlide = 0),
19389                (t = s.currentSlide),
19390                s.destroy(!0),
19391                i.extend(s, s.initials, { currentSlide: t }),
19392                s.init(),
19393                e ||
19394                    s.changeSlide({ data: { message: 'index', index: t } }, !1);
19395        }),
19396        (e.prototype.registerBreakpoints = function () {
19397            var e,
19398                t,
19399                o,
19400                s = this,
19401                n = s.options.responsive || null;
19402            if ('array' === i.type(n) && n.length) {
19403                s.respondTo = s.options.respondTo || 'window';
19404                for (e in n)
19405                    if (((o = s.breakpoints.length - 1), n.hasOwnProperty(e))) {
19406                        for (t = n[e].breakpoint; o >= 0; )
19407                            s.breakpoints[o] &&
19408                                s.breakpoints[o] === t &&
19409                                s.breakpoints.splice(o, 1),
19410                                o--;
19411                        s.breakpoints.push(t),
19412                            (s.breakpointSettings[t] = n[e].settings);
19413                    }
19414                s.breakpoints.sort(function (i, e) {
19415                    return s.options.mobileFirst ? i - e : e - i;
19416                });
19417            }
19418        }),
19419        (e.prototype.reinit = function () {
19420            var e = this;
19421            (e.$slides = e.$slideTrack
19422                .children(e.options.slide)
19423                .addClass('slick-slide')),
19424                (e.slideCount = e.$slides.length),
19425                e.currentSlide >= e.slideCount &&
19426                    0 !== e.currentSlide &&
19427                    (e.currentSlide =
19428                        e.currentSlide - e.options.slidesToScroll),
19429                e.slideCount <= e.options.slidesToShow && (e.currentSlide = 0),
19430                e.registerBreakpoints(),
19431                e.setProps(),
19432                e.setupInfinite(),
19433                e.buildArrows(),
19434                e.updateArrows(),
19435                e.initArrowEvents(),
19436                e.buildDots(),
19437                e.updateDots(),
19438                e.initDotEvents(),
19439                e.cleanUpSlideEvents(),
19440                e.initSlideEvents(),
19441                e.checkResponsive(!1, !0),
19442                !0 === e.options.focusOnSelect &&
19443                    i(e.$slideTrack)
19444                        .children()
19445                        .on('click.slick', e.selectHandler),
19446                e.setSlideClasses(
19447                    'number' == typeof e.currentSlide ? e.currentSlide : 0
19448                ),
19449                e.setPosition(),
19450                e.focusHandler(),
19451                (e.paused = !e.options.autoplay),
19452                e.autoPlay(),
19453                e.$slider.trigger('reInit', [e]);
19454        }),
19455        (e.prototype.resize = function () {
19456            var e = this;
19457            i(window).width() !== e.windowWidth &&
19458                (clearTimeout(e.windowDelay),
19459                (e.windowDelay = window.setTimeout(function () {
19460                    (e.windowWidth = i(window).width()),
19461                        e.checkResponsive(),
19462                        e.unslicked || e.setPosition();
19463                }, 50)));
19464        }),
19465        (e.prototype.removeSlide = e.prototype.slickRemove =
19466            function (i, e, t) {
19467                var o = this;
19468                if (
19469                    ((i =
19470                        'boolean' == typeof i
19471                            ? !0 === (e = i)
19472                                ? 0
19473                                : o.slideCount - 1
19474                            : !0 === e
19475                            ? --i
19476                            : i),
19477                    o.slideCount < 1 || i < 0 || i > o.slideCount - 1)
19478                )
19479                    return !1;
19480                o.unload(),
19481                    !0 === t
19482                        ? o.$slideTrack.children().remove()
19483                        : o.$slideTrack
19484                              .children(this.options.slide)
19485                              .eq(i)
19486                              .remove(),
19487                    (o.$slides = o.$slideTrack.children(this.options.slide)),
19488                    o.$slideTrack.children(this.options.slide).detach(),
19489                    o.$slideTrack.append(o.$slides),
19490                    (o.$slidesCache = o.$slides),
19491                    o.reinit();
19492            }),
19493        (e.prototype.setCSS = function (i) {
19494            var e,
19495                t,
19496                o = this,
19497                s = {};
19498            !0 === o.options.rtl && (i = -i),
19499                (e = 'left' == o.positionProp ? Math.ceil(i) + 'px' : '0px'),
19500                (t = 'top' == o.positionProp ? Math.ceil(i) + 'px' : '0px'),
19501                (s[o.positionProp] = i),
19502                !1 === o.transformsEnabled
19503                    ? o.$slideTrack.css(s)
19504                    : ((s = {}),
19505                      !1 === o.cssTransitions
19506                          ? ((s[o.animType] =
19507                                'translate(' + e + ', ' + t + ')'),
19508                            o.$slideTrack.css(s))
19509                          : ((s[o.animType] =
19510                                'translate3d(' + e + ', ' + t + ', 0px)'),
19511                            o.$slideTrack.css(s)));
19512        }),
19513        (e.prototype.setDimensions = function () {
19514            var i = this;
19515            !1 === i.options.vertical
19516                ? !0 === i.options.centerMode &&
19517                  i.$list.css({ padding: '0px ' + i.options.centerPadding })
19518                : (i.$list.height(
19519                      i.$slides.first().outerHeight(!0) * i.options.slidesToShow
19520                  ),
19521                  !0 === i.options.centerMode &&
19522                      i.$list.css({
19523                          padding: i.options.centerPadding + ' 0px'
19524                      })),
19525                (i.listWidth = i.$list.width()),
19526                (i.listHeight = i.$list.height()),
19527                !1 === i.options.vertical && !1 === i.options.variableWidth
19528                    ? ((i.slideWidth = Math.ceil(
19529                          i.listWidth / i.options.slidesToShow
19530                      )),
19531                      i.$slideTrack.width(
19532                          Math.ceil(
19533                              i.slideWidth *
19534                                  i.$slideTrack.children('.slick-slide').length
19535                          )
19536                      ))
19537                    : !0 === i.options.variableWidth
19538                    ? i.$slideTrack.width(5e3 * i.slideCount)
19539                    : ((i.slideWidth = Math.ceil(i.listWidth)),
19540                      i.$slideTrack.height(
19541                          Math.ceil(
19542                              i.$slides.first().outerHeight(!0) *
19543                                  i.$slideTrack.children('.slick-slide').length
19544                          )
19545                      ));
19546            var e =
19547                i.$slides.first().outerWidth(!0) - i.$slides.first().width();
19548            !1 === i.options.variableWidth &&
19549                i.$slideTrack.children('.slick-slide').width(i.slideWidth - e);
19550        }),
19551        (e.prototype.setFade = function () {
19552            var e,
19553                t = this;
19554            t.$slides.each(function (o, s) {
19555                (e = t.slideWidth * o * -1),
19556                    !0 === t.options.rtl
19557                        ? i(s).css({
19558                              position: 'relative',
19559                              right: e,
19560                              top: 0,
19561                              zIndex: t.options.zIndex - 2,
19562                              opacity: 0
19563                          })
19564                        : i(s).css({
19565                              position: 'relative',
19566                              left: e,
19567                              top: 0,
19568                              zIndex: t.options.zIndex - 2,
19569                              opacity: 0
19570                          });
19571            }),
19572                t.$slides
19573                    .eq(t.currentSlide)
19574                    .css({ zIndex: t.options.zIndex - 1, opacity: 1 });
19575        }),
19576        (e.prototype.setHeight = function () {
19577            var i = this;
19578            if (
19579                1 === i.options.slidesToShow &&
19580                !0 === i.options.adaptiveHeight &&
19581                !1 === i.options.vertical
19582            ) {
19583                var e = i.$slides.eq(i.currentSlide).outerHeight(!0);
19584                i.$list.css('height', e);
19585            }
19586        }),
19587        (e.prototype.setOption = e.prototype.slickSetOption =
19588            function () {
19589                var e,
19590                    t,
19591                    o,
19592                    s,
19593                    n,
19594                    r = this,
19595                    l = !1;
19596                if (
19597                    ('object' === i.type(arguments[0])
19598                        ? ((o = arguments[0]),
19599                          (l = arguments[1]),
19600                          (n = 'multiple'))
19601                        : 'string' === i.type(arguments[0]) &&
19602                          ((o = arguments[0]),
19603                          (s = arguments[1]),
19604                          (l = arguments[2]),
19605                          'responsive' === arguments[0] &&
19606                          'array' === i.type(arguments[1])
19607                              ? (n = 'responsive')
19608                              : void 0 !== arguments[1] && (n = 'single')),
19609                    'single' === n)
19610                )
19611                    r.options[o] = s;
19612                else if ('multiple' === n)
19613                    i.each(o, function (i, e) {
19614                        r.options[i] = e;
19615                    });
19616                else if ('responsive' === n)
19617                    for (t in s)
19618                        if ('array' !== i.type(r.options.responsive))
19619                            r.options.responsive = [s[t]];
19620                        else {
19621                            for (e = r.options.responsive.length - 1; e >= 0; )
19622                                r.options.responsive[e].breakpoint ===
19623                                    s[t].breakpoint &&
19624                                    r.options.responsive.splice(e, 1),
19625                                    e--;
19626                            r.options.responsive.push(s[t]);
19627                        }
19628                l && (r.unload(), r.reinit());
19629            }),
19630        (e.prototype.setPosition = function () {
19631            var i = this;
19632            i.setDimensions(),
19633                i.setHeight(),
19634                !1 === i.options.fade
19635                    ? i.setCSS(i.getLeft(i.currentSlide))
19636                    : i.setFade(),
19637                i.$slider.trigger('setPosition', [i]);
19638        }),
19639        (e.prototype.setProps = function () {
19640            var i = this,
19641                e = document.body.style;
19642            (i.positionProp = !0 === i.options.vertical ? 'top' : 'left'),
19643                'top' === i.positionProp
19644                    ? i.$slider.addClass('slick-vertical')
19645                    : i.$slider.removeClass('slick-vertical'),
19646                (void 0 === e.WebkitTransition &&
19647                    void 0 === e.MozTransition &&
19648                    void 0 === e.msTransition) ||
19649                    (!0 === i.options.useCSS && (i.cssTransitions = !0)),
19650                i.options.fade &&
19651                    ('number' == typeof i.options.zIndex
19652                        ? i.options.zIndex < 3 && (i.options.zIndex = 3)
19653                        : (i.options.zIndex = i.defaults.zIndex)),
19654                void 0 !== e.OTransform &&
19655                    ((i.animType = 'OTransform'),
19656                    (i.transformType = '-o-transform'),
19657                    (i.transitionType = 'OTransition'),
19658                    void 0 === e.perspectiveProperty &&
19659                        void 0 === e.webkitPerspective &&
19660                        (i.animType = !1)),
19661                void 0 !== e.MozTransform &&
19662                    ((i.animType = 'MozTransform'),
19663                    (i.transformType = '-moz-transform'),
19664                    (i.transitionType = 'MozTransition'),
19665                    void 0 === e.perspectiveProperty &&
19666                        void 0 === e.MozPerspective &&
19667                        (i.animType = !1)),
19668                void 0 !== e.webkitTransform &&
19669                    ((i.animType = 'webkitTransform'),
19670                    (i.transformType = '-webkit-transform'),
19671                    (i.transitionType = 'webkitTransition'),
19672                    void 0 === e.perspectiveProperty &&
19673                        void 0 === e.webkitPerspective &&
19674                        (i.animType = !1)),
19675                void 0 !== e.msTransform &&
19676                    ((i.animType = 'msTransform'),
19677                    (i.transformType = '-ms-transform'),
19678                    (i.transitionType = 'msTransition'),
19679                    void 0 === e.msTransform && (i.animType = !1)),
19680                void 0 !== e.transform &&
19681                    !1 !== i.animType &&
19682                    ((i.animType = 'transform'),
19683                    (i.transformType = 'transform'),
19684                    (i.transitionType = 'transition')),
19685                (i.transformsEnabled =
19686                    i.options.useTransform &&
19687                    null !== i.animType &&
19688                    !1 !== i.animType);
19689        }),
19690        (e.prototype.setSlideClasses = function (i) {
19691            var e,
19692                t,
19693                o,
19694                s,
19695                n = this;
19696            if (
19697                ((t = n.$slider
19698                    .find('.slick-slide')
19699                    .removeClass('slick-active slick-center slick-current')
19700                    .attr('aria-hidden', 'true')),
19701                n.$slides.eq(i)
19701.addClass('slick-current'),
19702                !0 === n.options.centerMode)
19703            ) {
19704                var r = n.options.slidesToShow % 2 == 0 ? 1 : 0;
19705                (e = Math.floor(n.options.slidesToShow / 2)),
19706                    !0 === n.options.infinite &&
19707                        (i >= e && i <= n.slideCount - 1 - e
19708                            ? n.$slides
19709                                  .slice(i - e + r, i + e + 1)
19710                                  .addClass('slick-active')
19711                                  .attr('aria-hidden', 'false')
19712                            : ((o = n.options.slidesToShow + i),
19713                              t
19714                                  .slice(o - e + 1 + r, o + e + 2)
19715                                  .addClass('slick-active')
19716                                  .attr('aria-hidden', 'false')),
19717                        0 === i
19718                            ? t
19719                                  .eq(t.length - 1 - n.options.slidesToShow)
19720                                  .addClass('slick-center')
19721                            : i === n.slideCount - 1 &&
19722                              t
19723                                  .eq(n.options.slidesToShow)
19724                                  .addClass('slick-center')),
19725                    n.$slides.eq(i).addClass('slick-center');
19726            } else
19727                i >= 0 && i <= n.slideCount - n.options.slidesToShow
19728                    ? n.$slides
19729                          .slice(i, i + n.options.slidesToShow)
19730                          .addClass('slick-active')
19731                          .attr('aria-hidden', 'false')
19732                    : t.length <= n.options.slidesToShow
19733                    ? t.addClass('slick-active').attr('aria-hidden', 'false')
19734                    : ((s = n.slideCount % n.options.slidesToShow),
19735                      (o =
19736                          !0 === n.options.infinite
19737                              ? n.options.slidesToShow + i
19738                              : i),
19739                      n.options.slidesToShow == n.options.slidesToScroll &&
19740                      n.slideCount - i < n.options.slidesToShow
19741                          ? t
19742                                .slice(o - (n.options.slidesToShow - s), o + s)
19743                                .addClass('slick-active')
19744                                .attr('aria-hidden', 'false')
19745                          : t
19746                                .slice(o, o + n.options.slidesToShow)
19747                                .addClass('slick-active')
19748                                .attr('aria-hidden', 'false'));
19749            ('ondemand' !== n.options.lazyLoad &&
19750                'anticipated' !== n.options.lazyLoad) ||
19751                n.lazyLoad();
19752        }),
19753        (e.prototype.setupInfinite = function () {
19754            var e,
19755                t,
19756                o,
19757                s = this;
19758            if (
19759                (!0 === s.options.fade && (s.options.centerMode = !1),
19760                !0 === s.options.infinite &&
19761                    !1 === s.options.fade &&
19762                    ((t = null), s.slideCount > s.options.slidesToShow))
19763            ) {
19764                for (
19765                    o =
19766                        !0 === s.options.centerMode
19767                            ? s.options.slidesToShow + 1
19768                            : s.options.slidesToShow,
19769                        e = s.slideCount;
19770                    e > s.slideCount - o;
19771                    e -= 1
19772                )
19773                    (t = e - 1),
19774                        i(s.$slides[t])
19775                            .clone(!0)
19776                            .attr('id', '')
19777                            .attr('data-slick-index', t - s.slideCount)
19778                            .prependTo(s.$slideTrack)
19779                            .addClass('slick-cloned');
19780                for (e = 0; e < o + s.slideCount; e += 1)
19781                    (t = e),
19782                        i(s.$slides[t])
19783                            .clone(!0)
19784                            .attr('id', '')
19785                            .attr('data-slick-index', t + s.slideCount)
19786                            .appendTo(s.$slideTrack)
19787                            .addClass('slick-cloned');
19788                s.$slideTrack
19789                    .find('.slick-cloned')
19790                    .find('[id]')
19791                    .each(function () {
19792                        i(this).attr('id', '');
19793                    });
19794            }
19795        }),
19796        (e.prototype.interrupt = function (i) {
19797            var e = this;
19798            i || e.autoPlay(), (e.interrupted = i);
19799        }),
19800        (e.prototype.selectHandler = function (e) {
19801            var t = this,
19802                o = i(e.target).is('.slick-slide')
19803                    ? i(e.target)
19804                    : i(e.target).parents('.slick-slide'),
19805                s = parseInt(o.attr('data-slick-index'));
19806            s || (s = 0),
19807                t.slideCount <= t.options.slidesToShow
19808                    ? t.slideHandler(s, !1, !0)
19809                    : t.slideHandler(s);
19810        }),
19811        (e.prototype.slideHandler = function (i, e, t) {
19812            var o,
19813                s,
19814                n,
19815                r,
19816                l,
19817                d = null,
19818                a = this;
19819            if (
19820                ((e = e || !1),
19821                !(
19822                    (!0 === a.animating && !0 === a.options.waitForAnimate) ||
19823                    (!0 === a.options.fade && a.currentSlide === i)
19824                ))
19825            )
19826                if (
19827                    (!1 === e && a.asNavFor(i),
19828                    (o = i),
19829                    (d = a.getLeft(o)),
19830                    (r = a.getLeft(a.currentSlide)),
19831                    (a.currentLeft = null === a.swipeLeft ? r : a.swipeLeft),
19832                    !1 === a.options.infinite &&
19833                        !1 === a.options.centerMode &&
19834                        (i < 0 ||
19835                            i > a.getDotCount() * a.options.slidesToScroll))
19836                )
19837                    !1 === a.options.fade &&
19838                        ((o = a.currentSlide),
19839                        !0 !== t
19840                            ? a.animateSlide(r, function () {
19841                                  a.postSlide(o);
19842                              })
19843                            : a.postSlide(o));
19844                else if (
19845                    !1 === a.options.infinite &&
19846                    !0 === a.options.centerMode &&
19847                    (i < 0 || i > a.slideCount - a.options.slidesToScroll)
19848                )
19849                    !1 === a.options.fade &&
19850                        ((o = a.currentSlide),
19851                        !0 !== t
19852                            ? a.animateSlide(r, function () {
19853                                  a.postSlide(o);
19854                              })
19855                            : a.postSlide(o));
19856                else {
19857                    if (
19858                        (a.options.autoplay && clearInterval(a.autoPlayTimer),
19859                        (s =
19860                            o < 0
19861                                ? a.slideCount % a.options.slidesToScroll != 0
19862                                    ? a.slideCount -
19863                                      (a.slideCount % a.options.slidesToScroll)
19864                                    : a.slideCount + o
19865                                : o >= a.slideCount
19866                                ? a.slideCount % a.options.slidesToScroll != 0
19867                                    ? 0
19868                                    : o - a.slideCount
19869                                : o),
19870                        (a.animating = !0),
19871                        a.$slider.trigger('beforeChange', [
19872                            a,
19873                            a.currentSlide,
19874                            s
19875                        ]),
19876                        (n = a.currentSlide),
19877                        (a.currentSlide = s),
19878                        a.setSlideClasses(a.currentSlide),
19879                        a.options.asNavFor &&
19880                            (l = (l = a.getNavTarget()).slick('getSlick'))
19881                                .slideCount <= l.options.slidesToShow &&
19882                            l.setSlideClasses(a.currentSlide),
19883                        a.updateDots(),
19884                        a.updateArrows(),
19885                        !0 === a.options.fade)
19886                    )
19887                        return (
19888                            !0 !== t
19889                                ? (a.fadeSlideOut(n),
19890                                  a.fadeSlide(s, function () {
19891                                      a.postSlide(s);
19892                                  }))
19893                                : a.postSlide(s),
19894                            void a.animateHeight()
19895                        );
19896                    !0 !== t
19897                        ? a.animateSlide(d, function () {
19898                              a.postSlide(s);
19899                          })
19900                        : a.postSlide(s);
19901                }
19902        }),
19903        (e.prototype.startLoad = function () {
19904            var i = this;
19905            !0 === i.options.arrows &&
19906                i.slideCount > i.options.slidesToShow &&
19907                (i.$prevArrow.hide(), i.$nextArrow.hide()),
19908                !0 === i.options.dots &&
19909                    i.slideCount > i.options.slidesToShow &&
19910                    i.$dots.hide(),
19911                i.$slider.addClass('slick-loading');
19912        }),
19913        (e.prototype.swipeDirection = function () {
19914            var i,
19915                e,
19916                t,
19917                o,
19918                s = this;
19919            return (
19920                (i = s.touchObject.startX - s.touchObject.curX),
19921                (e = s.touchObject.startY - s.touchObject.curY),
19922                (t = Math.atan2(e, i)),
19923                (o = Math.round((180 * t) / Math.PI)) < 0 &&
19924                    (o = 360 - Math.abs(o)),
19925                o <= 45 && o >= 0
19926                    ? !1 === s.options.rtl
19927                        ? 'left'
19928                        : 'right'
19929                    : o <= 360 && o >= 315
19930                    ? !1 === s.options.rtl
19931                        ? 'left'
19932                        : 'right'
19933                    : o >= 135 && o <= 225
19934                    ? !1 === s.options.rtl
19935                        ? 'right'
19936                        : 'left'
19937                    : !0 === s.options.verticalSwiping
19938                    ? o >= 35 && o <= 135
19939                        ? 'down'
19940                        : 'up'
19941                    : 'vertical'
19942            );
19943        }),
19944        (e.prototype.swipeEnd = function (i) {
19945            var e,
19946                t,
19947                o = this;
19948            if (((o.dragging = !1), (o.swiping = !1), o.scrolling))
19949                return (o.scrolling = !1), !1;
19950            if (
19951                ((o.interrupted = !1),
19952                (o.shouldClick = !(o.touchObject.swipeLength > 10)),
19953                void 0 === o.touchObject.curX)
19954            )
19955                return !1;
19956            if (
19957                (!0 === o.touchObject.edgeHit &&
19958                    o.$slider.trigger('edge', [o, o.swipeDirection()]),
19959                o.touchObject.swipeLength >= o.touchObject.minSwipe)
19960            ) {
19961                switch ((t = o.swipeDirection())) {
19962                    case 'left':
19963                    case 'down':
19964                        (e = o.options.swipeToSlide
19965                            ? o.checkNavigable(
19966                                  o.currentSlide + o.getSlideCount()
19967                              )
19968                            : o.currentSlide + o.getSlideCount()),
19969                            (o.currentDirection = 0);
19970                        break;
19971                    case 'right':
19972                    case 'up':
19973                        (e = o.options.swipeToSlide
19974                            ? o.checkNavigable(
19975                                  o.currentSlide - o.getSlideCount()
19976                              )
19977                            : o.currentSlide - o.getSlideCount()),
19978                            (o.currentDirection = 1);
19979                }
19980                'vertical' != t &&
19981                    (o.slideHandler(e),
19982                    (o.touchObject = {}),
19983                    o.$slider.trigger('swipe', [o, t]));
19984            } else
19985                o.touchObject.startX !== o.touchObject.curX &&
19986                    (o.slideHandler(o.currentSlide), (o.touchObject = {}));
19987        }),
19988        (e.prototype.swipeHandler = function (i) {
19989            var e = this;
19990            if (
19991                !(
19992                    !1 === e.options.swipe ||
19993                    ('ontouchend' in document && !1 === e.options.swipe) ||
19994                    (!1 === e.options.draggable &&
19995                        -1 !== i.type.indexOf('mouse'))
19996                )
19997            )
19998                switch (
19999                    ((e.touchObject.fingerCount =
20000                        i.originalEvent && void 0 !== i.originalEvent.touches
20001                            ? i.originalEvent.touches.length
20002                            : 1),
20003                    (e.touchObject.minSwipe =
20004                        e.listWidth / e.options.touchThreshold),
20005                    !0 === e.options.verticalSwiping &&
20006                        (e.touchObject.minSwipe =
20007                            e.listHeight / e.options.touchThreshold),
20008                    i.data.action)
20009                ) {
20010                    case 'start':
20011                        e.swipeStart(i);
20012                        break;
20013                    case 'move':
20014                        e.swipeMove(i);
20015                        break;
20016                    case 'end':
20017                        e.swipeEnd(i);
20018                }
20019        }),
20020        (e.prototype.swipeMove = function (i) {
20021            var e,
20022                t,
20023                o,
20024                s,
20025                n,
20026                r,
20027                l = this;
20028            return (
20029                (n =
20030                    void 0 !== i.originalEvent
20031                        ? i.originalEvent.touches
20032                        : null),
20033                !(!l.dragging || l.scrolling || (n && 1 !== n.length)) &&
20034                    ((e = l.getLeft(l.currentSlide)),
20035                    (l.touchObject.curX =
20036                        void 0 !== n ? n[0].pageX : i.clientX),
20037                    (l.touchObject.curY =
20038                        void 0 !== n ? n[0].pageY : i.clientY),
20039                    (l.touchObject.swipeLength = Math.round(
20040                        Math.sqrt(
20041                            Math.pow(
20042                                l.touchObject.curX - l.touchObject.startX,
20043                                2
20044                            )
20045                        )
20046                    )),
20047                    (r = Math.round(
20048                        Math.sqrt(
20049                            Math.pow(
20050                                l.touchObject.curY - l.touchObject.startY,
20051                                2
20052                            )
20053                        )
20054                    )),
20055                    !l.options.verticalSwiping && !l.swiping && r > 4
20056                        ? ((l.scrolling = !0), !1)
20057                        : (!0 === l.options.verticalSwiping &&
20058                              (l.touchObject.swipeLength = r),
20059                          (t = l.swipeDirection()),
20060                          void 0 !== i.originalEvent &&
20061                              l.touchObject.swipeLength > 4 &&
20062                              ((l.swiping = !0), i.preventDefault()),
20063                          (s =
20064                              (!1 === l.options.rtl ? 1 : -1) *
20065                              (l.touchObject.curX > l.touchObject.startX
20066                                  ? 1
20067                                  : -1)),
20068                          !0 === l.options.verticalSwiping &&
20069                              (s =
20070                                  l.touchObject.curY > l.touchObject.startY
20071                                      ? 1
20072                                      : -1),
20073                          (o = l.touchObject.swipeLength),
20074                          (l.touchObject.edgeHit = !1),
20075                          !1 === l.options.infinite &&
20076                              ((0 === l.currentSlide && 'right' === t) ||
20077                                  (l.currentSlide >= l.getDotCount() &&
20078                                      'left' === t)) &&
20079                              ((o =
20080                                  l.touchObject.swipeLength *
20081                                  l.options.edgeFriction),
20082                              (l.touchObject.edgeHit = !0)),
20083                          !1 === l.options.vertical
20084                              ? (l.swipeLeft = e + o * s)
20085                              : (l.swipeLeft =
20086                                    e +
20087                                    o * (l.$list.height() / l.listWidth) * s),
20088                          !0 === l.options.verticalSwiping &&
20089                              (l.swipeLeft = e + o * s),
20090                          !0 !== l.options.fade &&
20091                              !1 !== l.options.touchMove &&
20092                              (!0 === l.animating
20093                                  ? ((l.swipeLeft = null), !1)
20094                                  : void l.setCSS(l.swipeLeft))))
20095            );
20096        }),
20097        (e.prototype.swipeStart = function (i) {
20098            var e,
20099                t = this;
20100            if (
20101                ((t.interrupted = !0),
20102                1 !== t.touchObject.fingerCount ||
20103                    t.slideCount <= t.options.slidesToShow)
20104            )
20105                return (t.touchObject = {}), !1;
20106            void 0 !== i.originalEvent &&
20107                void 0 !== i.originalEvent.touches &&
20108                (e = i.originalEvent.touches[0]),
20109                (t.touchObject.startX = t.touchObject.curX =
20110                    void 0 !== e ? e.pageX : i.clientX),
20111                (t.touchObject.startY = t.touchObject.curY =
20112                    void 0 !== e ? e.pageY : i.clientY),
20113                (t.dragging = !0);
20114        }),
20115        (e.prototype.unfilterSlides = e.prototype.slickUnfilter =
20116            function () {
20117                var i = this;
20118                null !== i.$slidesCache &&
20119                    (i.unload(),
20120                    i.$slideTrack.children(this.options.slide).detach(),
20121                    i.$slidesCache.appendTo(i.$slideTrack),
20122                    i.reinit());
20123            }),
20124        (e.prototype.unload = function () {
20125            var e = this;
20126            i('.slick-cloned', e.$slider).remove(),
20127                e.$dots && e.$dots.remove(),
20128                e.$prevArrow &&
20129                    e.htmlExpr.test(e.options.prevArrow) &&
20130                    e.$prevArrow.remove(),
20131                e.$nextArrow &&
20132                    e.htmlExpr.test(e.options.nextArrow) &&
20133                    e.$nextArrow.remove(),
20134                e.$slides
20135                    .removeClass(
20136                        'slick-slide slick-active slick-visible slick-current'
20137                    )
20138                    .attr('aria-hidden', 'true')
20139                    .css('width', '');
20140        }),
20141        (e.prototype.unslick = function (i) {
20142            var e = this;
20143            e.$slider.trigger('unslick', [e, i]), e.destroy();
20144        }),
20145        (e.prototype.updateArrows = function () {
20146            var i = this;
20147            Math.floor(i.options.slidesToShow / 2),
20148                !0 === i.options.arrows &&
20149                    i.slideCount > i.options.slidesToShow &&
20150                    !i.options.infinite &&
20151                    (i.$prevArrow
20152                        .removeClass('slick-disabled')
20153                        .attr('aria-disabled', 'false'),
20154                    i.$nextArrow
20155                        .removeClass('slick-disabled')
20156                        .attr('aria-disabled', 'false'),
20157                    0 === i.currentSlide
20158                        ? (i.$prevArrow
20159                              .addClass('slick-disabled')
20160                              .attr('aria-disabled', 'true'),
20161                          i.$nextArrow
20162                              .removeClass('slick-disabled')
20163                              .attr('aria-disabled', 'false'))
20164                        : i.currentSlide >=
20165                              i.slideCount - i.options.slidesToShow &&
20166                          !1 === i.options.centerMode
20167                        ? (i.$nextArrow
20168                              .addClass('slick-disabled')
20169                              .attr('aria-disabled', 'true'),
20170                          i.$prevArrow
20171                              .removeClass('slick-disabled')
20172                              .attr('aria-disabled', 'false'))
20173                        : i.currentSlide >= i.slideCount - 1 &&
20174                          !0 === i.options.centerMode &&
20175                          (i.$nextArrow
20176                              .addClass('slick-disabled')
20177                              .attr('aria-disabled', 'true'),
20178                          i.$prevArrow
20179                              .removeClass('slick-disabled')
20180                              .attr('aria-disabled', 'false')));
20181        }),
20182        (e.prototype.updateDots = function () {
20183            var i = this;
20184            null !== i.$dots &&
20185                (i.$dots.find('li').removeClass('slick-active').end(),
20186                i.$dots
20187                    .find('li')
20188                    .eq(Math.floor(i.currentSlide / i.options.slidesToScroll))
20189                    .addClass('slick-active'));
20190        }),
20191        (e.prototype.visibility = function () {
20192            var i = this;
20193            i.options.autoplay &&
20194                (document[i.hidden]
20195                    ? (i.interrupted = !0)
20196                    : (i.interrupted = !1));
20197        }),
20198        (i.fn.slick = function () {
20199            var i,
20200                t,
20201                o = this,
20202                s = arguments[0],
20203                n = Array.prototype.slice.call(arguments, 1),
20204                r = o.length;
20205            for (i = 0; i < r; i++)
20206                if (
20207                    ('object' == typeof s || void 0 === s
20208                        ? (o[i].slick = new e(o[i], s))
20209                        : (t = o[i].slick[s].apply(o[i].slick, n)),
20210                    void 0 !== t)
20211                )
20212                    return t;
20213            return o;
20214        });
20215});

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.