PageSourceSearch

https://www.lindahall.org/scripts/discovery-showcase.bundled.js

js lindahall.org collected 2026-10-01 10:16:09 UTC 303,335 bytes, 9,104 lines download raw bytes

1/**
2 * @license
3 * Copyright 2019 Google LLC
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6const e = window,
7  t =
8    e.ShadowRoot &&
9    (void 0 === e.ShadyCSS || e.ShadyCSS.nativeShadow) &&
10    "adoptedStyleSheets" in Document.prototype &&
11    "replace" in CSSStyleSheet.prototype,
12  i = Symbol(),
13  s = new WeakMap();
14class n {
15  constructor(e, t, s) {
16    if (((this._$cssResult$ = !0), s !== i))
17      throw Error(
18        "CSSResult is not constructable. Use `unsafeCSS` or `css` instead."
19      );
20    (this.cssText = e), (this.t = t);
21  }
22  get styleSheet() {
23    let e = this.o;
24    const i = this.t;
25    if (t && void 0 === e) {
26      const t = void 0 !== i && 1 === i.length;
27      t && (e = s.get(i)),
28        void 0 === e &&
29          ((this.o = e = new CSSStyleSheet()).replaceSync(this.cssText),
30          t && s.set(i, e));
31    }
32    return e;
33  }
34  toString() {
35    return this.cssText;
36  }
37}
38const r = t
39  ? (e) => e
40  : (e) =>
41      e instanceof CSSStyleSheet
42        ? ((e) => {
43            let t = "";
44            for (const i of e.cssRules) t += i.cssText;
45            return ((e) => new n("string" == typeof e ? e : e + "", void 0, i))(
46              t
47            );
48          })(e)
49        : e;
50/**
51 * @license
52 * Copyright 2017 Google LLC
53 * SPDX-License-Identifier: BSD-3-Clause
54 */ var o;
55const a = window,
56  l = a.trustedTypes,
57  c = l ? l.emptyScript : "",
58  d = a.reactiveElementPolyfillSupport,
59  p = {
60    toAttribute(e, t) {
61      switch (t) {
62        case Boolean:
63          e = e ? c : null;
64          break;
65        case Object:
66        case Array:
67          e = null == e ? e : JSON.stringify(e);
68      }
69      return e;
70    },
71    fromAttribute(e, t) {
72      let i = e;
73      switch (t) {
74        case Boolean:
75          i = null !== e;
76          break;
77        case Number:
78          i = null === e ? null : Number(e);
79          break;
80        case Object:
81        case Array:
82          try {
83            i = JSON.parse(e);
84          } catch (e) {
85            i = null;
86          }
87      }
88      return i;
89    },
90  },
91  u = (e, t) => t !== e && (t == t || e == e),
92  h = { attribute: !0, type: String, converter: p, reflect: !1, hasChanged: u };
93class f extends HTMLElement {
94  constructor() {
95    super(),
96      (this._$Ei = new Map()),
97      (this.isUpdatePending = !1),
98      (this.hasUpdated = !1),
99      (this._$El = null),
100      this.u();
101  }
102  static addInitializer(e) {
103    var t;
104    this.finalize(),
105      (null !== (t = this.h) && void 0 !== t ? t : (this.h = [])).push(e);
106  }
107  static get observedAttributes() {
108    this.finalize();
109    const e = [];
110    return (
111      this.elementProperties.forEach((t, i) => {
112        const s = this._$Ep(i, t);
113        void 0 !== s && (this._$Ev.set(s, i), e.push(s));
114      }),
115      e
116    );
117  }
118  static createProperty(e, t = h) {
119    if (
120      (t.state && (t.attribute = !1),
121      this.finalize(),
122      this.elementProperties.set(e, t),
123      !t.noAccessor && !this.prototype.hasOwnProperty(e))
124    ) {
125      const i = "symbol" == typeof e ? Symbol() : "__" + e,
126        s = this.getPropertyDescriptor(e, i, t);
127      void 0 !== s && Object.defineProperty(this.prototype, e, s);
128    }
129  }
130  static getPropertyDescriptor(e, t, i) {
131    return {
132      get() {
133        return this[t];
134      },
135      set(s) {
136        const n = this[e];
137        (this[t] = s), this.requestUpdate(e, n, i);
138      },
139      configurable: !0,
140      enumerable: !0,
141    };
142  }
143  static getPropertyOptions(e) {
144    return this.elementProperties.get(e) || h;
145  }
146  static finalize() {
147    if (this.hasOwnProperty("finalized")) return !1;
148    this.finalized = !0;
149    const e = Object.getPrototypeOf(this);
150    if (
151      (e.finalize(),
152      void 0 !== e.h && (this.h = [...e.h]),
153      (this.elementProperties = new Map(e.elementProperties)),
154      (this._$Ev = new Map()),
155      this.hasOwnProperty("properties"))
156    ) {
157      const e = this.properties,
158        t = [
159          ...Object.getOwnPropertyNames(e),
160          ...Object.getOwnPropertySymbols(e),
161        ];
162      for (const i of t) this.createProperty(i, e[i]);
163    }
164    return (this.elementStyles = this.finalizeStyles(this.styles)), !0;
165  }
166  static finalizeStyles(e) {
167    const t = [];
168    if (Array.isArray(e)) {
169      const i = new Set(e.flat(1 / 0).reverse());
170      for (const e of i) t.unshift(r(e));
171    } else void 0 !== e && t.push(r(e));
172    return t;
173  }
174  static _$Ep(e, t) {
175    const i = t.attribute;
176    return !1 === i
177      ? void 0
178      : "string" == typeof i
179      ? i
180      : "string" == typeof e
181      ? e.toLowerCase()
182      : void 0;
183  }
184  u() {
185    var e;
186    (this._$E_ = new Promise((e) => (this.enableUpdating = e))),
187      (this._$AL = new Map()),
188      this._$Eg(),
189      this.requestUpdate(),
190      null === (e = this.constructor.h) ||
191        void 0 === e ||
192        e.forEach((e) => e(this));
193  }
194  addController(e) {
195    var t, i;
196    (null !== (t = this._$ES) && void 0 !== t ? t : (this._$ES = [])).push(e),
197      void 0 !== this.renderRoot &&
198        this.isConnected &&
199        (null === (i = e.hostConnected) || void 0 === i || i.call(e));
200  }
201  removeController(e) {
202    var t;
203    null === (t = this._$ES) ||
204      void 0 === t ||
205      t.splice(this._$ES.indexOf(e) >>> 0, 1);
206  }
207  _$Eg() {
208    this.constructor.elementProperties.forEach((e, t) => {
209      this.hasOwnProperty(t) && (this._$Ei.set(t, this[t]), delete this[t]);
210    });
211  }
212  createRenderRoot() {
213    var i;
214    const s =
215      null !== (i = this.shadowRoot) && void 0 !== i
216        ? i
217        : this.attachShadow(this.constructor.shadowRootOptions);
218    return (
219      ((i, s) => {
220        t
221          ? (i.adoptedStyleSheets = s.map((e) =>
222              e instanceof CSSStyleSheet ? e : e.styleSheet
223            ))
224          : s.forEach((t) => {
225              const s = document.createElement("style"),
226                n = e.litNonce;
227              void 0 !== n && s.setAttribute("nonce", n),
228                (s.textContent = t.cssText),
229                i.appendChild(s);
230            });
231      })(s, this.constructor.elementStyles),
232      s
233    );
234  }
235  connectedCallback() {
236    var e;
237    void 0 === this.renderRoot && (this.renderRoot = this.createRenderRoot()),
238      this.enableUpdating(!0),
239      null === (e = this._$ES) ||
240        void 0 === e ||
241        e.forEach((e) => {
242          var t;
243          return null === (t = e.hostConnected) || void 0 === t
244            ? void 0
245            : t.call(e);
246        });
247  }
248  enableUpdating(e) {}
249  disconnectedCallback() {
250    var e;
251    null === (e = this._$ES) ||
252      void 0 === e ||
253      e.forEach((e) => {
254        var t;
255        return null === (t = e.hostDisconnected) || void 0 === t
256          ? void 0
257          : t.call(e);
258      });
259  }
260  attributeChangedCallback(e, t, i) {
261    this._$AK(e, i);
262  }
263  _$EO(e, t, i = h) {
264    var s;
265    const n = this.constructor._$Ep(e, i);
266    if (void 0 !== n && !0 === i.reflect) {
267      const r = (
268        void 0 !==
269        (null === (s = i.converter) || void 0 === s ? void 0 : s.toAttribute)
270          ? i.converter
271          : p
272      ).toAttribute(t, i.type);
273      (this._$El = e),
274        null == r ? this.removeAttribute(n) : this.setAttribute(n, r),
275        (this._$El = null);
276    }
277  }
278  _$AK(e, t) {
279    var i;
280    const s = this.constructor,
281      n = s._$Ev.get(e);
282    if (void 0 !== n && this._$El !== n) {
283      const e = s.getPropertyOptions(n),
284        r =
285          "function" == typeof e.converter
286            ? { fromAttribute: e.converter }
287            : void 0 !==
288              (null === (i = e.converter) || void 0 === i
289                ? void 0
290                : i.fromAttribute)
291            ? e.converter
292            : p;
293      (this._$El = n),
294        (this[n] = r.fromAttribute(t, e.type)),
295        (this._$El = null);
296    }
297  }
298  requestUpdate(e, t, i) {
299    let s = !0;
300    void 0 !== e &&
301      (((i = i || this.constructor.getPropertyOptions(e)).hasChanged || u)(
302        this[e],
303        t
304      )
305        ? (this._$AL.has(e) || this._$AL.set(e, t),
306          !0 === i.reflect &&
307            this._$El !== e &&
308            (void 0 === this._$EC && (this._$EC = new Map()),
309            this._$EC.set(e, i)))
310        : (s = !1)),
311      !this.isUpdatePending && s && (this._$E_ = this._$Ej());
312  }
313  async _$Ej() {
314    this.isUpdatePending = !0;
315    try {
316      await this._$E_;
317    } catch (e) {
318      Promise.reject(e);
319    }
320    const e = this.scheduleUpdate();
321    return null != e && (await e), !this.isUpdatePending;
322  }
323  scheduleUpdate() {
324    return this.performUpdate();
325  }
326  performUpdate() {
327    var e;
328    if (!this.isUpdatePending) return;
329    this.hasUpdated,
330      this._$Ei &&
331        (this._$Ei.forEach((e, t) => (this[t] = e)), (this._$Ei = void 0));
332    let t = !1;
333    const i = this._$AL;
334    try {
335      (t = this.shouldUpdate(i)),
336        t
337          ? (this.willUpdate(i),
338            null === (e = this._$ES) ||
339              void 0 === e ||
340              e.forEach((e) => {
341                var t;
342                return null === (t = e.hostUpdate) || void 0 === t
343                  ? void 0
344                  : t.call(e);
345              }),
346            this.update(i))
347          : this._$Ek();
348    } catch (e) {
349      throw ((t = !1), this._$Ek(), e);
350    }
351    t && this._$AE(i);
352  }
353  willUpdate(e) {}
354  _$AE(e) {
355    var t;
356    null === (t = this._$ES) ||
357      void 0 === t ||
358      t.forEach((e) => {
359        var t;
360        return null === (t = e.hostUpdated) || void 0 === t
361          ? void 0
362          : t.call(e);
363      }),
364      this.hasUpdated || ((this.hasUpdated = !0), this.firstUpdated(e)),
365      this.updated(e);
366  }
367  _$Ek() {
368    (this._$AL = new Map()), (this.isUpdatePending = !1);
369  }
370  get updateComplete() {
371    return this.getUpdateComplete();
372  }
373  getUpdateComplete() {
374    return this._$E_;
375  }
376  shouldUpdate(e) {
377    return !0;
378  }
379  update(e) {
380    void 0 !== this._$EC &&
381      (this._$EC.forEach((e, t) => this._$EO(t, this[t], e)),
382      (this._$EC = void 0)),
383      this._$Ek();
384  }
385  updated(e) {}
386  firstUpdated(e) {}
387}
388/**
389 * @license
390 * Copyright 2017 Google LLC
391 * SPDX-License-Identifier: BSD-3-Clause
392 */
393var w;
394(f.finalized = !0),
395  (f.elementProperties = new Map()),
396  (f.elementStyles = []),
397  (f.shadowRootOptions = { mode: "open" }),
398  null == d || d({ ReactiveElement: f }),
399  (null !== (o = a.reactiveElementVersions) && void 0 !== o
400    ? o
401    : (a.reactiveElementVersions = [])
402  ).push("1.6.1");
403const v = window,
404  g = v.trustedTypes,
405  b = g ? g.createPolicy("lit-html", { createHTML: (e) => e }) : void 0,
406  m = `lit$${(Math.random() + "").slice(9)}$`,
407  x = "?" + m,
408  A = `<${x}>`,
409  y = document,
410  M = (e = "") => y.createComment(e),
411  $ = (e) => null === e || ("object" != typeof e && "function" != typeof e),
412  S = Array.isArray,
413  E = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,
414  k = /-->/g,
415  T = />/g,
416  C = RegExp(
417    ">|[ \t\n\f\r](?:([^\\s\"'>=/]+)([ \t\n\f\r]*=[ \t\n\f\r]*(?:[^ \t\n\f\r\"'`<>=]|(\"|')|))|$)",
418    "g"
419  ),
420  z = /'/g,
421  P = /"/g,
422  O = /^(?:script|style|textarea|title)$/i,
423  j = (
424    (e) =>
425    (t, ...i) => ({ _$litType$: e, strings: t, values: i })
426  )(1),
427  B = Symbol.for("lit-noChange"),
428  I = Symbol.for("lit-nothing"),
429  L = new WeakMap(),
430  _ = y.createTreeWalker(y, 129, null, !1),
431  G = (e, t) => {
432    const i = e.length - 1,
433      s = [];
434    let n,
435      r = 2 === t ? "<svg>" : "",
436      o = E;
437    for (let t = 0; t < i; t++) {
438      const i = e[t];
439      let a,
440        l,
441        c = -1,
442        d = 0;
443      for (; d < i.length && ((o.lastIndex = d), (l = o.exec(i)), null !== l); )
444        (d = o.lastIndex),
445          o === E
446            ? "!--" === l[1]
447              ? (o = k)
448              : void 0 !== l[1]
449              ? (o = T)
450              : void 0 !== l[2]
451              ? (O.test(l[2]) && (n = RegExp("</" + l[2], "g")), (o = C))
452              : void 0 !== l[3] && (o = C)
453            : o === C
454            ? ">" === l[0]
455              ? ((o = null != n ? n : E), (c = -1))
456              : void 0 === l[1]
457              ? (c = -2)
458              : ((c = o.lastIndex - l[2].length),
459                (a = l[1]),
460                (o = void 0 === l[3] ? C : '"' === l[3] ? P : z))
461            : o === P || o === z
462            ? (o = C)
463            : o === k || o === T
464            ? (o = E)
465            : ((o = C), (n = void 0));
466      const p = o === C && e[t + 1].startsWith("/>") ? " " : "";
467      r +=
468        o === E
469          ? i + A
470          : c >= 0
471          ? (s.push(a), i.slice(0, c) + "$lit$" + i.slice(c) + m + p)
472          : i + m + (-2 === c ? (s.push(void 0), t) : p);
473    }
474    const a = r + (e[i] || "<?>") + (2 === t ? "</svg>" : "");
475    if (!Array.isArray(e) || !e.hasOwnProperty("raw"))
476      throw Error("invalid template strings array");
477    return [void 0 !== b ? b.createHTML(a) : a, s];
478  };
479class R {
480  constructor({ strings: e, _$litType$: t }, i) {
481    let s;
482    this.parts = [];
483    let n = 0,
484      r = 0;
485    const o = e.length - 1,
486      a = this.parts,
487      [l, c] = G(e, t);
488    if (
489      ((this.el = R.createElement(l, i)),
490      (_.currentNode = this.el.content),
491      2 === t)
492    ) {
493      const e = this.el.content,
494        t = e.firstChild;
495      t.remove(), e.append(...t.childNodes);
496    }
497    for (; null !== (s = _.nextNode()) && a.length < o; ) {
498      if (1 === s.nodeType) {
499        if (s.hasAttributes()) {
500          const e = [];
501          for (const t of s.getAttributeNames())
502            if (t.endsWith("$lit$") || t.startsWith(m)) {
503              const i = c[r++];
504              if ((e.push(t), void 0 !== i)) {
505                const e = s.getAttribute(i.toLowerCase() + "$lit$").split(m),
506                  t = /([.?@])?(.*)/.exec(i);
507                a.push({
508                  type: 1,
509                  index: n,
510                  name: t[2],
511                  strings: e,
512                  ctor:
513                    "." === t[1] ? U : "?" === t[1] ? H : "@" === t[1] ? Q : N,
514                });
515              } else a.push({ type: 6, index: n });
516            }
517          for (const t of e) s.removeAttribute(t);
518        }
519        if (O.test(s.tagName)) {
520          const e = s.textContent.split(m),
521            t = e.length - 1;
522          if (t > 0) {
523            s.textContent = g ? g.emptyScript : "";
524            for (let i = 0; i < t; i++)
525              s.append(e[i], M()),
526                _.nextNode(),
527                a.push({ type: 2, index: ++n });
528            s.append(e[t], M());
529          }
530        }
531      } else if (8 === s.nodeType)
532        if (s.data === x) a.push({ type: 2, index: n });
533        else {
534          let e = -1;
535          for (; -1 !== (e = s.data.indexOf(m, e + 1)); )
536            a.push({ type: 7, index: n }), (e += m.length - 1);
537        }
538      n++;
539    }
540  }
541  static createElement(e, t) {
542    const i = y.createElement("template");
543    return (i.innerHTML = e), i;
544  }
545}
546function D(e, t, i = e, s) {
547  var n, r, o, a;
548  if (t === B) return t;
549  let l =
550    void 0 !== s
551      ? null === (n = i._$Co) || void 0 === n
552        ? void 0
553        : n[s]
554      : i._$Cl;
555  const c = $(t) ? void 0 : t._$litDirective$;
556  return (
557    (null == l ? void 0 : l.constructor) !== c &&
558      (null === (r = null == l ? void 0 : l._$AO) ||
559        void 0 === r ||
560        r.call(l, !1),
561      void 0 === c ? (l = void 0) : ((l = new c(e)), l._$AT(e, i, s)),
562      void 0 !== s
563        ? ((null !== (o = (a = i)._$Co) && void 0 !== o ? o : (a._$Co = []))[
564            s
565          ] = l)
566        : (i._$Cl = l)),
567    void 0 !== l && (t = D(e, l._$AS(e, t.values), l, s)),
568    t
569  );
570}
571class F {
572  constructor(e, t) {
573    (this.u = []), (this._$AN = void 0), (this._$AD = e), (this._$AM = t);
574  }
575  get parentNode() {
576    return this._$AM.parentNode;
577  }
578  get _$AU() {
579    return this._$AM._$AU;
580  }
581  v(e) {
582    var t;
583    const {
584        el: { content: i },
585        parts: s,
586      } = this._$AD,
587      n = (
588        null !== (t = null == e ? void 0 : e.creationScope) && void 0 !== t
589          ? t
590          : y
591      ).importNode(i, !0);
592    _.currentNode = n;
593    let r = _.nextNode(),
594      o = 0,
595      a = 0,
596      l = s[0];
597    for (; void 0 !== l; ) {
598      if (o === l.index) {
599        let t;
600        2 === l.type
601          ? (t = new Y(r, r.nextSibling, this, e))
602          : 1 === l.type
603          ? (t = new l.ctor(r, l.name, l.strings, this, e))
604          : 6 === l.type && (t = new X(r, this, e)),
605          this.u.push(t),
606          (l = s[++a]);
607      }
608      o !== (null == l ? void 0 : l.index) && ((r = _.nextNode()), o++);
609    }
610    return n;
611  }
612  p(e) {
613    let t = 0;
614    for (const i of this.u)
615      void 0 !== i &&
616        (void 0 !== i.strings
617          ? (i._$AI(e, i, t), (t += i.strings.length - 2))
618          : i._$AI(e[t])),
619        t++;
620  }
621}
622class Y {
623  constructor(e, t, i, s) {
624    var n;
625    (this.type = 2),
626      (this._$AH = I),
627      (this._$AN = void 0),
628      (this._$AA = e),
629      (this._$AB = t),
630      (this._$AM = i),
631      (this.options = s),
632      (this._$Cm =
633        null === (n = null == s ? void 0 : s.isConnected) || void 0 === n || n);
634  }
635  get _$AU() {
636    var e, t;
637    return null !==
638      (t = null === (e = this._$AM) || void 0 === e ? void 0 : e._$AU) &&
639      void 0 !== t
640      ? t
641      : this._$Cm;
642  }
643  get parentNode() {
644    let e = this._$AA.parentNode;
645    const t = this._$AM;
646    return void 0 !== t && 11 === e.nodeType && (e = t.parentNode), e;
647  }
648  get startNode() {
649    return this._$AA;
650  }
651  get endNode() {
652    return this._$AB;
653  }
654  _$AI(e, t = this) {
655    (e = D(this, e, t)),
656      $(e)
657        ? e === I || null == e || "" === e
658          ? (this._$AH !== I && this._$AR(), (this._$AH = I))
659          : e !== this._$AH && e !== B && this.g(e)
660        : void 0 !== e._$litType$
661        ? this.$(e)
662        : void 0 !== e.nodeType
663        ? this.T(e)
664        : ((e) =>
665            S(e) ||
666            "function" == typeof (null == e ? void 0 : e[Symbol.iterator]))(e)
667        ? this.k(e)
668        : this.g(e);
669  }
670  O(e, t = this._$AB) {
671    return this._$AA.parentNode.insertBefore(e, t);
672  }
673  T(e) {
674    this._$AH !== e && (this._$AR(), (this._$AH = this.O(e)));
675  }
676  g(e) {
677    this._$AH !== I && $(this._$AH)
678      ? (this._$AA.nextSibling.data = e)
679      : this.T(y.createTextNode(e)),
680      (this._$AH = e);
681  }
682  $(e) {
683    var t;
684    const { values: i, _$litType$: s } = e,
685      n =
686        "number" == typeof s
687          ? this._$AC(e)
688          : (void 0 === s.el && (s.el = R.createElement(s.h, this.options)), s);
689    if ((null === (t = this._$AH) || void 0 === t ? void 0 : t._$AD) === n)
690      this._$AH.p(i);
691    else {
692      const e = new F(n, this),
693        t = e.v(this.options);
694      e.p(i), this.T(t), (this._$AH = e);
695    }
696  }
697  _$AC(e) {
698    let t = L.get(e.strings);
699    return void 0 === t && L.set(e.strings, (t = new R(e))), t;
700  }
701  k(e) {
702    S(this._$AH) || ((this._$AH = []), this._$AR());
703    const t = this._$AH;
704    let i,
705      s = 0;
706    for (const n of e)
707      s === t.length
708        ? t.push((i = new Y(this.O(M()), this.O(M()), this, this.options)))
709        : (i = t[s]),
710        i._$AI(n),
711        s++;
712    s < t.length && (this._$AR(i && i._$AB.nextSibling, s), (t.length = s));
713  }
714  _$AR(e = this._$AA.nextSibling, t) {
715    var i;
716    for (
717      null === (i = this._$AP) || void 0 === i || i.call(this, !1, !0, t);
718      e && e !== this._$AB;
719
720    ) {
721      const t = e.nextSibling;
722      e.remove(), (e = t);
723    }
724  }
725  setConnected(e) {
726    var t;
727    void 0 === this._$AM &&
728      ((this._$Cm = e),
729      null === (t = this._$AP) || void 0 === t || t.call(this, e));
730  }
731}
732class N {
733  constructor(e, t, i, s, n) {
734    (this.type = 1),
735      (this._$AH = I),
736      (this._$AN = void 0),
737      (this.element = e),
738      (this.name = t),
739      (this._$AM = s),
740      (this.options = n),
741      i.length > 2 || "" !== i[0] || "" !== i[1]
742        ? ((this._$AH = Array(i.length - 1).fill(new String())),
743          (this.strings = i))
744        : (this._$AH = I);
745  }
746  get tagName() {
747    return this.element.tagName;
748  }
749  get _$AU() {
750    return this._$AM._$AU;
751  }
752  _$AI(e, t = this, i, s) {
753    const n = this.strings;
754    let r = !1;
755    if (void 0 === n)
756      (e = D(this, e, t, 0)),
757        (r = !$(e) || (e !== this._$AH && e !== B)),
758        r && (this._$AH = e);
759    else {
760      const s = e;
761      let o, a;
762      for (e = n[0], o = 0; o < n.length - 1; o++)
763        (a = D(this, s[i + o], t, o)),
764          a === B && (a = this._$AH[o]),
765          r || (r = !$(a) || a !== this._$AH[o]),
766          a === I ? (e = I) : e !== I && (e += (null != a ? a : "") + n[o + 1]),
767          (this._$AH[o] = a);
768    }
769    r && !s && this.j(e);
770  }
771  j(e) {
772    e === I
773      ? this.element.removeAttribute(this.name)
774      : this.element.setAttribute(this.name, null != e ? e : "");
775  }
776}
777class U extends N {
778  constructor() {
779    super(...arguments), (this.type = 3);
780  }
781  j(e) {
782    this.element[this.name] = e === I ? void 0 : e;
783  }
784}
785const V = g ? g.emptyScript : "";
786class H extends N {
787  constructor() {
788    super(...arguments), (this.type = 4);
789  }
790  j(e) {
791    e && e !== I
792      ? this.element.setAttribute(this.name, V)
793      : this.element.removeAttribute(this.name);
794  }
795}
796class Q extends N {
797  constructor(e, t, i, s, n) {
798    super(e, t, i, s, n), (this.type = 5);
799  }
800  _$AI(e, t = this) {
801    var i;
802    if ((e = null !== (i = D(this, e, t, 0)) && void 0 !== i ? i : I) === B)
803      return;
804    const s = this._$AH,
805      n =
806        (e === I && s !== I) ||
807        e.capture !== s.capture ||
808        e.once !== s.once ||
809        e.passive !== s.passive,
810      r = e !== I && (s === I || n);
811    n && this.element.removeEventListener(this.name, this, s),
812      r && this.element.addEventListener(this.name, this, e),
813      (this._$AH = e);
814  }
815  handleEvent(e) {
816    var t, i;
817    "function" == typeof this._$AH
818      ? this._$AH.call(
819          null !==
820            (i =
821              null === (t = this.options) || void 0 === t ? void 0 : t.host) &&
822            void 0 !== i
823            ? i
824            : this.element,
825          e
826        )
827      : this._$AH.handleEvent(e);
828  }
829}
830class X {
831  constructor(e, t, i) {
832    (this.element = e),
833      (this.type = 6),
834      (this._$AN = void 0),
835      (this._$AM = t),
836      (this.options = i);
837  }
838  get _$AU() {
839    return this._$AM._$AU;
840  }
841  _$AI(e) {
842    D(this, e);
843  }
844}
845const Z = v.litHtmlPolyfillSupport;
846null == Z || Z(R, Y),
847  (null !== (w = v.litHtmlVersions) && void 0 !== w
848    ? w
849    : (v.litHtmlVersions = [])
850  ).push("2.6.1");
851/**
852 * @license
853 * Copyright 2017 Google LLC
854 * SPDX-License-Identifier: BSD-3-Clause
855 */
856var W, q;
857class K extends f {
858  constructor() {
859    super(...arguments),
860      (this.renderOptions = { host: this }),
861      (this._$Do = void 0);
862  }
863  createRenderRoot() {
864    var e, t;
865    const i = super.createRenderRoot();
866    return (
867      (null !== (e = (t = this.renderOptions).renderBefore) && void 0 !== e) ||
868        (t.renderBefore = i.firstChild),
869      i
870    );
871  }
872  update(e) {
873    const t = this.render();
874    this.hasUpdated || (this.renderOptions.isConnected = this.isConnected),
875      super.update(e),
876      (this._$Do = ((e, t, i) => {
877        var s, n;
878        const r =
879          null !== (s = null == i ? void 0 : i.renderBefore) && void 0 !== s
880            ? s
881            : t;
882        let o = r._$litPart$;
883        if (void 0 === o) {
884          const e =
885            null !== (n = null == i ? void 0 : i.renderBefore) && void 0 !== n
886              ? n
887              : null;
888          r._$litPart$ = o = new Y(
889            t.insertBefore(M(), e),
890            e,
891            void 0,
892            null != i ? i : {}
893          );
894        }
895        return o._$AI(e), o;
896      })(t, this.renderRoot, this.renderOptions));
897  }
898  connectedCallback() {
899    var e;
900    super.connectedCallback(),
901      null === (e = this._$Do) || void 0 === e || e.setConnected(!0);
902  }
903  disconnectedCallback() {
904    var e;
905    super.disconnectedCallback(),
906      null === (e = this._$Do) || void 0 === e || e.setConnected(!1);
907  }
908  render() {
909    return B;
910  }
911}
912(K.finalized = !0),
913  (K._$litElement$ = !0),
914  null === (W = globalThis.litElementHydrateSupport) ||
915    void 0 === W ||
916    W.call(globalThis, { LitElement: K });
917const J = globalThis.litElementPolyfillSupport;
918null == J || J({ LitElement: K }),
919  (null !== (q = globalThis.litElementVersions) && void 0 !== q
920    ? q
921    : (globalThis.litElementVersions = [])
922  ).push("3.2.2");
923/**
924 * @license
925 * Copyright 2020 Google LLC
926 * SPDX-License-Identifier: BSD-3-Clause
927 */
928const ee = 2;
929/**
930 * @license
931 * Copyright 2017 Google LLC
932 * SPDX-License-Identifier: BSD-3-Clause
933 */ class te {
934  constructor(e) {}
935  get _$AU() {
936    return this._$AM._$AU;
937  }
938  _$AT(e, t, i) {
939    (this._$Ct = e), (this._$AM = t), (this._$Ci = i);
940  }
941  _$AS(e, t) {
942    return this.update(e, t);
943  }
944  update(e, t) {
945    return this.render(...t);
946  }
947}
948/**
949 * @license
950 * Copyright 2017 Google LLC
951 * SPDX-License-Identifier: BSD-3-Clause
952 */ const ie = (e, t) => {
953    var i, s;
954    const n = e._$AN;
955    if (void 0 === n) return !1;
956    for (const e of n)
957      null === (s = (i = e)._$AO) || void 0 === s || s.call(i, t, !1), ie(e, t);
958    return !0;
959  },
960  se = (e) => {
961    let t, i;
962    do {
963      if (void 0 === (t = e._$AM)) break;
964      (i = t._$AN), i.delete(e), (e = t);
965    } while (0 === (null == i ? void 0 : i.size));
966  },
967  ne = (e) => {
968    for (let t; (t = e._$AM); e = t) {
969      let i = t._$AN;
970      if (void 0 === i) t._$AN = i = new Set();
971      else if (i.has(e)) break;
972      i.add(e), ae(t);
973    }
974  };
975function re(e) {
976  void 0 !== this._$AN
977    ? (se(this), (this._$AM = e), ne(this))
978    : (this._$AM = e);
979}
980function oe(e, t = !1, i = 0) {
981  const s = this._$AH,
982    n = this._$AN;
983  if (void 0 !== n && 0 !== n.size)
984    if (t)
985      if (Array.isArray(s))
986        for (let e = i; e < s.length; e++) ie(s[e], !1), se(s[e]);
987      else null != s && (ie(s, !1), se(s));
988    else ie(this, e);
989}
990const ae = (e) => {
991  var t, i, s, n;
992  e.type == ee &&
993    ((null !== (t = (s = e)._$AP) && void 0 !== t) || (s._$AP = oe),
994    (null !== (i = (n = e)._$AQ) && void 0 !== i) || (n._$AQ = re));
995};
996class le extends te {
997  constructor() {
998    super(...arguments), (this._$AN = void 0);
999  }
1000  _$AT(e, t, i) {
1001    super._$AT(e, t, i), ne(this), (this.isConnected = e._$AU);
1002  }
1003  _$AO(e, t = !0) {
1004    var i, s;
1005    e !== this.isConnected &&
1006      ((this.isConnected = e),
1007      e
1008        ? null === (i = this.reconnected) || void 0 === i || i.call(this)
1009        : null === (s = this.disconnected) || void 0 === s || s.call(this)),
1010      t && (ie(this, e), se(this));
1011  }
1012  setValue(e) {
1013    if (((e) => void 0 === e.strings)(this._$Ct)) this._$Ct._$AI(e, this);
1014    else {
1015      const t = [...this._$Ct._$AH];
1016      (t[this._$Ci] = e), this._$Ct._$AI(t, this, 0);
1017    }
1018  }
1019  disconnected() {}
1020  reconnected() {}
1021}
1022/**
1023 * @license
1024 * Copyright 2021 Google LLC
1025 * SPDX-License-Identifier: BSD-3-Clause
1026 */ class ce {
1027  constructor(e) {
1028    this.Y = e;
1029  }
1030  disconnect() {
1031    this.Y = void 0;
1032  }
1033  reconnect(e) {
1034    this.Y = e;
1035  }
1036  deref() {
1037    return this.Y;
1038  }
1039}
1040class de {
1041  constructor() {
1042    (this.Z = void 0), (this.q = void 0);
1043  }
1044  get() {
1045    return this.Z;
1046  }
1047  pause() {
1048    var e;
1049    (null !== (e = this.Z) && void 0 !== e) ||
1050      (this.Z = new Promise((e) => (this.q = e)));
1051  }
1052  resume() {
1053    var e;
1054    null === (e = this.q) || void 0 === e || e.call(this),
1055      (this.Z = this.q = void 0);
1056  }
1057}
1058/**
1059 * @license
1060 * Copyright 2017 Google LLC
1061 * SPDX-License-Identifier: BSD-3-Clause
1062 */ const pe = (e) =>
1063  !((e) => null === e || ("object" != typeof e && "function" != typeof e))(e) &&
1064  "function" == typeof e.then;
1065const ue = (
1066    (e) =>
1067    (...t) => ({ _$litDirective$: e, values: t })
1068  )(
1069    class extends le {
1070      constructor() {
1071        super(...arguments),
1072          (this._$Cwt = 1073741823),
1073          (this._$Cyt = []),
1074          (this._$CK = new ce(this)),
1075          (this._$CX = new de());
1076      }
1077      render(...e) {
1078        var t;
1079        return null !== (t = e.find((e) => !pe(e))) && void 0 !== t ? t : B;
1080      }
1081      update(e, t) {
1082        const i = this._$Cyt;
1083        let s = i.length;
1084        this._$Cyt = t;
1085        const n = this._$CK,
1086          r = this._$CX;
1087        this.isConnected || this.disconnected();
1088        for (let e = 0; e < t.length && !(e > this._$Cwt); e++) {
1089          const o = t[e];
1090          if (!pe(o)) return (this._$Cwt = e), o;
1091          (e < s && o === i[e]) ||
1092            ((this._$Cwt = 1073741823),
1093            (s = 0),
1094            Promise.resolve(o).then(async (e) => {
1095              for (; r.get(); ) await r.get();
1096              const t = n.deref();
1097              if (void 0 !== t) {
1098                const i = t._$Cyt.indexOf(o);
1099                i > -1 && i < t._$Cwt && ((t._$Cwt = i), t.setValue(e));
1100              }
1101            }));
1102        }
1103        return B;
1104      }
1105      disconnected() {
1106        this._$CK.disconnect(), this._$CX.pause();
1107      }
1108      reconnected() {
1109        this._$CK.reconnect(this), this._$CX.resume();
1110      }
1111    }
1112  ),
1113  he = (e) => (t) =>
1114    "function" == typeof t
1115      ? ((e, t) => (customElements.define(e, t), t))(e, t)
1116      : ((e, t) => {
1117          const { kind: i, elements: s } = t;
1118          return {
1119            kind: i,
1120            elements: s,
1121            finisher(t) {
1122              customElements.define(e, t);
1123            },
1124          };
1125        })(e, t),
1126  /**
1127   * @license
1128   * Copyright 2017 Google LLC
1129   * SPDX-License-Identifier: BSD-3-Clause
1130   */ fe = (e, t) =>
1131    "method" === t.kind && t.descriptor && !("value" in t.descriptor)
1132      ? {
1133          ...t,
1134          finisher(i) {
1135            i.createProperty(t.key, e);
1136          },
1137        }
1138      : {
1139          kind: "field",
1140          key: Symbol(),
1141          placement: "own",
1142          descriptor: {},
1143          originalKey: t.key,
1144          initializer() {
1145            "function" == typeof t.initializer &&
1146              (this[t.key] = t.initializer.call(this));
1147          },
1148          finisher(i) {
1149            i.createProperty(t.key, e);
1150          },
1151        };
1152/**
1153 * @license
1154 * Copyright 2017 Google LLC
1155 * SPDX-License-Identifier: BSD-3-Clause
1156 */ function we(e) {
1157  return (t, i) =>
1158    void 0 !== i
1159      ? ((e, t, i) => {
1160          t.constructor.createProperty(i, e);
1161        })(e, t, i)
1162      : fe(e, t);
1163  /**
1164   * @license
1165   * Copyright 2017 Google LLC
1166   * SPDX-License-Identifier: BSD-3-Clause
1167   */
1168}
1169/**
1170 * @license
1171 * Copyright 2021 Google LLC
1172 * SPDX-License-Identifier: BSD-3-Clause
1173 */
1174var ve;
1175function ge(e) {
1176  return (
1177    null !== e &&
1178    "object" == typeof e &&
1179    "constructor" in e &&
1180    e.constructor === Object
1181  );
1182}
1183function be(e = {}, t = {}) {
1184  Object.keys(t).forEach((i) => {
1185    void 0 === e[i]
1186      ? (e[i] = t[i])
1187      : ge(t[i]) && ge(e[i]) && Object.keys(t[i]).length > 0 && be(e[i], t[i]);
1188  });
1189}
1190null === (ve = window.HTMLSlotElement) ||
1191  void 0 === ve ||
1192  ve.prototype.assignedElements;
1193const me = {
1194  body: {},
1195  addEventListener() {},
1196  removeEventListener() {},
1197  activeElement: { blur() {}, nodeName: "" },
1198  querySelector: () => null,
1199  querySelectorAll: () => [],
1200  getElementById: () => null,
1201  createEvent: () => ({ initEvent() {} }),
1202  createElement: () => ({
1203    children: [],
1204    childNodes: [],
1205    style: {},
1206    setAttribute() {},
1207    getElementsByTagName: () => [],
1208  }),
1209  createElementNS: () => ({}),
1210  importNode: () => null,
1211  location: {
1212    hash: "",
1213    host: "",
1214    hostname: "",
1215    href: "",
1216    origin: "",
1217    pathname: "",
1218    protocol: "",
1219    search: "",
1220  },
1221};
1222function xe() {
1223  const e = "undefined" != typeof document ? document : {};
1224  return be(e, me), e;
1225}
1226const Ae = {
1227  document: me,
1228  navigator: { userAgent: "" },
1229  location: {
1230    hash: "",
1231    host: "",
1232    hostname: "",
1233    href: "",
1234    origin: "",
1235    pathname: "",
1236    protocol: "",
1237    search: "",
1238  },
1239  history: { replaceState() {}, pushState() {}, go() {}, back() {} },
1240  CustomEvent: function () {
1241    return this;
1242  },
1243  addEventListener() {},
1244  removeEventListener() {},
1245  getComputedStyle: () => ({ getPropertyValue: () => "" }),
1246  Image() {},
1247  Date() {},
1248  screen: {},
1249  setTimeout() {},
1250  clearTimeout() {},
1251  matchMedia: () => ({}),
1252  requestAnimationFrame: (e) =>
1253    "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0),
1254  cancelAnimationFrame(e) {
1255    "undefined" != typeof setTimeout && clearTimeout(e);
1256  },
1257};
1258function ye() {
1259  const e = "undefined" != typeof window ? window : {};
1260  return be(e, Ae), e;
1261}
1262function Me(e, t = 0) {
1263  return setTimeout(e, t);
1264}
1265function $e() {
1266  return Date.now();
1267}
1268function Se(e, t = "x") {
1269  const i = ye();
1270  let s, n, r;
1271  const o = (function (e) {
1272    const t = ye();
1273    let i;
1274    return (
1275      t.getComputedStyle && (i = t.getComputedStyle(e, null)),
1276      !i && e.currentStyle && (i = e.currentStyle),
1277      i || (i = e.style),
1278      i
1279    );
1280  })(e);
1281  return (
1282    i.WebKitCSSMatrix
1283      ? ((n = o.transform || o.webkitTransform),
1284        n.split(",").length > 6 &&
1285          (n = n
1286            .split(", ")
1287            .map((e) => e.replace(",", "."))
1288            .join(", ")),
1289        (r = new i.WebKitCSSMatrix("none" === n ? "" : n)))
1290      : ((r =
1291          o.MozTransform ||
1292          o.OTransform ||
1293          o.MsTransform ||
1294          o.msTransform ||
1295          o.transform ||
1296          o
1297            .getPropertyValue("transform")
1298            .replace("translate(", "matrix(1, 0, 0, 1,")),
1299        (s = r.toString().split(","))),
1300    "x" === t &&
1301      (n = i.WebKitCSSMatrix
1302        ? r.m41
1303        : 16 === s.length
1304        ? parseFloat(s[12])
1305        : parseFloat(s[4])),
1306    "y" === t &&
1307      (n = i.WebKitCSSMatrix
1308        ? r.m42
1309        : 16 === s.length
1310        ? parseFloat(s[13])
1311        : parseFloat(s[5])),
1312    n || 0
1313  );
1314}
1315function Ee(e) {
1316  return (
1317    "object" == typeof e &&
1318    null !== e &&
1319    e.constructor &&
1320    "Object" === Object.prototype.toString.call(e).slice(8, -1)
1321  );
1322}
1323function ke(...e) {
1324  const t = Object(e[0]),
1325    i = ["__proto__", "constructor", "prototype"];
1326  for (let n = 1; n < e.length; n += 1) {
1327    const r = e[n];
1328    if (
1329      null != r &&
1330      ((s = r),
1331      !("undefined" != typeof window && void 0 !== window.HTMLElement
1332        ? s instanceof HTMLElement
1333        : s && (1 === s.nodeType || 11 === s.nodeType)))
1334    ) {
1335      const e = Object.keys(Object(r)).filter((e) => i.indexOf(e) < 0);
1336      for (let i = 0, s = e.length; i < s; i += 1) {
1337        const s = e[i],
1338          n = Object.getOwnPropertyDescriptor(r, s);
1339        void 0 !== n &&
1340          n.enumerable &&
1341          (Ee(t[s]) && Ee(r[s])
1342            ? r[s].i
1343              ? (t[s] = r[s])
1344              : ke(t[s], r[s])
1345            : !Ee(t[s]) && Ee(r[s])
1346            ? ((t[s] = {}), r[s].i ? (t[s] = r[s]) : ke(t[s], r[s]))
1347            : (t[s] = r[s]));
1348      }
1349    }
1350  }
1351  var s;
1352  return t;
1353}
1354function Te(e, t, i) {
1355  e.style.setProperty(t, i);
1356}
1357function Ce({ swiper: e, targetPosition: t, side: i }) {
1358  const s = ye(),
1359    n = -e.translate;
1360  let r,
1361    o = null;
1362  const a = e.params.speed;
1363  (e.wrapperEl.style.scrollSnapType = "none"),
1364    s.cancelAnimationFrame(e.cssModeFrameID);
1365  const l = t > n ? "next" : "prev",
1366    c = (e, t) => ("next" === l && e >= t) || ("prev" === l && e <= t),
1367    d = () => {
1368      (r = new Date().getTime()), null === o && (o = r);
1369      const l = Math.max(Math.min((r - o) / a, 1), 0),
1370        p = 0.5 - Math.cos(l * Math.PI) / 2;
1371      let u = n + p * (t - n);
1372      if ((c(u, t) && (u = t), e.wrapperEl.scrollTo({ [i]: u }), c(u, t)))
1373        return (
1374          (e.wrapperEl.style.overflow = "hidden"),
1375          (e.wrapperEl.style.scrollSnapType = ""),
1376          setTimeout(() => {
1377            (e.wrapperEl.style.overflow = ""), e.wrapperEl.scrollTo({ [i]: u });
1378          }),
1379          void s.cancelAnimationFrame(e.cssModeFrameID)
1380        );
1381      e.cssModeFrameID = s.requestAnimationFrame(d);
1382    };
1383  d();
1384}
1385function ze(e) {
1386  return (
1387    e.querySelector(".swiper-slide-transform") ||
1388    (e.shadowEl && e.shadowEl.querySelector(".swiper-slide-transform")) ||
1389    e
1390  );
1391}
1392function Pe(e, t = "") {
1393  return [...e.children].filter((e) => e.matches(t));
1394}
1395function Oe(e, t = []) {
1396  const i = document.createElement(e);
1397  return i.classList.add(...(Array.isArray(t) ? t : [t])), i;
1398}
1399function je(e) {
1400  const t = ye(),
1401    i = xe(),
1402    s = e.getBoundingClientRect(),
1403    n = i.body,
1404    r = e.clientTop || n.clientTop || 0,
1405    o = e.clientLeft || n.clientLeft || 0,
1406    a = e === t ? t.scrollY : e.scrollTop,
1407    l = e === t ? t.scrollX : e.scrollLeft;
1408  return { top: s.top + a - r, left: s.left + l - o };
1409}
1410function Be(e, t) {
1411  return ye().getComputedStyle(e, null).getPropertyValue(t);
1412}
1413function Ie(e) {
1414  let t,
1415    i = e;
1416  if (i) {
1417    for (t = 0; null !== (i = i.previousSibling); )
1418      1 === i.nodeType && (t += 1);
1419    return t;
1420  }
1421}
1422function Le(e, t) {
1423  const i = [];
1424  let s = e.parentElement;
1425  for (; s; ) t ? s.matches(t) && i.push(s) : i.push(s), (s = s.parentElement);
1426  return i;
1427}
1428function _e(e, t) {
1429  t &&
1430    e.addEventListener("transitionend", function i(s) {
1431      s.target === e &&
1432        (t.call(e, s), e.removeEventListener("transitionend", i));
1433    });
1434}
1435function Ge(e, t, i) {
1436  const s = ye();
1437  return i
1438    ? e["width" === t ? "offsetWidth" : "offsetHeight"] +
1439        parseFloat(
1440          s
1441            .getComputedStyle(e, null)
1442            .getPropertyValue("width" === t ? "margin-right" : "margin-top")
1443        ) +
1444        parseFloat(
1445          s
1446            .getComputedStyle(e, null)
1447            .getPropertyValue("width" === t ? "margin-left" : "margin-bottom")
1448        )
1449    : e.offsetWidth;
1450}
1451let Re, De, Fe;
1452function Ye() {
1453  return (
1454    Re ||
1455      (Re = (function () {
1456        const e = ye(),
1457          t = xe();
1458        return {
1459          smoothScroll:
1460            t.documentElement && "scrollBehavior" in t.documentElement.style,
1461          touch: !!(
1462            "ontouchstart" in e ||
1463            (e.DocumentTouch && t instanceof e.DocumentTouch)
1464          ),
1465        };
1466      })()),
1467    Re
1468  );
1469}
1470function Ne(e = {}) {
1471  return (
1472    De ||
1473      (De = (function ({ userAgent: e } = {}) {
1474        const t = Ye(),
1475          i = ye(),
1476          s = i.navigator.platform,
1477          n = e || i.navigator.userAgent,
1478          r = { ios: !1, android: !1 },
1479          o = i.screen.width,
1480          a = i.screen.height,
1481          l = n.match(/(Android);?[\s\/]+([\d.]+)?/);
1482        let c = n.match(/(iPad).*OS\s([\d_]+)/);
1483        const d = n.match(/(iPod)(.*OS\s([\d_]+))?/),
1484          p = !c && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
1485          u = "Win32" === s;
1486        let h = "MacIntel" === s;
1487        return (
1488          !c &&
1489            h &&
1490            t.touch &&
1491            [
1492              "1024x1366",
1493              "1366x1024",
1494              "834x1194",
1495              "1194x834",
1496              "834x1112",
1497              "1112x834",
1498              "768x1024",
1499              "1024x768",
1500              "820x1180",
1501              "1180x820",
1502              "810x1080",
1503              "1080x810",
1504            ].indexOf(`${o}x${a}`) >= 0 &&
1505            ((c = n.match(/(Version)\/([\d.]+)/)),
1506            c || (c = [0, 1, "13_0_0"]),
1507            (h = !1)),
1508          l && !u && ((r.os = "android"), (r.android = !0)),
1509          (c || p || d) && ((r.os = "ios"), (r.ios = !0)),
1510          r
1511        );
1512      })(e)),
1513    De
1514  );
1515}
1516function Ue() {
1517  return (
1518    Fe ||
1519      (Fe = (function () {
1520        const e = ye();
1521        let t = !1;
1522        function i() {
1523          const t = e.navigator.userAgent.toLowerCase();
1524          return (
1525            t.indexOf("safari") >= 0 &&
1526            t.indexOf("chrome") < 0 &&
1527            t.indexOf("android") < 0
1528          );
1529        }
1530        if (i()) {
1531          const i = String(e.navigator.userAgent);
1532          if (i.includes("Version/")) {
1533            const [e, s] = i
1534              .split("Version/")[1]
1535              .split(" ")[0]
1536              .split(".")
1537              .map((e) => Number(e));
1538            t = e < 16 || (16 === e && s < 2);
1539          }
1540        }
1541        return {
1542          isSafari: t || i(),
1543          needPerspectiveFix: t,
1544          isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
1545            e.navigator.userAgent
1546          ),
1547        };
1548      })()),
1549    Fe
1550  );
1551}
1552var Ve = {
1553  on(e, t, i) {
1554    const s = this;
1555    if (!s.eventsListeners || s.destroyed) return s;
1556    if ("function" != typeof t) return s;
1557    const n = i ? "unshift" : "push";
1558    return (
1559      e.split(" ").forEach((e) => {
1560        s.eventsListeners[e] || (s.eventsListeners[e] = []),
1561          s.eventsListeners[e][n](t);
1562      }),
1563      s
1564    );
1565  },
1566  once(e, t, i) {
1567    const s = this;
1568    if (!s.eventsListeners || s.destroyed) return s;
1569    if ("function" != typeof t) return s;
1570    function n(...i) {
1571      s.off(e, n), n.l && delete n.l, t.apply(s, i);
1572    }
1573    return (n.l = t), s.on(e, n, i);
1574  },
1575  onAny(e, t) {
1576    const i = this;
1577    if (!i.eventsListeners || i.destroyed) return i;
1578    if ("function" != typeof e) return i;
1579    const s = t ? "unshift" : "push";
1580    return i.eventsAnyListeners.indexOf(e) < 0 && i.eventsAnyListeners[s](e), i;
1581  },
1582  offAny(e) {
1583    const t = this;
1584    if (!t.eventsListeners || t.destroyed) return t;
1585    if (!t.eventsAnyListeners) return t;
1586    const i = t.eventsAnyListeners.indexOf(e);
1587    return i >= 0 && t.eventsAnyListeners.splice(i, 1), t;
1588  },
1589  off(e, t) {
1590    const i = this;
1591    return !i.eventsListeners || i.destroyed
1592      ? i
1593      : i.eventsListeners
1594      ? (e.split(" ").forEach((e) => {
1595          void 0 === t
1596            ? (i.eventsListeners[e] = [])
1597            : i.eventsListeners[e] &&
1598              i.eventsListeners[e].forEach((s, n) => {
1599                (s === t || (s.l && s.l === t)) &&
1600                  i.eventsListeners[e].splice(n, 1);
1601              });
1602        }),
1603        i)
1604      : i;
1605  },
1606  emit(...e) {
1607    const t = this;
1608    if (!t.eventsListeners || t.destroyed) return t;
1609    if (!t.eventsListeners) return t;
1610    let i, s, n;
1611    "string" == typeof e[0] || Array.isArray(e[0])
1612      ? ((i = e[0]), (s = e.slice(1, e.length)), (n = t))
1613      : ((i = e[0].events), (s = e[0].data), (n = e[0].context || t)),
1614      s.unshift(n);
1615    return (
1616      (Array.isArray(i) ? i : i.split(" ")).forEach((e) => {
1617        t.eventsAnyListeners &&
1618          t.eventsAnyListeners.length &&
1619          t.eventsAnyListeners.forEach((t) => {
1620            t.apply(n, [e, ...s]);
1621          }),
1622          t.eventsListeners &&
1623            t.eventsListeners[e] &&
1624            t.eventsListeners[e].forEach((e) => {
1625              e.apply(n, s);
1626            });
1627      }),
1628      t
1629    );
1630  },
1631};
1632var He = {
1633  updateSize: function () {
1634    const e = this;
1635    let t, i;
1636    const s = e.el;
1637    (t =
1638      void 0 !== e.params.width && null !== e.params.width
1639        ? e.params.width
1640        : s.clientWidth),
1641      (i =
1642        void 0 !== e.params.height && null !== e.params.height
1643          ? e.params.height
1644          : s.clientHeight),
1645      (0 === t && e.isHorizontal()) ||
1646        (0 === i && e.isVertical()) ||
1647        ((t =
1648          t -
1649          parseInt(Be(s, "padding-left") || 0, 10) -
1650          parseInt(Be(s, "padding-right") || 0, 10)),
1651        (i =
1652          i -
1653          parseInt(Be(s, "padding-top") || 0, 10) -
1654          parseInt(Be(s, "padding-bottom") || 0, 10)),
1655        Number.isNaN(t) && (t = 0),
1656        Number.isNaN(i) && (i = 0),
1657        Object.assign(e, {
1658          width: t,
1659          height: i,
1660          size: e.isHorizontal() ? t : i,
1661        }));
1662  },
1663  updateSlides: function () {
1664    const e = this;
1665    function t(t) {
1666      return e.isHorizontal()
1667        ? t
1668        : {
1669            width: "height",
1670            "margin-top": "margin-left",
1671            "margin-bottom ": "margin-right",
1672            "margin-left": "margin-top",
1673            "margin-right": "margin-bottom",
1674            "padding-left": "padding-top",
1675            "padding-right": "padding-bottom",
1676            marginRight: "marginBottom",
1677          }[t];
1678    }
1679    function i(e, i) {
1680      return parseFloat(e.getPropertyValue(t(i)) || 0);
1681    }
1682    const s = e.params,
1683      { wrapperEl: n, slidesEl: r, size: o, rtlTranslate: a, wrongRTL: l } = e,
1684      c = e.virtual && s.virtual.enabled,
1685      d = c ? e.virtual.slides.length : e.slides.length,
1686      p = Pe(r, `.${e.params.slideClass}, swiper-slide`),
1687      u = c ? e.virtual.slides.length : p.length;
1688    let h = [];
1689    const f = [],
1690      w = [];
1691    let v = s.slidesOffsetBefore;
1692    "function" == typeof v && (v = s.slidesOffsetBefore.call(e));
1693    let g = s.slidesOffsetAfter;
1694    "function" == typeof g && (g = s.slidesOffsetAfter.call(e));
1695    const b = e.snapGrid.length,
1696      m = e.slidesGrid.length;
1697    let x = s.spaceBetween,
1698      A = -v,
1699      y = 0,
1700      M = 0;
1701    if (void 0 === o) return;
1702    "string" == typeof x &&
1703      x.indexOf("%") >= 0 &&
1704      (x = (parseFloat(x.replace("%", "")) / 100) * o),
1705      (e.virtualSize = -x),
1706      p.forEach((e) => {
1707        a ? (e.style.marginLeft = "") : (e.style.marginRight = ""),
1708          (e.style.marginBottom = ""),
1709          (e.style.marginTop = "");
1710      }),
1711      s.centeredSlides &&
1712        s.cssMode &&
1713        (Te(n, "--swiper-centered-offset-before", ""),
1714        Te(n, "--swiper-centered-offset-after", ""));
1715    const $ = s.grid && s.grid.rows > 1 && e.grid;
1716    let S;
1717    $ && e.grid.initSlides(u);
1718    const E =
1719      "auto" === s.slidesPerView &&
1720      s.breakpoints &&
1721      Object.keys(s.breakpoints).filter(
1722        (e) => void 0 !== s.breakpoints[e].slidesPerView
1723      ).length > 0;
1724    for (let n = 0; n < u; n += 1) {
1725      let r;
1726      if (
1727        ((S = 0),
1728        p[n] && (r = p[n]),
1729        $ && e.grid.updateSlide(n, r, u, t),
1730        !p[n] || "none" !== Be(r, "display"))
1731      ) {
1732        if ("auto" === s.slidesPerView) {
1733          E && (p[n].style[t("width")] = "");
1734          const o = getComputedStyle(r),
1735            a = r.style.transform,
1736            l = r.style.webkitTransform;
1737          if (
1738            (a && (r.style.transform = "none"),
1739            l && (r.style.webkitTransform = "none"),
1740            s.roundLengths)
1741          )
1742            S = e.isHorizontal() ? Ge(r, "width", !0) : Ge(r, "height", !0);
1743          else {
1744            const e = i(o, "width"),
1745              t = i(o, "padding-left"),
1746              s = i(o, "padding-right"),
1747              n = i(o, "margin-left"),
1748              a = i(o, "margin-right"),
1749              l = o.getPropertyValue("box-sizing");
1750            if (l && "border-box" === l) S = e + n + a;
1751            else {
1752              const { clientWidth: i, offsetWidth: o } = r;
1753              S = e + t + s + n + a + (o - i);
1754            }
1755          }
1756          a && (r.style.transform = a),
1757            l && (r.style.webkitTransform = l),
1758            s.roundLengths && (S = Math.floor(S));
1759        } else
1760          (S = (o - (s.slidesPerView - 1) * x) / s.slidesPerView),
1761            s.roundLengths && (S = Math.floor(S)),
1762            p[n] && (p[n].style[t("width")] = `${S}px`);
1763        p[n] && (p[n].swiperSlideSize = S),
1764          w.push(S),
1765          s.centeredSlides
1766            ? ((A = A + S / 2 + y / 2 + x),
1767              0 === y && 0 !== n && (A = A - o / 2 - x),
1768              0 === n && (A = A - o / 2 - x),
1769              Math.abs(A) < 0.001 && (A = 0),
1770              s.roundLengths && (A = Math.floor(A)),
1771              M % s.slidesPerGroup == 0 && h.push(A),
1772              f.push(A))
1773            : (s.roundLengths && (A = Math.floor(A)),
1774              (M - Math.min(e.params.slidesPerGroupSkip, M)) %
1775                e.params.slidesPerGroup ==
1776                0 && h.push(A),
1777              f.push(A),
1778              (A = A + S + x)),
1779          (e.virtualSize += S + x),
1780          (y = S),
1781          (M += 1);
1782      }
1783    }
1784    if (
1785      ((e.virtualSize = Math.max(e.virtualSize, o) + g),
1786      a &&
1787        l &&
1788        ("slide" === s.effect || "coverflow" === s.effect) &&
1789        (n.style.width = `${e.virtualSize + s.spaceBetween}px`),
1790      s.setWrapperSize &&
1791        (n.style[t("width")] = `${e.virtualSize + s.spaceBetween}px`),
1792      $ && e.grid.updateWrapperSize(S, h, t),
1793      !s.centeredSlides)
1794    ) {
1795      const t = [];
1796      for (let i = 0; i < h.length; i += 1) {
1797        let n = h[i];
1798        s.roundLengths && (n = Math.floor(n)),
1799          h[i] <= e.virtualSize - o && t.push(n);
1800      }
1801      (h = t),
1802        Math.floor(e.virtualSize - o) - Math.floor(h[h.length - 1]) > 1 &&
1803          h.push(e.virtualSize - o);
1804    }
1805    if (c && s.loop) {
1806      const t = w[0] + x;
1807      if (s.slidesPerGroup > 1) {
1808        const i = Math.ceil(
1809            (e.virtual.slidesBefore + e.virtual.slidesAfter) / s.slidesPerGroup
1810          ),
1811          n = t * s.slidesPerGroup;
1812        for (let e = 0; e < i; e += 1) h.push(h[h.length - 1] + n);
1813      }
1814      for (
1815        let i = 0;
1816        i < e.virtual.slidesBefore + e.virtual.slidesAfter;
1817        i += 1
1818      )
1819        1 === s.slidesPerGroup && h.push(h[h.length - 1] + t),
1820          f.push(f[f.length - 1] + t),
1821          (e.virtualSize += t);
1822    }
1823    if ((0 === h.length && (h = [0]), 0 !== s.spaceBetween)) {
1824      const i = e.isHorizontal() && a ? "marginLeft" : t("marginRight");
1825      p.filter((e, t) => !(s.cssMode && !s.loop) || t !== p.length - 1).forEach(
1826        (e) => {
1827          e.style[i] = `${x}px`;
1828        }
1829      );
1830    }
1831    if (s.centeredSlides && s.centeredSlidesBounds) {
1832      let e = 0;
1833      w.forEach((t) => {
1834        e += t + (s.spaceBetween ? s.spaceBetween : 0);
1835      }),
1836        (e -= s.spaceBetween);
1837      const t = e - o;
1838      h = h.map((e) => (e < 0 ? -v : e > t ? t + g : e));
1839    }
1840    if (s.centerInsufficientSlides) {
1841      let e = 0;
1842      if (
1843        (w.forEach((t) => {
1844          e += t + (s.spaceBetween ? s.spaceBetween : 0);
1845        }),
1846        (e -= s.spaceBetween),
1847        e < o)
1848      ) {
1849        const t = (o - e) / 2;
1850        h.forEach((e, i) => {
1851          h[i] = e - t;
1852        }),
1853          f.forEach((e, i) => {
1854            f[i] = e + t;
1855          });
1856      }
1857    }
1858    if (
1859      (Object.assign(e, {
1860        slides: p,
1861        snapGrid: h,
1862        slidesGrid: f,
1863        slidesSizesGrid: w,
1864      }),
1865      s.centeredSlides && s.cssMode && !s.centeredSlidesBounds)
1866    ) {
1867      Te(n, "--swiper-centered-offset-before", -h[0] + "px"),
1868        Te(
1869          n,
1870          "--swiper-centered-offset-after",
1871          e.size / 2 - w[w.length - 1] / 2 + "px"
1872        );
1873      const t = -e.snapGrid[0],
1874        i = -e.slidesGrid[0];
1875      (e.snapGrid = e.snapGrid.map((e) => e + t)),
1876        (e.slidesGrid = e.slidesGrid.map((e) => e + i));
1877    }
1878    if (
1879      (u !== d && e.emit("slidesLengthChange"),
1880      h.length !== b &&
1881        (e.params.watchOverflow && e.checkOverflow(),
1882        e.emit("snapGridLengthChange")),
1883      f.length !== m && e.emit("slidesGridLengthChange"),
1884      s.watchSlidesProgress && e.updateSlidesOffset(),
1885      !(c || s.cssMode || ("slide" !== s.effect && "fade" !== s.effect)))
1886    ) {
1887      const t = `${s.containerModifierClass}backface-hidden`,
1888        i = e.el.classList.contains(t);
1889      u <= s.maxBackfaceHiddenSlides
1890        ? i || e.el.classList.add(t)
1891        : i && e.el.classList.remove(t);
1892    }
1893  },
1894  updateAutoHeight: function (e) {
1895    const t = this,
1896      i = [],
1897      s = t.virtual && t.params.virtual.enabled;
1898    let n,
1899      r = 0;
1900    "number" == typeof e
1901      ? t.setTransition(e)
1902      : !0 === e && t.setTransition(t.params.speed);
1903    const o = (e) => (s ? t.getSlideIndexByData(e) : t.slides[e]);
1904    if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1)
1905      if (t.params.centeredSlides)
1906        (t.visibleSlides || []).forEach((e) => {
1907          i.push(e);
1908        });
1909      else
1910        for (n = 0;
1910 n < Math.ceil(t.params.slidesPerView); n += 1) {
1911          const e = t.activeIndex + n;
1912          if (e > t.slides.length && !s) break;
1913          i.push(o(e));
1914        }
1915    else i.push(o(t.activeIndex));
1916    for (n = 0; n < i.length; n += 1)
1917      if (void 0 !== i[n]) {
1918        const e = i[n].offsetHeight;
1919        r = e > r ? e : r;
1920      }
1921    (r || 0 === r) && (t.wrapperEl.style.height = `${r}px`);
1922  },
1923  updateSlidesOffset: function () {
1924    const e = this,
1925      t = e.slides,
1926      i = e.isElement
1927        ? e.isHorizontal()
1928          ? e.wrapperEl.offsetLeft
1929          : e.wrapperEl.offsetTop
1930        : 0;
1931    for (let s = 0; s < t.length; s += 1)
1932      t[s].swiperSlideOffset =
1933        (e.isHorizontal() ? t[s].offsetLeft : t[s].offsetTop) - i;
1934  },
1935  updateSlidesProgress: function (e = (this && this.translate) || 0) {
1936    const t = this,
1937      i = t.params,
1938      { slides: s, rtlTranslate: n, snapGrid: r } = t;
1939    if (0 === s.length) return;
1940    void 0 === s[0].swiperSlideOffset && t.updateSlidesOffset();
1941    let o = -e;
1942    n && (o = e),
1943      s.forEach((e) => {
1944        e.classList.remove(i.slideVisibleClass);
1945      }),
1946      (t.visibleSlidesIndexes = []),
1947      (t.visibleSlides = []);
1948    for (let e = 0; e < s.length; e += 1) {
1949      const a = s[e];
1950      let l = a.swiperSlideOffset;
1951      i.cssMode && i.centeredSlides && (l -= s[0].swiperSlideOffset);
1952      const c =
1953          (o + (i.centeredSlides ? t.minTranslate() : 0) - l) /
1954          (a.swiperSlideSize + i.spaceBetween),
1955        d =
1956          (o - r[0] + (i.centeredSlides ? t.minTranslate() : 0) - l) /
1957          (a.swiperSlideSize + i.spaceBetween),
1958        p = -(o - l),
1959        u = p + t.slidesSizesGrid[e];
1960      ((p >= 0 && p < t.size - 1) ||
1961        (u > 1 && u <= t.size) ||
1962        (p <= 0 && u >= t.size)) &&
1963        (t.visibleSlides.push(a),
1964        t.visibleSlidesIndexes.push(e),
1965        s[e].classList.add(i.slideVisibleClass)),
1966        (a.progress = n ? -c : c),
1967        (a.originalProgress = n ? -d : d);
1968    }
1969  },
1970  updateProgress: function (e) {
1971    const t = this;
1972    if (void 0 === e) {
1973      const i = t.rtlTranslate ? -1 : 1;
1974      e = (t && t.translate && t.translate * i) || 0;
1975    }
1976    const i = t.params,
1977      s = t.maxTranslate() - t.minTranslate();
1978    let { progress: n, isBeginning: r, isEnd: o, progressLoop: a } = t;
1979    const l = r,
1980      c = o;
1981    if (0 === s) (n = 0), (r = !0), (o = !0);
1982    else {
1983      n = (e - t.minTranslate()) / s;
1984      const i = Math.abs(e - t.minTranslate()) < 1,
1985        a = Math.abs(e - t.maxTranslate()) < 1;
1986      (r = i || n <= 0), (o = a || n >= 1), i && (n = 0), a && (n = 1);
1987    }
1988    if (i.loop) {
1989      const i = t.getSlideIndexByData(0),
1990        s = t.getSlideIndexByData(t.slides.length - 1),
1991        n = t.slidesGrid[i],
1992        r = t.slidesGrid[s],
1993        o = t.slidesGrid[t.slidesGrid.length - 1],
1994        l = Math.abs(e);
1995      (a = l >= n ? (l - n) / o : (l + o - r) / o), a > 1 && (a -= 1);
1996    }
1997    Object.assign(t, {
1998      progress: n,
1999      progressLoop: a,
2000      isBeginning: r,
2001      isEnd: o,
2002    }),
2003      (i.watchSlidesProgress || (i.centeredSlides && i.autoHeight)) &&
2004        t.updateSlidesProgress(e),
2005      r && !l && t.emit("reachBeginning toEdge"),
2006      o && !c && t.emit("reachEnd toEdge"),
2007      ((l && !r) || (c && !o)) && t.emit("fromEdge"),
2008      t.emit("progress", n);
2009  },
2010  updateSlidesClasses: function () {
2011    const e = this,
2012      { slides: t, params: i, slidesEl: s, activeIndex: n } = e,
2013      r = e.virtual && i.virtual.enabled,
2014      o = (e) => Pe(s, `.${i.slideClass}${e}, swiper-slide${e}`)[0];
2015    let a;
2016    if (
2017      (t.forEach((e) => {
2018        e.classList.remove(
2019          i.slideActiveClass,
2020          i.slideNextClass,
2021          i.slidePrevClass
2022        );
2023      }),
2024      r)
2025    )
2026      if (i.loop) {
2027        let t = n - e.virtual.slidesBefore;
2028        t < 0 && (t = e.virtual.slides.length + t),
2029          t >= e.virtual.slides.length && (t -= e.virtual.slides.length),
2030          (a = o(`[data-swiper-slide-index="${t}"]`));
2031      } else a = o(`[data-swiper-slide-index="${n}"]`);
2032    else a = t[n];
2033    if (a) {
2034      a.classList.add(i.slideActiveClass);
2035      let e = (function (e, t) {
2036        const i = [];
2037        for (; e.nextElementSibling; ) {
2038          const s = e.nextElementSibling;
2039          t ? s.matches(t) && i.push(s) : i.push(s), (e = s);
2040        }
2041        return i;
2042      })(a, `.${i.slideClass}, swiper-slide`)[0];
2043      i.loop && !e && (e = t[0]), e && e.classList.add(i.slideNextClass);
2044      let s = (function (e, t) {
2045        const i = [];
2046        for (; e.previousElementSibling; ) {
2047          const s = e.previousElementSibling;
2048          t ? s.matches(t) && i.push(s) : i.push(s), (e = s);
2049        }
2050        return i;
2051      })(a, `.${i.slideClass}, swiper-slide`)[0];
2052      i.loop && 0 === !s && (s = t[t.length - 1]),
2053        s && s.classList.add(i.slidePrevClass);
2054    }
2055    e.emitSlidesClasses();
2056  },
2057  updateActiveIndex: function (e) {
2058    const t = this,
2059      i = t.rtlTranslate ? t.translate : -t.translate,
2060      {
2061        snapGrid: s,
2062        params: n,
2063        activeIndex: r,
2064        realIndex: o,
2065        snapIndex: a,
2066      } = t;
2067    let l,
2068      c = e;
2069    const d = (e) => {
2070      let i = e - t.virtual.slidesBefore;
2071      return (
2072        i < 0 && (i = t.virtual.slides.length + i),
2073        i >= t.virtual.slides.length && (i -= t.virtual.slides.length),
2074        i
2075      );
2076    };
2077    if (
2078      (void 0 === c &&
2079        (c = (function (e) {
2080          const { slidesGrid: t, params: i } = e,
2081            s = e.rtlTranslate ? e.translate : -e.translate;
2082          let n;
2083          for (let e = 0; e < t.length; e += 1)
2084            void 0 !== t[e + 1]
2085              ? s >= t[e] && s < t[e + 1] - (t[e + 1] - t[e]) / 2
2086                ? (n = e)
2087                : s >= t[e] && s < t[e + 1] && (n = e + 1)
2088              : s >= t[e] && (n = e);
2089          return i.normalizeSlideIndex && (n < 0 || void 0 === n) && (n = 0), n;
2090        })(t)),
2091      s.indexOf(i) >= 0)
2092    )
2093      l = s.indexOf(i);
2094    else {
2095      const e = Math.min(n.slidesPerGroupSkip, c);
2096      l = e + Math.floor((c - e) / n.slidesPerGroup);
2097    }
2098    if ((l >= s.length && (l = s.length - 1), c === r))
2099      return (
2100        l !== a && ((t.snapIndex = l), t.emit("snapIndexChange")),
2101        void (
2102          t.params.loop &&
2103          t.virtual &&
2104          t.params.virtual.enabled &&
2105          (t.realIndex = d(c))
2106        )
2107      );
2108    let p;
2109    (p =
2110      t.virtual && n.virtual.enabled && n.loop
2111        ? d(c)
2112        : t.slides[c]
2113        ? parseInt(t.slides[c].getAttribute("data-swiper-slide-index") || c, 10)
2114        : c),
2115      Object.assign(t, {
2116        snapIndex: l,
2117        realIndex: p,
2118        previousIndex: r,
2119        activeIndex: c,
2120      }),
2121      t.emit("activeIndexChange"),
2122      t.emit("snapIndexChange"),
2123      o !== p && t.emit("realIndexChange"),
2124      (t.initialized || t.params.runCallbacksOnInit) && t.emit("slideChange");
2125  },
2126  updateClickedSlide: function (e) {
2127    const t = this,
2128      i = t.params,
2129      s = e.closest(`.${i.slideClass}, swiper-slide`);
2130    let n,
2131      r = !1;
2132    if (s)
2133      for (let e = 0; e < t.slides.length; e += 1)
2134        if (t.slides[e] === s) {
2135          (r = !0), (n = e);
2136          break;
2137        }
2138    if (!s || !r)
2139      return (t.clickedSlide = void 0), void (t.clickedIndex = void 0);
2140    (t.clickedSlide = s),
2141      t.virtual && t.params.virtual.enabled
2142        ? (t.clickedIndex = parseInt(
2143            s.getAttribute("data-swiper-slide-index"),
2144            10
2145          ))
2146        : (t.clickedIndex = n),
2147      i.slideToClickedSlide &&
2148        void 0 !== t.clickedIndex &&
2149        t.clickedIndex !== t.activeIndex &&
2150        t.slideToClickedSlide();
2151  },
2152};
2153var Qe = {
2154  getTranslate: function (e = this.isHorizontal() ? "x" : "y") {
2155    const { params: t, rtlTranslate: i, translate: s, wrapperEl: n } = this;
2156    if (t.virtualTranslate) return i ? -s : s;
2157    if (t.cssMode) return s;
2158    let r = Se(n, e);
2159    return i && (r = -r), r || 0;
2160  },
2161  setTranslate: function (e, t) {
2162    const i = this,
2163      { rtlTranslate: s, params: n, wrapperEl: r, progress: o } = i;
2164    let a,
2165      l = 0,
2166      c = 0;
2167    i.isHorizontal() ? (l = s ? -e : e) : (c = e),
2168      n.roundLengths && ((l = Math.floor(l)), (c = Math.floor(c))),
2169      n.cssMode
2170        ? (r[i.isHorizontal() ? "scrollLeft" : "scrollTop"] = i.isHorizontal()
2171            ? -l
2172            : -c)
2173        : n.virtualTranslate ||
2174          (r.style.transform = `translate3d(${l}px, ${c}px, 0px)`),
2175      (i.previousTranslate = i.translate),
2176      (i.translate = i.isHorizontal() ? l : c);
2177    const d = i.maxTranslate() - i.minTranslate();
2178    (a = 0 === d ? 0 : (e - i.minTranslate()) / d),
2179      a !== o && i.updateProgress(e),
2180      i.emit("setTranslate", i.translate, t);
2181  },
2182  minTranslate: function () {
2183    return -this.snapGrid[0];
2184  },
2185  maxTranslate: function () {
2186    return -this.snapGrid[this.snapGrid.length - 1];
2187  },
2188  translateTo: function (e = 0, t = this.params.speed, i = !0, s = !0, n) {
2189    const r = this,
2190      { params: o, wrapperEl: a } = r;
2191    if (r.animating && o.preventInteractionOnTransition) return !1;
2192    const l = r.minTranslate(),
2193      c = r.maxTranslate();
2194    let d;
2195    if (
2196      ((d = s && e > l ? l : s && e < c ? c : e),
2197      r.updateProgress(d),
2198      o.cssMode)
2199    ) {
2200      const e = r.isHorizontal();
2201      if (0 === t) a[e ? "scrollLeft" : "scrollTop"] = -d;
2202      else {
2203        if (!r.support.smoothScroll)
2204          return (
2205            Ce({ swiper: r, targetPosition: -d, side: e ? "left" : "top" }), !0
2206          );
2207        a.scrollTo({ [e ? "left" : "top"]: -d, behavior: "smooth" });
2208      }
2209      return !0;
2210    }
2211    return (
2212      0 === t
2213        ? (r.setTransition(0),
2214          r.setTranslate(d),
2215          i && (r.emit("beforeTransitionStart", t, n), r.emit("transitionEnd")))
2216        : (r.setTransition(t),
2217          r.setTranslate(d),
2218          i &&
2219            (r.emit("beforeTransitionStart", t, n), r.emit("transitionStart")),
2220          r.animating ||
2221            ((r.animating = !0),
2222            r.onTranslateToWrapperTransitionEnd ||
2223              (r.onTranslateToWrapperTransitionEnd = function (e) {
2224                r &&
2225                  !r.destroyed &&
2226                  e.target === this &&
2227                  (r.wrapperEl.removeEventListener(
2228                    "transitionend",
2229                    r.onTranslateToWrapperTransitionEnd
2230                  ),
2231                  (r.onTranslateToWrapperTransitionEnd = null),
2232                  delete r.onTranslateToWrapperTransitionEnd,
2233                  i && r.emit("transitionEnd"));
2234              }),
2235            r.wrapperEl.addEventListener(
2236              "transitionend",
2237              r.onTranslateToWrapperTransitionEnd
2238            ))),
2239      !0
2240    );
2241  },
2242};
2243function Xe({ swiper: e, runCallbacks: t, direction: i, step: s }) {
2244  const { activeIndex: n, previousIndex: r } = e;
2245  let o = i;
2246  if (
2247    (o || (o = n > r ? "next" : n < r ? "prev" : "reset"),
2248    e.emit(`transition${s}`),
2249    t && n !== r)
2250  ) {
2251    if ("reset" === o) return void e.emit(`slideResetTransition${s}`);
2252    e.emit(`slideChangeTransition${s}`),
2253      "next" === o
2254        ? e.emit(`slideNextTransition${s}`)
2255        : e.emit(`slidePrevTransition${s}`);
2256  }
2257}
2258var Ze = {
2259  slideTo: function (e = 0, t = this.params.speed, i = !0, s, n) {
2260    "string" == typeof e && (e = parseInt(e, 10));
2261    const r = this;
2262    let o = e;
2263    o < 0 && (o = 0);
2264    const {
2265      params: a,
2266      snapGrid: l,
2267      slidesGrid: c,
2268      previousIndex: d,
2269      activeIndex: p,
2270      rtlTranslate: u,
2271      wrapperEl: h,
2272      enabled: f,
2273    } = r;
2274    if ((r.animating && a.preventInteractionOnTransition) || (!f && !s && !n))
2275      return !1;
2276    const w = Math.min(r.params.slidesPerGroupSkip, o);
2277    let v = w + Math.floor((o - w) / r.params.slidesPerGroup);
2278    v >= l.length && (v = l.length - 1);
2279    const g = -l[v];
2280    if (a.normalizeSlideIndex)
2281      for (let e = 0; e < c.length; e += 1) {
2282        const t = -Math.floor(100 * g),
2283          i = Math.floor(100 * c[e]),
2284          s = Math.floor(100 * c[e + 1]);
2285        void 0 !== c[e + 1]
2286          ? t >= i && t < s - (s - i) / 2
2287            ? (o = e)
2288            : t >= i && t < s && (o = e + 1)
2289          : t >= i && (o = e);
2290      }
2291    if (r.initialized && o !== p) {
2292      if (!r.allowSlideNext && g < r.translate && g < r.minTranslate())
2293        return !1;
2294      if (
2295        !r.allowSlidePrev &&
2296        g > r.translate &&
2297        g > r.maxTranslate() &&
2298        (p || 0) !== o
2299      )
2300        return !1;
2301    }
2302    let b;
2303    if (
2304      (o !== (d || 0) && i && r.emit("beforeSlideChangeStart"),
2305      r.updateProgress(g),
2306      (b = o > p ? "next" : o < p ? "prev" : "reset"),
2307      (u && -g === r.translate) || (!u && g === r.translate))
2308    )
2309      return (
2310        r.updateActiveIndex(o),
2311        a.autoHeight && r.updateAutoHeight(),
2312        r.updateSlidesClasses(),
2313        "slide" !== a.effect && r.setTranslate(g),
2314        "reset" !== b && (r.transitionStart(i, b), r.transitionEnd(i, b)),
2315        !1
2316      );
2317    if (a.cssMode) {
2318      const e = r.isHorizontal(),
2319        i = u ? g : -g;
2320      if (0 === t) {
2321        const t = r.virtual && r.params.virtual.enabled;
2322        t &&
2323          ((r.wrapperEl.style.scrollSnapType = "none"),
2324          (r._immediateVirtual = !0)),
2325          t && !r._cssModeVirtualInitialSet && r.params.initialSlide > 0
2326            ? ((r._cssModeVirtualInitialSet = !0),
2327              requestAnimationFrame(() => {
2328                h[e ? "scrollLeft" : "scrollTop"] = i;
2329              }))
2330            : (h[e ? "scrollLeft" : "scrollTop"] = i),
2331          t &&
2332            requestAnimationFrame(() => {
2333              (r.wrapperEl.style.scrollSnapType = ""),
2334                (r._immediateVirtual = !1);
2335            });
2336      } else {
2337        if (!r.support.smoothScroll)
2338          return (
2339            Ce({ swiper: r, targetPosition: i, side: e ? "left" : "top" }), !0
2340          );
2341        h.scrollTo({ [e ? "left" : "top"]: i, behavior: "smooth" });
2342      }
2343      return !0;
2344    }
2345    return (
2346      r.setTransition(t),
2347      r.setTranslate(g),
2348      r.updateActiveIndex(o),
2349      r.updateSlidesClasses(),
2350      r.emit("beforeTransitionStart", t, s),
2351      r.transitionStart(i, b),
2352      0 === t
2353        ? r.transitionEnd(i, b)
2354        : r.animating ||
2355          ((r.animating = !0),
2356          r.onSlideToWrapperTransitionEnd ||
2357            (r.onSlideToWrapperTransitionEnd = function (e) {
2358              r &&
2359                !r.destroyed &&
2360                e.target === this &&
2361                (r.wrapperEl.removeEventListener(
2362                  "transitionend",
2363                  r.onSlideToWrapperTransitionEnd
2364                ),
2365                (r.onSlideToWrapperTransitionEnd = null),
2366                delete r.onSlideToWrapperTransitionEnd,
2367                r.transitionEnd(i, b));
2368            }),
2369          r.wrapperEl.addEventListener(
2370            "transitionend",
2371            r.onSlideToWrapperTransitionEnd
2372          )),
2373      !0
2374    );
2375  },
2376  slideToLoop: function (e = 0, t = this.params.speed, i = !0, s) {
2377    if ("string" == typeof e) {
2378      e = parseInt(e, 10);
2379    }
2380    const n = this;
2381    let r = e;
2382    return (
2383      n.params.loop &&
2384        (n.virtual && n.params.virtual.enabled
2385          ? (r += n.virtual.slidesBefore)
2386          : (r = n.getSlideIndexByData(r))),
2387      n.slideTo(r, t, i, s)
2388    );
2389  },
2390  slideNext: function (e = this.params.speed, t = !0, i) {
2391    const s = this,
2392      { enabled: n, params: r, animating: o } = s;
2393    if (!n) return s;
2394    let a = r.slidesPerGroup;
2395    "auto" === r.slidesPerView &&
2396      1 === r.slidesPerGroup &&
2397      r.slidesPerGroupAuto &&
2398      (a = Math.max(s.slidesPerViewDynamic("current", !0), 1));
2399    const l = s.activeIndex < r.slidesPerGroupSkip ? 1 : a,
2400      c = s.virtual && r.virtual.enabled;
2401    if (r.loop) {
2402      if (o && !c && r.loopPreventsSliding) return !1;
2403      s.loopFix({ direction: "next" }),
2404        (s._clientLeft = s.wrapperEl.clientLeft);
2405    }
2406    return r.rewind && s.isEnd
2407      ? s.slideTo(0, e, t, i)
2408      : s.slideTo(s.activeIndex + l, e, t, i);
2409  },
2410  slidePrev: function (e = this.params.speed, t = !0, i) {
2411    const s = this,
2412      {
2413        params: n,
2414        snapGrid: r,
2415        slidesGrid: o,
2416        rtlTranslate: a,
2417        enabled: l,
2418        animating: c,
2419      } = s;
2420    if (!l) return s;
2421    const d = s.virtual && n.virtual.enabled;
2422    if (n.loop) {
2423      if (c && !d && n.loopPreventsSliding) return !1;
2424      s.loopFix({ direction: "prev" }),
2425        (s._clientLeft = s.wrapperEl.clientLeft);
2426    }
2427    function p(e) {
2428      return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e);
2429    }
2430    const u = p(a ? s.translate : -s.translate),
2431      h = r.map((e) => p(e));
2432    let f = r[h.indexOf(u) - 1];
2433    if (void 0 === f && n.cssMode) {
2434      let e;
2435      r.forEach((t, i) => {
2436        u >= t && (e = i);
2437      }),
2438        void 0 !== e && (f = r[e > 0 ? e - 1 : e]);
2439    }
2440    let w = 0;
2441    if (
2442      (void 0 !== f &&
2443        ((w = o.indexOf(f)),
2444        w < 0 && (w = s.activeIndex - 1),
2445        "auto" === n.slidesPerView &&
2446          1 === n.slidesPerGroup &&
2447          n.slidesPerGroupAuto &&
2448          ((w = w - s.slidesPerViewDynamic("previous", !0) + 1),
2449          (w = Math.max(w, 0)))),
2450      n.rewind && s.isBeginning)
2451    ) {
2452      const n =
2453        s.params.virtual && s.params.virtual.enabled && s.virtual
2454          ? s.virtual.slides.length - 1
2455          : s.slides.length - 1;
2456      return s.slideTo(n, e, t, i);
2457    }
2458    return s.slideTo(w, e, t, i);
2459  },
2460  slideReset: function (e = this.params.speed, t = !0, i) {
2461    return this.slideTo(this.activeIndex, e, t, i);
2462  },
2463  slideToClosest: function (e = this.params.speed, t = !0, i, s = 0.5) {
2464    const n = this;
2465    let r = n.activeIndex;
2466    const o = Math.min(n.params.slidesPerGroupSkip, r),
2467      a = o + Math.floor((r - o) / n.params.slidesPerGroup),
2468      l = n.rtlTranslate ? n.translate : -n.translate;
2469    if (l >= n.snapGrid[a]) {
2470      const e = n.snapGrid[a];
2471      l - e > (n.snapGrid[a + 1] - e) * s && (r += n.params.slidesPerGroup);
2472    } else {
2473      const e = n.snapGrid[a - 1];
2474      l - e <= (n.snapGrid[a] - e) * s && (r -= n.params.slidesPerGroup);
2475    }
2476    return (
2477      (r = Math.max(r, 0)),
2478      (r = Math.min(r, n.slidesGrid.length - 1)),
2479      n.slideTo(r, e, t, i)
2480    );
2481  },
2482  slideToClickedSlide: function () {
2483    const e = this,
2484      { params: t, slidesEl: i } = e,
2485      s =
2486        "auto" === t.slidesPerView ? e.slidesPerViewDynamic() : t.slidesPerView;
2487    let n,
2488      r = e.clickedIndex;
2489    const o = e.isElement ? "swiper-slide" : `.${t.slideClass}`;
2490    if (t.loop) {
2491      if (e.animating) return;
2492      (n = parseInt(
2493        e.clickedSlide.getAttribute("data-swiper-slide-index"),
2494        10
2495      )),
2496        t.centeredSlides
2497          ? r < e.loopedSlides - s / 2 ||
2498            r > e.slides.length - e.loopedSlides + s / 2
2499            ? (e.loopFix(),
2500              (r = e.getSlideIndex(
2501                Pe(i, `${o}[data-swiper-slide-index="${n}"]`)[0]
2502              )),
2503              Me(() => {
2504                e.slideTo(r);
2505              }))
2506            : e.slideTo(r)
2507          : r > e.slides.length - s
2508          ? (e.loopFix(),
2509            (r = e.getSlideIndex(
2510              Pe(i, `${o}[data-swiper-slide-index="${n}"]`)[0]
2511            )),
2512            Me(() => {
2513              e.slideTo(r);
2514            }))
2515          : e.slideTo(r);
2516    } else e.slideTo(r);
2517  },
2518};
2519var We = {
2520  loopCreate: function (e) {
2521    const t = this,
2522      { params: i, slidesEl: s } = t;
2523    if (!i.loop || (t.virtual && t.params.virtual.enabled)) return;
2524    Pe(s, `.${i.slideClass}, swiper-slide`).forEach((e, t) => {
2525      e.setAttribute("data-swiper-slide-index", t);
2526    }),
2527      t.loopFix({
2528        slideRealIndex: e,
2529        direction: i.centeredSlides ? void 0 : "next",
2530      });
2531  },
2532  loopFix: function ({
2533    slideRealIndex: e,
2534    slideTo: t = !0,
2535    direction: i,
2536    setTranslate: s,
2537    activeSlideIndex: n,
2538    byController: r,
2539    byMousewheel: o,
2540  } = {}) {
2541    const a = this;
2542    if (!a.params.loop) return;
2543    a.emit("beforeLoopFix");
2544    const {
2545      slides: l,
2546      allowSlidePrev: c,
2547      allowSlideNext: d,
2548      slidesEl: p,
2549      params: u,
2550    } = a;
2551    if (
2552      ((a.allowSlidePrev = !0),
2553      (a.allowSlideNext = !0),
2554      a.virtual && u.virtual.enabled)
2555    )
2556      return (
2557        t &&
2558          (u.centeredSlides || 0 !== a.snapIndex
2559            ? u.centeredSlides && a.snapIndex < u.slidesPerView
2560              ? a.slideTo(a.virtual.slides.length + a.snapIndex, 0, !1, !0)
2561              : a.snapIndex === a.snapGrid.length - 1 &&
2562                a.slideTo(a.virtual.slidesBefore, 0, !1, !0)
2563            : a.slideTo(a.virtual.slides.length, 0, !1, !0)),
2564        (a.allowSlidePrev = c),
2565        (a.allowSlideNext = d),
2566        void a.emit("loopFix")
2567      );
2568    const h =
2569      "auto" === u.slidesPerView
2570        ? a.slidesPerViewDynamic()
2571        : Math.ceil(parseFloat(u.slidesPerView, 10));
2572    let f = u.loopedSlides || h;
2573    f % u.slidesPerGroup != 0 &&
2574      (f += u.slidesPerGroup - (f % u.slidesPerGroup)),
2575      (a.loopedSlides = f);
2576    const w = [],
2577      v = [];
2578    let g = a.activeIndex;
2579    void 0 === n
2580      ? (n = a.getSlideIndex(
2581          a.slides.filter((e) => e.classList.contains(u.slideActiveClass))[0]
2582        ))
2583      : (g = n);
2584    const b = "next" === i || !i,
2585      m = "prev" === i || !i;
2586    let x = 0,
2587      A = 0;
2588    if (n < f) {
2589      x = Math.max(f - n, u.slidesPerGroup);
2590      for (let e = 0; e < f - n; e += 1) {
2591        const t = e - Math.floor(e / l.length) * l.length;
2592        w.push(l.length - t - 1);
2593      }
2594    } else if (n > a.slides.length - 2 * f) {
2595      A = Math.max(n - (a.slides.length - 2 * f), u.slidesPerGroup);
2596      for (let e = 0; e < A; e += 1) {
2597        const t = e - Math.floor(e / l.length) * l.length;
2598        v.push(t);
2599      }
2600    }
2601    if (
2602      (m &&
2603        w.forEach((e) => {
2604          p.prepend(a.slides[e]);
2605        }),
2606      b &&
2607        v.forEach((e) => {
2608          p.append(a.slides[e]);
2609        }),
2610      a.recalcSlides(),
2611      u.watchSlidesProgress && a.updateSlidesOffset(),
2612      t)
2613    )
2614      if (w.length > 0 && m)
2615        if (void 0 === e) {
2616          const e = a.slidesGrid[g],
2617            t = a.slidesGrid[g + x] - e;
2618          o
2619            ? a.setTranslate(a.translate - t)
2620            : (a.slideTo(g + x, 0, !1, !0),
2621              s && (a.touches[a.isHorizontal() ? "startX" : "startY"] += t));
2622        } else s && a.slideToLoop(e, 0, !1, !0);
2623      else if (v.length > 0 && b)
2624        if (void 0 === e) {
2625          const e = a.slidesGrid[g],
2626            t = a.slidesGrid[g - A] - e;
2627          o
2628            ? a.setTranslate(a.translate - t)
2629            : (a.slideTo(g - A, 0, !1, !0),
2630              s && (a.touches[a.isHorizontal() ? "startX" : "startY"] += t));
2631        } else a.slideToLoop(e, 0, !1, !0);
2632    if (
2633      ((a.allowSlidePrev = c),
2634      (a.allowSlideNext = d),
2635      a.controller && a.controller.control && !r)
2636    ) {
2637      const t = {
2638        slideRealIndex: e,
2639        slideTo: !1,
2640        direction: i,
2641        setTranslate: s,
2642        activeSlideIndex: n,
2643        byController: !0,
2644      };
2645      Array.isArray(a.controller.control)
2646        ? a.controller.control.forEach((e) => {
2647            !e.destroyed && e.params.loop && e.loopFix(t);
2648          })
2649        : a.controller.control instanceof a.constructor &&
2650          a.controller.control.params.loop &&
2651          a.controller.control.loopFix(t);
2652    }
2653    a.emit("loopFix");
2654  },
2655  loopDestroy: function () {
2656    const e = this,
2657      { params: t, slidesEl: i } = e;
2658    if (!t.loop || (e.virtual && e.params.virtual.enabled)) return;
2659    e.recalcSlides();
2660    const s = [];
2661    e.slides.forEach((e) => {
2662      const t =
2663        void 0 === e.swiperSlideIndex
2664          ? 1 * e.getAttribute("data-swiper-slide-index")
2665          : e.swiperSlideIndex;
2666      s[t] = e;
2667    }),
2668      e.slides.forEach((e) => {
2669        e.removeAttribute("data-swiper-slide-index");
2670      }),
2671      s.forEach((e) => {
2672        i.append(e);
2673      }),
2674      e.recalcSlides(),
2675      e.slideTo(e.realIndex, 0);
2676  },
2677};
2678function qe(e) {
2679  const t = this,
2680    i = xe(),
2681    s = ye(),
2682    n = t.touchEventsData;
2683  n.evCache.push(e);
2684  const { params: r, touches: o, enabled: a } = t;
2685  if (!a) return;
2686  if (!r.simulateTouch && "mouse" === e.pointerType) return;
2687  if (t.animating && r.preventInteractionOnTransition) return;
2688  !t.animating && r.cssMode && r.loop && t.loopFix();
2689  let l = e;
2690  l.originalEvent && (l = l.originalEvent);
2691  let c = l.target;
2692  if ("wrapper" === r.touchEventsTarget && !t.wrapperEl.contains(c)) return;
2693  if ("which" in l && 3 === l.which) return;
2694  if ("button" in l && l.button > 0) return;
2695  if (n.isTouched && n.isMoved) return;
2696  const d = !!r.noSwipingClass && "" !== r.noSwipingClass,
2697    p = e.composedPath ? e.composedPath() : e.path;
2698  d && l.target && l.target.shadowRoot && p && (c = p[0]);
2699  const u = r.noSwipingSelector ? r.noSwipingSelector : `.${r.noSwipingClass}`,
2700    h = !(!l.target || !l.target.shadowRoot);
2701  if (
2702    r.noSwiping &&
2703    (h
2704      ? (function (e, t = this) {
2705          return (function t(i) {
2706            if (!i || i === xe() || i === ye()) return null;
2707            i.assignedSlot && (i = i.assignedSlot);
2708            const s = i.closest(e);
2709            return s || i.getRootNode ? s || t(i.getRootNode().host) : null;
2710          })(t);
2711        })(u, c)
2712      : c.closest(u))
2713  )
2714    return void (t.allowClick = !0);
2715  if (r.swipeHandler && !c.closest(r.swipeHandler)) return;
2716  (o.currentX = l.pageX), (o.currentY = l.pageY);
2717  const f = o.currentX,
2718    w = o.currentY,
2719    v = r.edgeSwipeDetection || r.iOSEdgeSwipeDetection,
2720    g = r.edgeSwipeThreshold || r.iOSEdgeSwipeThreshold;
2721  if (v && (f <= g || f >= s.innerWidth - g)) {
2722    if ("prevent" !== v) return;
2723    e.preventDefault();
2724  }
2725  Object.assign(n, {
2726    isTouched: !0,
2727    isMoved: !1,
2728    allowTouchCallbacks: !0,
2729    isScrolling: void 0,
2730    startMoving: void 0,
2731  }),
2732    (o.startX = f),
2733    (o.startY = w),
2734    (n.touchStartTime = $e()),
2735    (t.allowClick = !0),
2736    t.updateSize(),
2737    (t.swipeDirection = void 0),
2738    r.threshold > 0 && (n.allowThresholdMove = !1);
2739  let b = !0;
2740  c.matches(n.focusableElements) &&
2741    ((b = !1), "SELECT" === c.nodeName && (n.isTouched = !1)),
2742    i.activeElement &&
2743      i.activeElement.matches(n.focusableElements) &&
2744      i.activeElement !== c &&
2745      i.activeElement.blur();
2746  const m = b && t.allowTouchMove && r.touchStartPreventDefault;
2747  (!r.touchStartForcePreventDefault && !m) ||
2748    c.isContentEditable ||
2749    l.preventDefault(),
2750    t.params.freeMode &&
2751      t.params.freeMode.enabled &&
2752      t.freeMode &&
2753      t.animating &&
2754      !r.cssMode &&
2755      t.freeMode.onTouchStart(),
2756    t.emit("touchStart", l);
2757}
2758function Ke(e) {
2759  const t = xe(),
2760    i = this,
2761    s = i.touchEventsData,
2762    { params: n, touches: r, rtlTranslate: o, enabled: a } = i;
2763  if (!a) return;
2764  if (!n.simulateTouch && "mouse" === e.pointerType) return;
2765  let l = e;
2766  if ((l.originalEvent && (l = l.originalEvent), !s.isTouched))
2767    return void (
2768      s.startMoving &&
2769      s.isScrolling &&
2770      i.emit("touchMoveOpposite", l)
2771    );
2772  const c = s.evCache.findIndex((e) => e.pointerId === l.pointerId);
2773  c >= 0 && (s.evCache[c] = l);
2774  const d = s.evCache.length > 1 ? s.evCache[0] : l,
2775    p = d.pageX,
2776    u = d.pageY;
2777  if (l.preventedByNestedSwiper) return (r.startX = p), void (r.startY = u);
2778  if (!i.allowTouchMove)
2779    return (
2780      l.target.matches(s.focusableElements) || (i.allowClick = !1),
2781      void (
2782        s.isTouched &&
2783        (Object.assign(r, {
2784          startX: p,
2785          startY: u,
2786          prevX: i.touches.currentX,
2787          prevY: i.touches.currentY,
2788          currentX: p,
2789          currentY: u,
2790        }),
2791        (s.touchStartTime = $e()))
2792      )
2793    );
2794  if (n.touchReleaseOnEdges && !n.loop)
2795    if (i.isVertical()) {
2796      if (
2797        (u < r.startY && i.translate <= i.maxTranslate()) ||
2798        (u > r.startY && i.translate >= i.minTranslate())
2799      )
2800        return (s.isTouched = !1), void (s.isMoved = !1);
2801    } else if (
2802      (p < r.startX && i.translate <= i.maxTranslate()) ||
2803      (p > r.startX && i.translate >= i.minTranslate())
2804    )
2805      return;
2806  if (
2807    t.activeElement &&
2808    l.target === t.activeElement &&
2809    l.target.matches(s.focusableElements)
2810  )
2811    return (s.isMoved = !0), void (i.allowClick = !1);
2812  if (
2813    (s.allowTouchCallbacks && i.emit("touchMove", l),
2814    l.targetTouches && l.targetTouches.length > 1)
2815  )
2816    return;
2817  (r.currentX = p), (r.currentY = u);
2818  const h = r.currentX - r.startX,
2819    f = r.currentY - r.startY;
2820  if (i.params.threshold && Math.sqrt(h ** 2 + f ** 2) < i.params.threshold)
2821    return;
2822  if (void 0 === s.isScrolling) {
2823    let e;
2824    (i.isHorizontal() && r.currentY === r.startY) ||
2825    (i.isVertical() && r.currentX === r.startX)
2826      ? (s.isScrolling = !1)
2827      : h * h + f * f >= 25 &&
2828        ((e = (180 * Math.atan2(Math.abs(f), Math.abs(h))) / Math.PI),
2829        (s.isScrolling = i.isHorizontal()
2830          ? e > n.touchAngle
2831          : 90 - e > n.touchAngle));
2832  }
2833  if (
2834    (s.isScrolling && i.emit("touchMoveOpposite", l),
2835    void 0 === s.startMoving &&
2836      ((r.currentX === r.startX && r.currentY === r.startY) ||
2837        (s.startMoving = !0)),
2838    s.isScrolling ||
2839      (i.zoom &&
2840        i.params.zoom &&
2841        i.params.zoom.enabled &&
2842        s.evCache.length > 1))
2843  )
2844    return void (s.isTouched = !1);
2845  if (!s.startMoving) return;
2846  (i.allowClick = !1),
2847    !n.cssMode && l.cancelable && l.preventDefault(),
2848    n.touchMoveStopPropagation && !n.nested && l.stopPropagation();
2849  let w = i.isHorizontal() ? h : f,
2850    v = i.isHorizontal() ? r.currentX - r.previousX : r.currentY - r.previousY;
2851  n.oneWayMovement &&
2852    ((w = Math.abs(w) * (o ? 1 : -1)), (v = Math.abs(v) * (o ? 1 : -1))),
2853    (r.diff = w),
2854    (w *= n.touchRatio),
2855    o && ((w = -w), (v = -v));
2856  const g = i.touchesDirection;
2857  (i.swipeDirection = w > 0 ? "prev" : "next"),
2858    (i.touchesDirection = v > 0 ? "prev" : "next");
2859  const b = i.params.loop && !n.cssMode;
2860  if (!s.isMoved) {
2861    if (
2862      (b && i.loopFix({ direction: i.swipeDirection }),
2863      (s.startTranslate = i.getTranslate()),
2864      i.setTransition(0),
2865      i.animating)
2866    ) {
2867      const e = new window.CustomEvent("transitionend", {
2868        bubbles: !0,
2869        cancelable: !0,
2870      });
2871      i.wrapperEl.dispatchEvent(e);
2872    }
2873    (s.allowMomentumBounce = !1),
2874      !n.grabCursor ||
2875        (!0 !== i.allowSlideNext && !0 !== i.allowSlidePrev) ||
2876        i.setGrabCursor(!0),
2877      i.emit("sliderFirstMove", l);
2878  }
2879  let m;
2880  s.isMoved &&
2881    g !== i.touchesDirection &&
2882    b &&
2883    Math.abs(w) >= 1 &&
2884    (i.loopFix({ direction: i.swipeDirection, setTranslate: !0 }), (m = !0)),
2885    i.emit("sliderMove", l),
2886    (s.isMoved = !0),
2887    (s.currentTranslate = w + s.startTranslate);
2888  let x = !0,
2889    A = n.resistanceRatio;
2890  if (
2891    (n.touchReleaseOnEdges && (A = 0),
2892    w > 0
2893      ? (b &&
2894          !m &&
2895          s.currentTranslate >
2896            (n.centeredSlides
2897              ? i.minTranslate() - i.size / 2
2898              : i.minTranslate()) &&
2899          i.loopFix({
2900            direction: "prev",
2901            setTranslate: !0,
2902            activeSlideIndex: 0,
2903          }),
2904        s.currentTranslate > i.minTranslate() &&
2905          ((x = !1),
2906          n.resistance &&
2907            (s.currentTranslate =
2908              i.minTranslate() -
2909              1 +
2910              (-i.minTranslate() + s.startTranslate + w) ** A)))
2911      : w < 0 &&
2912        (b &&
2913          !m &&
2914          s.currentTranslate <
2915            (n.centeredSlides
2916              ? i.maxTranslate() + i.size / 2
2917              : i.maxTranslate()) &&
2918          i.loopFix({
2919            direction: "next",
2920            setTranslate: !0,
2921            activeSlideIndex:
2922              i.slides.length -
2923              ("auto" === n.slidesPerView
2924                ? i.slidesPerViewDynamic()
2925                : Math.ceil(parseFloat(n.slidesPerView, 10))),
2926          }),
2927        s.currentTranslate < i.maxTranslate() &&
2928          ((x = !1),
2929          n.resistance &&
2930            (s.currentTranslate =
2931              i.maxTranslate() +
2932              1 -
2933              (i.maxTranslate() - s.startTranslate - w) ** A))),
2934    x && (l.preventedByNestedSwiper = !0),
2935    !i.allowSlideNext &&
2936      "next" === i.swipeDirection &&
2937      s.currentTranslate < s.startTranslate &&
2938      (s.currentTranslate = s.startTranslate),
2939    !i.allowSlidePrev &&
2940      "prev" === i.swipeDirection &&
2941      s.currentTranslate > s.startTranslate &&
2942      (s.currentTranslate = s.startTranslate),
2943    i.allowSlidePrev ||
2944      i.allowSlideNext ||
2945      (s.currentTranslate = s.startTranslate),
2946    n.threshold > 0)
2947  ) {
2948    if (!(Math.abs(w) > n.threshold || s.allowThresholdMove))
2949      return void (s.currentTranslate = s.startTranslate);
2950    if (!s.allowThresholdMove)
2951      return (
2952        (s.allowThresholdMove = !0),
2953        (r.startX = r.currentX),
2954        (r.startY = r.currentY),
2955        (s.currentTranslate = s.startTranslate),
2956        void (r.diff = i.isHorizontal()
2957          ? r.currentX - r.startX
2958          : r.currentY - r.startY)
2959      );
2960  }
2961  n.followFinger &&
2962    !n.cssMode &&
2963    (((n.freeMode && n.freeMode.enabled && i.freeMode) ||
2964      n.watchSlidesProgress) &&
2965      (i.updateActiveIndex(), i.updateSlidesClasses()),
2966    i.params.freeMode &&
2967      n.freeMode.enabled &&
2968      i.freeMode &&
2969      i.freeMode.onTouchMove(),
2970    i.updateProgress(s.currentTranslate),
2971    i.setTranslate(s.currentTranslate));
2972}
2973function Je(e) {
2974  const t = this,
2975    i = t.touchEventsData,
2976    s = i.evCache.findIndex((t) => t.pointerId === e.pointerId);
2977  if (
2978    (s >= 0 && i.evCache.splice(s, 1),
2979    ["pointercancel", "pointerout", "pointerleave"].includes(e.type))
2980  ) {
2981    if (
2982      !(
2983        "pointercancel" === e.type &&
2984        (t.browser.isSafari || t.browser.isWebView)
2985      )
2986    )
2987      return;
2988  }
2989  const {
2990    params: n,
2991    touches: r,
2992    rtlTranslate: o,
2993    slidesGrid: a,
2994    enabled: l,
2995  } = t;
2996  if (!l) return;
2997  if (!n.simulateTouch && "mouse" === e.pointerType) return;
2998  let c = e;
2999  if (
3000    (c.originalEvent && (c = c.originalEvent),
3001    i.allowTouchCallbacks && t.emit("touchEnd", c),
3002    (i.allowTouchCallbacks = !1),
3003    !i.isTouched)
3004  )
3005    return (
3006      i.isMoved && n.grabCursor && t.setGrabCursor(!1),
3007      (i.isMoved = !1),
3008      void (i.startMoving = !1)
3009    );
3010  n.grabCursor &&
3011    i.isMoved &&
3012    i.isTouched &&
3013    (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) &&
3014    t.setGrabCursor(!1);
3015  const d = $e(),
3016    p = d - i.touchStartTime;
3017  if (t.allowClick) {
3018    const e = c.path || (c.composedPath && c.composedPath());
3019    t.updateClickedSlide((e && e[0]) || c.target),
3020      t.emit("tap click", c),
3021      p < 300 &&
3022        d - i.lastClickTime < 300 &&
3023        t.emit("doubleTap doubleClick", c);
3024  }
3025  if (
3026    ((i.lastClickTime = $e()),
3027    Me(() => {
3028      t.destroyed || (t.allowClick = !0);
3029    }),
3030    !i.isTouched ||
3031      !i.isMoved ||
3032      !t.swipeDirection ||
3033      0 === r.diff ||
3034      i.currentTranslate === i.startTranslate)
3035  )
3036    return (i.isTouched = !1), (i.isMoved = !1), void (i.startMoving = !1);
3037  let u;
3038  if (
3039    ((i.isTouched = !1),
3040    (i.isMoved = !1),
3041    (i.startMoving = !1),
3042    (u = n.followFinger
3043      ? o
3044        ? t.translate
3045        : -t.translate
3046      : -i.currentTranslate),
3047    n.cssMode)
3048  )
3049    return;
3050  if (t.params.freeMode && n.freeMode.enabled)
3051    return void t.freeMode.onTouchEnd({ currentPos: u });
3052  let h = 0,
3053    f = t.slidesSizesGrid[0];
3054  for (
3055    let e = 0;
3056    e < a.length;
3057    e += e < n.slidesPerGroupSkip ? 1 : n.slidesPerGroup
3058  ) {
3059    const t = e < n.slidesPerGroupSkip - 1 ? 1 : n.slidesPerGroup;
3060    void 0 !== a[e + t]
3061      ? u >= a[e] && u < a[e + t] && ((h = e), (f = a[e + t] - a[e]))
3062      : u >= a[e] && ((h = e), (f = a[a.length - 1] - a[a.length - 2]));
3063  }
3064  let w = null,
3065    v = null;
3066  n.rewind &&
3067    (t.isBeginning
3068      ? (v =
3069          t.params.virtual && t.params.virtual.enabled && t.virtual
3070            ? t.virtual.slides.length - 1
3071            : t.slides.length - 1)
3072      : t.isEnd && (w = 0));
3073  const g = (u - a[h]) / f,
3074    b = h < n.slidesPerGroupSkip - 1 ? 1 : n.slidesPerGroup;
3075  if (p > n.longSwipesMs) {
3076    if (!n.longSwipes) return void t.slideTo(t.activeIndex);
3077    "next" === t.swipeDirection &&
3078      (g >= n.longSwipesRatio
3079        ? t.slideTo(n.rewind && t.isEnd ? w : h + b)
3080        : t.slideTo(h)),
3081      "prev" === t.swipeDirection &&
3082        (g > 1 - n.longSwipesRatio
3083          ? t.slideTo(h + b)
3084          : null !== v && g < 0 && Math.abs(g) > n.longSwipesRatio
3085          ? t.slideTo(v)
3086          : t.slideTo(h));
3087  } else {
3088    if (!n.shortSwipes) return void t.slideTo(t.activeIndex);
3089    t.navigation &&
3090    (c.target === t.navigation.nextEl || c.target === t.navigation.prevEl)
3091      ? c.target === t.navigation.nextEl
3092        ? t.slideTo(h + b)
3093        : t.slideTo(h)
3094      : ("next" === t.swipeDirection && t.slideTo(null !== w ? w : h + b),
3095        "prev" === t.swipeDirection && t.slideTo(null !== v ? v : h));
3096  }
3097}
3098let et;
3099function tt() {
3100  const e = this,
3101    { params: t, el: i } = e;
3102  if (i && 0 === i.offsetWidth) return;
3103  t.breakpoints && e.setBreakpoint();
3104  const { allowSlideNext: s, allowSlidePrev: n, snapGrid: r } = e,
3105    o = e.virtual && e.params.virtual.enabled;
3106  (e.allowSlideNext = !0),
3107    (e.allowSlidePrev = !0),
3108    e.updateSize(),
3109    e.updateSlides(),
3110    e.updateSlidesClasses();
3111  const a = o && t.loop;
3112  !("auto" === t.slidesPerView || t.slidesPerView > 1) ||
3113  !e.isEnd ||
3114  e.isBeginning ||
3115  e.params.centeredSlides ||
3116  a
3117    ? e.params.loop && !o
3118      ? e.slideToLoop(e.realIndex, 0, !1, !0)
3119      : e.slideTo(e.activeIndex, 0, !1, !0)
3120    : e.slideTo(e.slides.length - 1, 0, !1, !0),
3121    e.autoplay &&
3122      e.autoplay.running &&
3123      e.autoplay.paused &&
3124      (clearTimeout(et),
3125      (et = setTimeout(() => {
3126        e.autoplay &&
3127          e.autoplay.running &&
3128          e.autoplay.paused &&
3129          e.autoplay.resume();
3130      }, 500))),
3131    (e.allowSlidePrev = n),
3132    (e.allowSlideNext = s),
3133    e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow();
3134}
3135function it(e) {
3136  const t = this;
3137  t.enabled &&
3138    (t.allowClick ||
3139      (t.params.preventClicks && e.preventDefault(),
3140      t.params.preventClicksPropagation &&
3141        t.animating &&
3142        (e.stopPropagation(), e.stopImmediatePropagation())));
3143}
3144function st() {
3145  const e = this,
3146    { wrapperEl: t, rtlTranslate: i, enabled: s } = e;
3147  if (!s) return;
3148  let n;
3149  (e.previousTranslate = e.translate),
3150    e.isHorizontal()
3151      ? (e.translate = -t.scrollLeft)
3152      : (e.translate = -t.scrollTop),
3153    0 === e.translate && (e.translate = 0),
3154    e.updateActiveIndex(),
3155    e.updateSlidesClasses();
3156  const r = e.maxTranslate() - e.minTranslate();
3157  (n = 0 === r ? 0 : (e.translate - e.minTranslate()) / r),
3158    n !== e.progress && e.updateProgress(i ? -e.translate : e.translate),
3159    e.emit("setTranslate", e.translate, !1);
3160}
3161const nt = (e, t) => {
3162  if (!e || e.destroyed || !e.params) return;
3163  const i = t.closest(e.isElement ? "swiper-slide" : `.${e.params.slideClass}`);
3164  if (i) {
3165    const t = i.querySelector(`.${e.params.lazyPreloaderClass}`);
3166    t && t.remove();
3167  }
3168};
3169function rt(e) {
3170  nt(this, e.target), this.update();
3171}
3172let ot = !1;
3173function at() {}
3174const lt = (e, t) => {
3175  const i = xe(),
3176    { params: s, el: n, wrapperEl: r, device: o } = e,
3177    a = !!s.nested,
3178    l = "on" === t ? "addEventListener" : "removeEventListener",
3179    c = t;
3180  n[l]("pointerdown", e.onTouchStart, { passive: !1 }),
3181    i[l]("pointermove", e.onTouchMove, { passive: !1, capture: a }),
3182    i[l]("pointerup", e.onTouchEnd, { passive: !0 }),
3183    i[l]("pointercancel", e.onTouchEnd, { passive: !0 }),
3184    i[l]("pointerout", e.onTouchEnd, { passive: !0 }),
3185    i[l]("pointerleave", e.onTouchEnd, { passive: !0 }),
3186    (s.preventClicks || s.preventClicksPropagation) &&
3187      n[l]("click", e.onClick, !0),
3188    s.cssMode && r[l]("scroll", e.onScroll),
3189    s.updateOnWindowResize
3190      ? e[c](
3191          o.ios || o.android
3192            ? "resize orientationchange observerUpdate"
3193            : "resize observerUpdate",
3194          tt,
3195          !0
3196        )
3197      : e[c]("observerUpdate", tt, !0),
3198    n[l]("load", e.onLoad, { capture: !0 });
3199};
3200const ct = (e, t) => e.grid && t.grid && t.grid.rows > 1;
3201var dt = {
3202  setBreakpoint: function () {
3203    const e = this,
3204      { realIndex: t, initialized: i, params: s, el: n } = e,
3205      r = s.breakpoints;
3206    if (!r || (r && 0 === Object.keys(r).length)) return;
3207    const o = e.getBreakpoint(r, e.params.breakpointsBase, e.el);
3208    if (!o || e.currentBreakpoint === o) return;
3209    const a = (o in r ? r[o] : void 0) || e.originalParams,
3210      l = ct(e, s),
3211      c = ct(e, a),
3212      d = s.enabled;
3213    l && !c
3214      ? (n.classList.remove(
3215          `${s.containerModifierClass}grid`,
3216          `${s.containerModifierClass}grid-column`
3217        ),
3218        e.emitContainerClasses())
3219      : !l &&
3220        c &&
3221        (n.classList.add(`${s.containerModifierClass}grid`),
3222        ((a.grid.fill && "column" === a.grid.fill) ||
3223          (!a.grid.fill && "column" === s.grid.fill)) &&
3224          n.classList.add(`${s.containerModifierClass}grid-column`),
3225        e.emitContainerClasses()),
3226      ["navigation", "pagination", "scrollbar"].forEach((t) => {
3227        const i = s[t] && s[t].enabled,
3228          n = a[t] && a[t].enabled;
3229        i && !n && e[t].disable(), !i && n && e[t].enable();
3230      });
3231    const p = a.direction && a.direction !== s.direction,
3232      u = s.loop && (a.slidesPerView !== s.slidesPerView || p);
3233    p && i && e.changeDirection(), ke(e.params, a);
3234    const h = e.params.enabled;
3235    Object.assign(e, {
3236      allowTouchMove: e.params.allowTouchMove,
3237      allowSlideNext: e.params.allowSlideNext,
3238      allowSlidePrev: e.params.allowSlidePrev,
3239    }),
3240      d && !h ? e.disable() : !d && h && e.enable(),
3241      (e.currentBreakpoint = o),
3242      e.emit("_beforeBreakpoint", a),
3243      u && i && (e.loopDestroy(), e.loopCreate(t), e.updateSlides()),
3244      e.emit("breakpoint", a);
3245  },
3246  getBreakpoint: function (e, t = "window", i) {
3247    if (!e || ("container" === t && !i)) return;
3248    let s = !1;
3249    const n = ye(),
3250      r = "window" === t ? n.innerHeight : i.clientHeight,
3251      o = Object.keys(e).map((e) => {
3252        if ("string" == typeof e && 0 === e.indexOf("@")) {
3253          const t = parseFloat(e.substr(1));
3254          return { value: r * t, point: e };
3255        }
3256        return { value: e, point: e };
3257      });
3258    o.sort((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10));
3259    for (let e = 0; e < o.length; e += 1) {
3260      const { point: r, value: a } = o[e];
3261      "window" === t
3262        ? n.matchMedia(`(min-width: ${a}px)`).matches && (s = r)
3263        : a <= i.clientWidth && (s = r);
3264    }
3265    return s || "max";
3266  },
3267};
3268var pt = {
3269  init: !0,
3270  direction: "horizontal",
3271  oneWayMovement: !1,
3272  touchEventsTarget: "wrapper",
3273  initialSlide: 0,
3274  speed: 300,
3275  cssMode: !1,
3276  updateOnWindowResize: !0,
3277  resizeObserver: !0,
3278  nested: !1,
3279  createElements: !1,
3280  enabled: !0,
3281  focusableElements: "input, select, option, textarea, button, video, label",
3282  width: null,
3283  height: null,
3284  preventInteractionOnTransition: !1,
3285  userAgent: null,
3286  url: null,
3287  edgeSwipeDetection: !1,
3288  edgeSwipeThreshold: 20,
3289  autoHeight: !1,
3290  setWrapperSize: !1,
3291  virtualTranslate: !1,
3292  effect: "slide",
3293  breakpoints: void 0,
3294  breakpointsBase: "window",
3295  spaceBetween: 0,
3296  slidesPerView: 1,
3297  slidesPerGroup: 1,
3298  slidesPerGroupSkip: 0,
3299  slidesPerGroupAuto: !1,
3300  centeredSlides: !1,
3301  centeredSlidesBounds: !1,
3302  slidesOffsetBefore: 0,
3303  slidesOffsetAfter: 0,
3304  normalizeSlideIndex: !0,
3305  centerInsufficientSlides: !1,
3306  watchOverflow: !0,
3307  roundLengths: !1,
3308  touchRatio: 1,
3309  touchAngle: 45,
3310  simulateTouch: !0,
3311  shortSwipes: !0,
3312  longSwipes: !0,
3313  longSwipesRatio: 0.5,
3314  longSwipesMs: 300,
3315  followFinger: !0,
3316  allowTouchMove: !0,
3317  threshold: 5,
3318  touchMoveStopPropagation: !1,
3319  touchStartPreventDefault: !0,
3320  touchStartForcePreventDefault: !1,
3321  touchReleaseOnEdges: !1,
3322  uniqueNavElements: !0,
3323  resistance: !0,
3324  resistanceRatio: 0.85,
3325  watchSlidesProgress: !1,
3326  grabCursor: !1,
3327  preventClicks: !0,
3328  preventClicksPropagation: !0,
3329  slideToClickedSlide: !1,
3330  loop: !1,
3331  loopedSlides: null,
3332  loopPreventsSliding: !0,
3333  rewind: !1,
3334  allowSlidePrev: !0,
3335  allowSlideNext: !0,
3336  swipeHandler: null,
3337  noSwiping: !0,
3338  noSwipingClass: "swiper-no-swiping",
3339  noSwipingSelector: null,
3340  passiveListeners: !0,
3341  maxBackfaceHiddenSlides: 10,
3342  containerModifierClass: "swiper-",
3343  slideClass: "swiper-slide",
3344  slideActiveClass: "swiper-slide-active",
3345  slideVisibleClass: "swiper-slide-visible",
3346  slideNextClass: "swiper-slide-next",
3347  slidePrevClass: "swiper-slide-prev",
3348  wrapperClass: "swiper-wrapper",
3349  lazyPreloaderClass: "swiper-lazy-preloader",
3350  runCallbacksOnInit: !0,
3351  _emitClasses: !1,
3352};
3353function ut(e, t) {
3354  return function (i = {}) {
3355    const s = Object.keys(i)[0],
3356      n = i[s];
3357    "object" == typeof n && null !== n
3358      ? (["navigation", "pagination", "scrollbar"].indexOf(s) >= 0 &&
3359          !0 === e[s] &&
3360          (e[s] = { auto: !0 }),
3361        s in e && "enabled" in n
3362          ? (!0 === e[s] && (e[s] = { enabled: !0 }),
3363            "object" != typeof e[s] || "enabled" in e[s] || (e[s].enabled = !0),
3364            e[s] || (e[s] = { enabled: !1 }),
3365            ke(t, i))
3366          : ke(t, i))
3367      : ke(t, i);
3368  };
3369}
3370const ht = {
3371    eventsEmitter: Ve,
3372    update: He,
3373    translate: Qe,
3374    transition: {
3375      setTransition: function (e, t) {
3376        const i = this;
3377        i.params.cssMode || (i.wrapperEl.style.transitionDuration = `${e}ms`),
3378          i.emit("setTransition", e, t);
3379      },
3380      transitionStart: function (e = !0, t) {
3381        const i = this,
3382          { params: s } = i;
3383        s.cssMode ||
3384          (s.autoHeight && i.updateAutoHeight(),
3385          Xe({ swiper: i, runCallbacks: e, direction: t, step: "Start" }));
3386      },
3387      transitionEnd: function (e = !0, t) {
3388        const i = this,
3389          { params: s } = i;
3390        (i.animating = !1),
3391          s.cssMode ||
3392            (i.setTransition(0),
3393            Xe({ swiper: i, runCallbacks: e, direction: t, step: "End" }));
3394      },
3395    },
3396    slide: Ze,
3397    loop: We,
3398    grabCursor: {
3399      setGrabCursor: function (e) {
3400        const t = this;
3401        if (
3402          !t.params.simulateTouch ||
3403          (t.params.watchOverflow && t.isLocked) ||
3404          t.params.cssMode
3405        )
3406          return;
3407        const i =
3408          "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl;
3409        t.isElement && (t.m = !0),
3410          (i.style.cursor = "move"),
3411          (i.style.cursor = e ? "grabbing" : "grab"),
3412          t.isElement &&
3413            requestAnimationFrame(() => {
3414              t.m = !1;
3415            });
3416      },
3417      unsetGrabCursor: function () {
3418        const e = this;
3419        (e.params.watchOverflow && e.isLocked) ||
3420          e.params.cssMode ||
3421          (e.isElement && (e.m = !0),
3422          (e[
3423            "container" === e.params.touchEventsTarget ? "el" : "wrapperEl"
3424          ].style.cursor = ""),
3425          e.isElement &&
3426            requestAnimationFrame(() => {
3427              e.m = !1;
3428            }));
3429      },
3430    },
3431    events: {
3432      attachEvents: function () {
3433        const e = this,
3434          t = xe(),
3435          { params: i } = e;
3436        (e.onTouchStart = qe.bind(e)),
3437          (e.onTouchMove = Ke.bind(e)),
3438          (e.onTouchEnd = Je.bind(e)),
3439          i.cssMode && (e.onScroll = st.bind(e)),
3440          (e.onClick = it.bind(e)),
3441          (e.onLoad = rt.bind(e)),
3442          ot || (t.addEventListener("touchstart", at), (ot = !0)),
3443          lt(e, "on");
3444      },
3445      detachEvents: function () {
3446        lt(this, "off");
3447      },
3448    },
3449    breakpoints: dt,
3450    checkOverflow: {
3451      checkOverflow: function () {
3452        const e = this,
3453          { isLocked: t, params: i } = e,
3454          { slidesOffsetBefore: s } = i;
3455        if (s) {
3456          const t = e.slides.length - 1,
3457            i = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * s;
3458          e.isLocked = e.size > i;
3459        } else e.isLocked = 1 === e.snapGrid.length;
3460        !0 === i.allowSlideNext && (e.allowSlideNext = !e.isLocked),
3461          !0 === i.allowSlidePrev && (e.allowSlidePrev = !e.isLocked),
3462          t && t !== e.isLocked && (e.isEnd = !1),
3463          t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock");
3464      },
3465    },
3466    classes: {
3467      addClasses: function () {
3468        const e = this,
3469          { classNames: t, params: i, rtl: s, el: n, device: r } = e,
3470          o = (function (e, t) {
3471            const i = [];
3472            return (
3473              e.forEach((e) => {
3474                "object" == typeof e
3475                  ? Object.keys(e).forEach((s) => {
3476                      e[s] && i.push(t + s);
3477                    })
3478                  : "string" == typeof e && i.push(t + e);
3479              }),
3480              i
3481            );
3482          })(
3483            [
3484              "initialized",
3485              i.direction,
3486              { "free-mode": e.params.freeMode && i.freeMode.enabled },
3487              { autoheight: i.autoHeight },
3488              { rtl: s },
3489              { grid: i.grid && i.grid.rows > 1 },
3490              {
3491                "grid-column":
3492                  i.grid && i.grid.rows > 1 && "column" === i.grid.fill,
3493              },
3494              { android: r.android },
3495              { ios: r.ios },
3496              { "css-mode": i.cssMode },
3497              { centered: i.cssMode && i.centeredSlides },
3498              { "watch-progress": i.watchSlidesProgress },
3499            ],
3500            i.containerModifierClass
3501          );
3502        t.push(...o), n.classList.add(...t), e.emitContainerClasses();
3503      },
3504      removeClasses: function () {
3505        const { el: e, classNames: t } = this;
3506        e.classList.remove(...t), this.emitContainerClasses();
3507      },
3508    },
3509  },
3510  ft = {};
3511class wt {
3512  constructor(...e) {
3513    let t, i;
3514    1 === e.length &&
3515    e[0].constructor &&
3516    "Object" === Object.prototype.toString.call(e[0]).slice(8, -1)
3517      ? (i = e[0])
3518      : ([t, i] = e),
3519      i || (i = {}),
3520      (i = ke({}, i)),
3521      t && !i.el && (i.el = t);
3522    const s = xe();
3523    if (
3524      i.el &&
3525      "string" == typeof i.el &&
3526      s.querySelectorAll(i.el).length > 1
3527    ) {
3528      const e = [];
3529      return (
3530        s.querySelectorAll(i.el).forEach((t) => {
3531          const s = ke({}, i, { el: t });
3532          e.push(new wt(s));
3533        }),
3534        e
3535      );
3536    }
3537    const n = this;
3538    (n.i = !0),
3539      (n.support = Ye()),
3540      (n.device = Ne({ userAgent: i.userAgent })),
3541      (n.browser = Ue()),
3542      (n.eventsListeners = {}),
3543      (n.eventsAnyListeners = []),
3544      (n.modules = [...n.A]),
3545      i.modules && Array.isArray(i.modules) && n.modules.push(...i.modules);
3546    const r = {};
3547    n.modules.forEach((e) => {
3548      e({
3549        params: i,
3550        swiper: n,
3551        extendParams: ut(i, r),
3552        on: n.on.bind(n),
3553        once: n.once.bind(n),
3554        off: n.off.bind(n),
3555        emit: n.emit.bind(n),
3556      });
3557    });
3558    const o = ke({}, pt, r);
3559    return (
3560      (n.params = ke({}, o, ft, i)),
3561      (n.originalParams = ke({}, n.params)),
3562      (n.passedParams = ke({}, i)),
3563      n.params &&
3564        n.params.on &&
3565        Object.keys(n.params.on).forEach((e) => {
3566          n.on(e, n.params.on[e]);
3567        }),
3568      n.params && n.params.onAny && n.onAny(n.params.onAny),
3569      Object.assign(n, {
3570        enabled: n.params.enabled,
3571        el: t,
3572        classNames: [],
3573        slides: [],
3574        slidesGrid: [],
3575        snapGrid: [],
3576        slidesSizesGrid: [],
3577        isHorizontal: () => "horizontal" === n.params.direction,
3578        isVertical: () => "vertical" === n.params.direction,
3579        activeIndex: 0,
3580        realIndex: 0,
3581        isBeginning: !0,
3582        isEnd: !1,
3583        translate: 0,
3584        previousTranslate: 0,
3585        progress: 0,
3586        velocity: 0,
3587        animating: !1,
3588        allowSlideNext: n.params.allowSlideNext,
3589        allowSlidePrev: n.params.allowSlidePrev,
3590        touchEventsData: {
3591          isTouched: void 0,
3592          isMoved: void 0,
3593          allowTouchCallbacks: void 0,
3594          touchStartTime: void 0,
3595          isScrolling: void 0,
3596          currentTranslate: void 0,
3597          startTranslate: void 0,
3598          allowThresholdMove: void 0,
3599          focusableElements: n.params.focusableElements,
3600          lastClickTime: $e(),
3601          clickTimeout: void 0,
3602          velocities: [],
3603          allowMomentumBounce: void 0,
3604          startMoving: void 0,
3605          evCache: [],
3606        },
3607        allowClick: !0,
3608        allowTouchMove: n.params.allowTouchMove,
3609        touches: { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0 },
3610        imagesToLoad: [],
3611        imagesLoaded: 0,
3612      }),
3613      n.emit("_swiper"),
3614      n.params.init && n.init(),
3615      n
3616    );
3617  }
3618  getSlideIndex(e) {
3619    const { slidesEl: t, params: i } = this,
3620      s = Ie(Pe(t, `.${i.slideClass}, swiper-slide`)[0]);
3621    return Ie(e) - s;
3622  }
3623  getSlideIndexByData(e) {
3624    return this.getSlideIndex(
3625      this.slides.filter(
3626        (t) => 1 * t.getAttribute("data-swiper-slide-index") === e
3627      )[0]
3628    );
3629  }
3630  recalcSlides() {
3631    const { slidesEl: e, params: t } = this;
3632    this.slides = Pe(e, `.${t.slideClass}, swiper-slide`);
3633  }
3634  enable() {
3635    const e = this;
3636    e.enabled ||
3637      ((e.enabled = !0),
3638      e.params.grabCursor && e.setGrabCursor(),
3639      e.emit("enable"));
3640  }
3641  disable() {
3642    const e = this;
3643    e.enabled &&
3644      ((e.enabled = !1),
3645      e.params.grabCursor && e.unsetGrabCursor(),
3646      e.emit("disable"));
3647  }
3648  setProgress(e, t) {
3649    const i = this;
3650    e = Math.min(Math.max(e, 0), 1);
3651    const s = i.minTranslate(),
3652      n = (i.maxTranslate() - s) * e + s;
3653    i.translateTo(n, void 0 === t ? 0 : t),
3654      i.updateActiveIndex(),
3655      i.updateSlidesClasses();
3656  }
3657  emitContainerClasses() {
3658    const e = this;
3659    if (!e.params._emitClasses || !e.el) return;
3660    const t = e.el.className
3661      .split(" ")
3662      .filter(
3663        (t) =>
3664          0 === t.indexOf("swiper") ||
3665          0 === t.indexOf(e.params.containerModifierClass)
3666      );
3667    e.emit("_containerClasses", t.join(" "));
3668  }
3669  getSlideClasses(e) {
3670    const t = this;
3671    return t.destroyed
3672      ? ""
3673      : e.className
3674          .split(" ")
3675          .filter(
3676            (e) =>
3677              0 === e.indexOf("swiper-slide") ||
3678              0 === e.indexOf(t.params.slideClass)
3679          )
3680          .join(" ");
3681  }
3682  emitSlidesClasses() {
3683    const e = this;
3684    if (!e.params._emitClasses || !e.el) return;
3685    const t = [];
3686    e.slides.forEach((i) => {
3687      const s = e.getSlideClasses(i);
3688      t.push({ slideEl: i, classNames: s }), e.emit("_slideClass", i, s);
3689    }),
3690      e.emit("_slideClasses", t);
3691  }
3692  slidesPerViewDynamic(e = "current", t = !1) {
3693    const {
3694      params: i,
3695      slides: s,
3696      slidesGrid: n,
3697      slidesSizesGrid: r,
3698      size: o,
3699      activeIndex: a,
3700    } = this;
3701    let l = 1;
3702    if (i.centeredSlides) {
3703      let e,
3704        t = s[a].swiperSlideSize;
3705      for (let i = a + 1; i < s.length; i += 1)
3706        s[i] &&
3707          !e &&
3708          ((t += s[i].swiperSlideSize), (l += 1), t > o && (e = !0));
3709      for (let i = a - 1; i >= 0; i -= 1)
3710        s[i] &&
3711          !e &&
3712          ((t += s[i].swiperSlideSize), (l += 1), t > o && (e = !0));
3713    } else if ("current" === e)
3714      for (let e = a + 1; e < s.length; e += 1) {
3715        (t ? n[e] + r[e] - n[a] < o : n[e] - n[a] < o) && (l += 1);
3716      }
3717    else
3718      for (let e = a - 1; e >= 0; e -= 1) {
3719        n[a] - n[e] < o && (l += 1);
3720      }
3721    return l;
3722  }
3723  update() {
3724    const e = this;
3725    if (!e || e.destroyed) return;
3726    const { snapGrid: t, params: i } = e;
3727    function s() {
3728      const t = e.rtlTranslate ? -1 * e.translate : e.translate,
3729        i = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
3730      e.setTranslate(i), e.updateActiveIndex(), e.updateSlidesClasses();
3731    }
3732    let n;
3733    i.breakpoints && e.setBreakpoint(),
3734      [...e.el.querySelectorAll('[loading="lazy"]')].forEach((t) => {
3735        t.complete && nt(e, t);
3736      }),
3737      e.updateSize(),
3738      e.updateSlides(),
3739      e.updateProgress(),
3740      e.updateSlidesClasses(),
3741      e.params.freeMode && e.params.freeMode.enabled
3742        ? (s(), e.params.autoHeight && e.updateAutoHeight())
3743        : ((n =
3744            ("auto" === e.params.slidesPerView || e.params.slidesPerView > 1) &&
3745            e.isEnd &&
3746            !e.params.centeredSlides
3747              ? e.slideTo(e.slides.length - 1, 0, !1, !0)
3748              : e.slideTo(e.activeIndex, 0, !1, !0)),
3749          n || s()),
3750      i.watchOverflow && t !== e.snapGrid && e.checkOverflow(),
3751      e.emit("update");
3752  }
3753  changeDirection(e, t = !0) {
3754    const i = this,
3755      s = i.params.direction;
3756    return (
3757      e || (e = "horizontal" === s ? "vertical" : "horizontal"),
3758      e === s ||
3759        ("horizontal" !== e && "vertical" !== e) ||
3760        (i.el.classList.remove(`${i.params.containerModifierClass}${s}`),
3761        i.el.classList.add(`${i.params.containerModifierClass}${e}`),
3762        i.emitContainerClasses(),
3763        (i.params.direction = e),
3764        i.slides.forEach((t) => {
3765          "vertical" === e ? (t.style.width = "") : (t.style.height = "");
3766        }),
3767        i.emit("changeDirection"),
3768        t && i.update()),
3769      i
3770    );
3771  }
3772  changeLanguageDirection(e) {
3773    const t = this;
3774    (t.rtl && "rtl" === e) ||
3775      (!t.rtl && "ltr" === e) ||
3776      ((t.rtl = "rtl" === e),
3777      (t.rtlTranslate = "horizontal" === t.params.direction && t.rtl),
3778      t.rtl
3779        ? (t.el.classList.add(`${t.params.containerModifierClass}rtl`),
3780          (t.el.dir = "rtl"))
3781        : (t.el.classList.remove(`${t.params.containerModifierClass}rtl`),
3782          (t.el.dir = "ltr")),
3783      t.update());
3784  }
3785  mount(e) {
3786    const t = this;
3787    if (t.mounted) return !0;
3788    let i = e || t.params.el;
3789    if (("string" == typeof i && (i = document.querySelector(i)), !i))
3790      return !1;
3791    (i.swiper = t), i.shadowEl && (t.isElement = !0);
3792    const s = () =>
3793      `.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`;
3794    let n = (() => {
3795      if (i && i.shadowRoot && i.shadowRoot.querySelector) {
3796        return i.shadowRoot.querySelector(s());
3797      }
3798      return Pe(i, s())[0];
3799    })();
3800    return (
3801      !n &&
3802        t.params.createElements &&
3803        ((n = Oe("div", t.params.wrapperClass)),
3804        i.append(n),
3805        Pe(i, `.${t.params.slideClass}`).forEach((e) => {
3806          n.append(e);
3807        })),
3808      Object.assign(t, {
3809        el: i,
3810        wrapperEl: n,
3811        slidesEl: t.isElement ? i : n,
3812        mounted: !0,
3813        rtl: "rtl" === i.dir.toLowerCase() || "rtl" === Be(i, "direction"),
3814        rtlTranslate:
3815          "horizontal" === t.params.direction &&
3816          ("rtl" === i.dir.toLowerCase() || "rtl" === Be(i, "direction")),
3817        wrongRTL: "-webkit-box" === Be(n, "display"),
3818      }),
3819      !0
3820    );
3821  }
3822  init(e) {
3823    const t = this;
3824    if (t.initialized) return t;
3825    return (
3826      !1 === t.mount(e) ||
3827        (t.emit("beforeInit"),
3828        t.params.breakpoints && t.setBreakpoint(),
3829        t.addClasses(),
3830        t.updateSize(),
3831        t.updateSlides(),
3832        t.params.watchOverflow && t.checkOverflow(),
3833        t.params.grabCursor && t.enabled && t.setGrabCursor(),
3834        t.params.loop && t.virtual && t.params.virtual.enabled
3835          ? t.slideTo(
3836              t.params.initialSlide + t.virtual.slidesBefore,
3837              0,
3838              t.params.runCallbacksOnInit,
3839              !1,
3840              !0
3841            )
3842          : t.slideTo(
3843              t.params.initialSlide,
3844              0,
3845              t.params.runCallbacksOnInit,
3846              !1,
3847              !0
3848            ),
3849        t.params.loop && t.loopCreate(),
3850        t.attachEvents(),
3851        [...t.el.querySelectorAll('[loading="lazy"]')].forEach((e) => {
3852          e.complete
3853            ? nt(t, e)
3854            : e.addEventListener("load", (e) => {
3855                nt(t, e.target);
3856              });
3857        }),
3858        (t.initialized = !0),
3859        t.emit("init"),
3860        t.emit("afterInit")),
3861      t
3862    );
3863  }
3864  destroy(e = !0, t = !0) {
3865    const i = this,
3866      { params: s, el: n, wrapperEl: r, slides: o } = i;
3867    return (
3868      void 0 === i.params ||
3869        i.destroyed ||
3870        (i.emit("beforeDestroy"),
3871        (i.initialized = !1),
3872        i.detachEvents(),
3873        s.loop && i.loopDestroy(),
3874        t &&
3875          (i.removeClasses(),
3876          n.removeAttribute("style"),
3877          r.removeAttribute("style"),
3878          o &&
3879            o.length &&
3880            o.forEach((e) => {
3881              e.classList.remove(
3882                s.slideVisibleClass,
3883                s.slideActiveClass,
3884                s.slideNextClass,
3885                s.slidePrevClass
3886              ),
3887                e.removeAttribute("style"),
3888                e.removeAttribute("data-swiper-slide-index");
3889            })),
3890        i.emit("destroy"),
3891        Object.keys(i.eventsListeners).forEach((e) => {
3892          i.off(e);
3893        }),
3894        !1 !== e &&
3895          ((i.el.swiper = null),
3896          (function (e) {
3897            const t = e;
3898            Object.keys(t).forEach((e) => {
3899              try {
3900                t[e] = null;
3901              } catch (e) {}
3902              try {
3903                delete t[e];
3904              } catch (e) {}
3905            });
3906          })(i)),
3907        (i.destroyed = !0)),
3908      null
3909    );
3910  }
3911  static extendDefaults(e) {
3912    ke(ft, e);
3913  }
3914  static get extendedDefaults() {
3915    return ft;
3916  }
3917  static get defaults() {
3918    return pt;
3919  }
3920  static installModule(e) {
3921    wt.prototype.A || (wt.prototype.A = []);
3922    const t = wt.prototype.A;
3923    "function" == typeof e && t.indexOf(e) < 0 && t.push(e);
3924  }
3925  static use(e) {
3926    return Array.isArray(e)
3927      ? (e.forEach((e) => wt.installModule(e)), wt)
3928      : (wt.installModule(e), wt);
3929  }
3930}
3931function vt(e, t, i, s) {
3932  return (
3933    e.params.createElements &&
3934      Object.keys(s).forEach((n) => {
3935        if (!i[n] && !0 === i.auto) {
3936          let r = Pe(e.el, `.${s[n]}`)[0];
3937          r || ((r = Oe("div", s[n])), (r.className = s[n]), e.el.append(r)),
3938            (i[n] = r),
3939            (t[n] = r);
3940        }
3941      }),
3942    i
3943  );
3944}
3945function gt(e = "") {
3946  return `.${e
3947    .trim()
3948    .replace(/([\.:!+\/])/g, "\\$1")
3949    .replace(/ /g, ".")}`;
3950}
3951function bt(e) {
3952  const t = this,
3953    { params: i, slidesEl: s } = t;
3954  i.loop && t.loopDestroy();
3955  const n = (e) => {
3956    if ("string" == typeof e) {
3957      const t = document.createElement("div");
3958      (t.innerHTML = e), s.append(t.children[0]), (t.innerHTML = "");
3959    } else s.append(e);
3960  };
3961  if ("object" == typeof e && "length" in e)
3962    for (let t = 0; t < e.length; t += 1) e[t] && n(e[t]);
3963  else n(e);
3964  t.recalcSlides(),
3965    i.loop && t.loopCreate(),
3966    (i.observer && !t.isElement) || t.update();
3967}
3968function mt(e) {
3969  const t = this,
3970    { params: i, activeIndex: s, slidesEl: n } = t;
3971  i.loop && t.loopDestroy();
3972  let r = s + 1;
3973  const o = (e) => {
3974    if ("string" == typeof e) {
3975      const t = document.createElement("div");
3976      (t.innerHTML = e), n.prepend(t.children[0]), (t.innerHTML = "");
3977    } else n.prepend(e);
3978  };
3979  if ("object" == typeof e && "length" in e) {
3980    for (let t = 0; t < e.length; t += 1) e[t] && o(e[t]);
3981    r = s + e.length;
3982  } else o(e);
3983  t.recalcSlides(),
3984    i.loop && t.loopCreate(),
3985    (i.observer && !t.isElement) || t.update(),
3986    t.slideTo(r, 0, !1);
3987}
3988function xt(e, t) {
3989  const i = this,
3990    { params: s, activeIndex: n, slidesEl: r } = i;
3991  let o = n;
3992  s.loop && ((o -= i.loopedSlides), i.loopDestroy(), i.recalcSlides());
3993  const a = i.slides.length;
3994  if (e <= 0) return void i.prependSlide(t);
3995  if (e >= a) return void i.appendSlide(t);
3996  let l = o > e ? o + 1 : o;
3997  const c = [];
3998  for (let t = a - 1; t >= e; t -= 1) {
3999    const e = i.slides[t];
4000    e.remove(), c.unshift(e);
4001  }
4002  if ("object" == typeof t && "length" in t) {
4003    for (let e = 0; e < t.length; e += 1) t[e] && r.append(t[e]);
4004    l = o > e ? o + t.length : o;
4005  } else r.append(t);
4006  for (let e = 0; e < c.length; e += 1) r.append(c[e]);
4007  i.recalcSlides(),
4008    s.loop && i.loopCreate(),
4009    (s.observer && !i.isElement) || i.update(),
4010    s.loop ? i.slideTo(l + i.loopedSlides, 0, !1) : i.slideTo(l, 0, !1);
4011}
4012function At(e) {
4013  const t = this,
4014    { params: i, activeIndex: s } = t;
4015  let n = s;
4016  i.loop && ((n -= t.loopedSlides), t.loopDestroy());
4017  let r,
4018    o = n;
4019  if ("object" == typeof e && "length" in e) {
4020    for (let i = 0; i < e.length; i += 1)
4021      (r = e[i]), t.slides[r] && t.slides[r].remove(), r < o && (o -= 1);
4022    o = Math.max(o, 0);
4023  } else
4024    (r = e),
4025      t.slides[r] && t.slides[r].remove(),
4026      r < o && (o -= 1),
4027      (o = Math.max(o, 0));
4028  t.recalcSlides(),
4029    i.loop && t.loopCreate(),
4030    (i.observer && !t.isElement) || t.update(),
4031    i.loop ? t.slideTo(o + t.loopedSlides, 0, !1) : t.slideTo(o, 0, !1);
4032}
4033function yt() {
4034  const e = this,
4035    t = [];
4036  for (let i = 0; i < e.slides.length; i += 1) t.push(i);
4037  e.removeSlide(t);
4038}
4039function Mt(e) {
4040  const {
4041    effect: t,
4042    swiper: i,
4043    on: s,
4044    setTranslate: n,
4045    setTransition: r,
4046    overwriteParams: o,
4047    perspective: a,
4048    recreateShadows: l,
4049    getEffectParams: c,
4050  } = e;
4051  let d;
4052  s("beforeInit", () => {
4053    if (i.params.effect !== t) return;
4054    i.classNames.push(`${i.params.containerModifierClass}${t}`),
4055      a && a() && i.classNames.push(`${i.params.containerModifierClass}3d`);
4056    const e = o ? o() : {};
4057    Object.assign(i.params, e), Object.assign(i.originalParams, e);
4058  }),
4059    s("setTranslate", () => {
4060      i.params.effect === t && n();
4061    }),
4062    s("setTransition", (e, s) => {
4063      i.params.effect === t && r(s);
4064    }),
4065    s("transitionEnd", () => {
4066      if (i.params.effect === t && l) {
4067        if (!c || !c().slideShadows) return;
4068        i.slides.forEach((e) => {
4069          e.querySelectorAll(
4070            ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
4071          ).forEach((e) => e.remove());
4072        }),
4073          l();
4074      }
4075    }),
4076    s("virtualUpdate", () => {
4077      i.params.effect === t &&
4078        (i.slides.length || (d = !0),
4079        requestAnimationFrame(() => {
4080          d && i.slides && i.slides.length && (n(), (d = !1));
4081        }));
4082    });
4083}
4084function $t(e, t) {
4085  const i = ze(t);
4086  return (
4087    i !== t &&
4088      ((i.style.backfaceVisibility = "hidden"),
4089      (i.style["-webkit-backface-visibility"] = "hidden")),
4090    i
4091  );
4092}
4093function St({ swiper: e, duration: t, transformElements: i, allSlides: s }) {
4094  const { activeIndex: n } = e;
4095  if (e.params.virtualTranslate && 0 !== t) {
4096    let t,
4097      r = !1;
4098    (t = s
4099      ? i
4100      : i.filter((t) => {
4101          const i = t.classList.contains("swiper-slide-transform")
4102            ? ((t) => {
4103                if (!t.parentElement)
4104                  return e.slides.filter(
4105                    (e) => e.shadowEl && e.shadowEl === t.parentNode
4106                  )[0];
4107                return t.parentElement;
4108              })(t)
4109            : t;
4110          return e.getSlideIndex(i) === n;
4111        })),
4112      t.forEach((t) => {
4113        _e(t, () => {
4114          if (r) return;
4115          if (!e || e.destroyed) return;
4116          (r = !0), (e.animating = !1);
4117          const t = new window.CustomEvent("transitionend", {
4118            bubbles: !0,
4119            cancelable: !0,
4120          });
4121          e.wrapperEl.dispatchEvent(t);
4122        });
4123      });
4124  }
4125}
4126function Et(e, t, i) {
4127  const s = "swiper-slide-shadow" + (i ? `-${i}` : ""),
4128    n = ze(t);
4129  let r = n.querySelector(`.${s}`);
4130  return (
4131    r ||
4132      ((r = Oe("div", "swiper-slide-shadow" + (i ? `-${i}` : ""))),
4133      n.append(r)),
4134    r
4135  );
4136}
4137Object.keys(ht).forEach((e) => {
4138  Object.keys(ht[e]).forEach((t) => {
4139    wt.prototype[t] = ht[e][t];
4140  });
4141}),
4142  wt.use([
4143    function ({ swiper: e, on: t, emit: i }) {
4144      const s = ye();
4145      let n = null,
4146        r = null;
4147      const o = () => {
4148          e &&
4149            !e.destroyed &&
4150            e.initialized &&
4151            (i("beforeResize"), i("resize"));
4152        },
4153        a = () => {
4154          e && !e.destroyed && e.initialized && i("orientationchange");
4155        };
4156      t("init", () => {
4157        e.params.resizeObserver && void 0 !== s.ResizeObserver
4158          ? e &&
4159            !e.destroyed &&
4160            e.initialized &&
4161            ((n = new ResizeObserver((t) => {
4162              r = s.requestAnimationFrame(() => {
4163                const { width: i, height: s } = e;
4164                let n = i,
4165                  r = s;
4166                t.forEach(
4167                  ({ contentBoxSize: t, contentRect: i, target: s }) => {
4168                    (s && s !== e.el) ||
4169                      ((n = i ? i.width : (t[0] || t).inlineSize),
4170                      (r = i ? i.height : (t[0] || t).blockSize));
4171                  }
4172                ),
4173                  (n === i && r === s) || o();
4174              });
4175            })),
4176            n.observe(e.el))
4177          : (s.addEventListener("resize", o),
4178            s.addEventListener("orientationchange", a));
4179      }),
4180        t("destroy", () => {
4181          r && s.cancelAnimationFrame(r),
4182            n && n.unobserve && e.el && (n.unobserve(e.el), (n = null)),
4183            s.removeEventListener("resize", o),
4184            s.removeEventListener("orientationchange", a);
4185        });
4186    },
4187    function ({ swiper: e, extendParams: t, on: i, emit: s }) {
4188      const n = [],
4189        r = ye(),
4190        o = (t, i = {}) => {
4191          const o = new (r.MutationObserver || r.WebkitMutationObserver)(
4192            (t) => {
4193              if (e.m) return;
4194              if (1 === t.length) return void s("observerUpdate", t[0]);
4195              const i = function () {
4196                s("observerUpdate", t[0]);
4197              };
4198              r.requestAnimationFrame
4199                ? r.requestAnimationFrame(i)
4200                : r.setTimeout(i, 0);
4201            }
4202          );
4203          o.observe(t, {
4204            attributes: void 0 === i.attributes || i.attributes,
4205            childList: void 0 === i.childList || i.childList,
4206            characterData: void 0 === i.characterData || i.characterData,
4207          }),
4208            n.push(o);
4209        };
4210      t({ observer: !1, observeParents: !1, observeSlideChildren: !1 }),
4211        i("init", () => {
4212          if (e.params.observer) {
4213            if (e.params.observeParents) {
4214              const t = Le(e.el);
4215              for (let e = 0; e < t.length; e += 1) o(t[e]);
4216            }
4217            o(e.el, { childList: e.params.observeSlideChildren }),
4218              o(e.wrapperEl, { attributes: !1 });
4219          }
4220        }),
4221        i("destroy", () => {
4222          n.forEach((e) => {
4223            e.disconnect();
4224          }),
4225            n.splice(0, n.length);
4226        });
4227    },
4228  ]);
4229const kt = [
4230  function ({ swiper: e, extendParams: t, on: i, emit: s }) {
4231    let n;
4232    t({
4233      virtual: {
4234        enabled: !1,
4235        slides: [],
4236        cache: !0,
4237        renderSlide: null,
4238        renderExternal: null,
4239        renderExternalUpdate: !0,
4240        addSlidesBefore: 0,
4241        addSlidesAfter: 0,
4242      },
4243    });
4244    const r = xe();
4245    e.virtual = {
4246      cache: {},
4247      from: void 0,
4248      to: void 0,
4249      slides: [],
4250      offset: 0,
4251      slidesGrid: [],
4252    };
4253    const o = r.createElement("div");
4254    function a(t, i) {
4255      const s = e.params.virtual;
4256      if (s.cache && e.virtual.cache[i]) return e.virtual.cache[i];
4257      let n;
4258      return (
4259        s.renderSlide
4260          ? ((n = s.renderSlide.call(e, t, i)),
4261            "string" == typeof n && ((o.innerHTML = n), (n = o.children[0])))
4262          : (n = e.isElement
4263              ? Oe("swiper-slide")
4264              : Oe("div", e.params.slideClass)),
4265        n.setAttribute("data-swiper-slide-index", i),
4266        s.renderSlide || (n.innerHTML = t),
4267        s.cache && (e.virtual.cache[i] = n),
4268        n
4269      );
4270    }
4271    function l(t) {
4272      const {
4273          slidesPerView: i,
4274          slidesPerGroup: n,
4275          centeredSlides: r,
4276          loop: o,
4277        } = e.params,
4278        { addSlidesBefore: l, addSlidesAfter: c } = e.params.virtual,
4279        { from: d, to: p, slides: u, slidesGrid: h, offset: f } = e.virtual;
4280      e.params.cssMode || e.updateActiveIndex();
4281      const w = e.activeIndex || 0;
4282      let v, g, b;
4283      (v = e.rtlTranslate ? "right" : e.isHorizontal() ? "left" : "top"),
4284        r
4285          ? ((g = Math.floor(i / 2) + n + c), (b = Math.floor(i / 2) + n + l))
4286          : ((g = i + (n - 1) + c), (b = (o ? i : n) + l));
4287      let m = w - b,
4288        x = w + g;
4289      o || ((m = Math.max(m, 0)), (x = Math.min(x, u.length - 1)));
4290      let A = (e.slidesGrid[m] || 0) - (e.slidesGrid[0] || 0);
4291      function y() {
4292        e.updateSlides(),
4293          e.updateProgress(),
4294          e.updateSlidesClasses(),
4295          s("virtualUpdate");
4296      }
4297      if (
4298        (o && w >= b
4299          ? ((m -= b), r || (A += e.slidesGrid[0]))
4300          : o && w < b && ((m = -b), r && (A += e.slidesGrid[0])),
4301        Object.assign(e.virtual, {
4302          from: m,
4303          to: x,
4304          offset: A,
4305          slidesGrid: e.slidesGrid,
4306          slidesBefore: b,
4307          slidesAfter: g,
4308        }),
4309        d === m && p === x && !t)
4310      )
4311        return (
4312          e.slidesGrid !== h &&
4313            A !== f &&
4314            e.slides.forEach((e) => {
4315              e.style[v] = `${A}px`;
4316            }),
4317          e.updateProgress(),
4318          void s("virtualUpdate")
4319        );
4320      if (e.params.virtual.renderExternal)
4321        return (
4322          e.params.virtual.renderExternal.call(e, {
4323            offset: A,
4324            from: m,
4325            to: x,
4326            slides: (function () {
4327              const e = [];
4328              for (let t = m; t <= x; t += 1) e.push(u[t]);
4329              return e;
4330            })(),
4331          }),
4332          void (e.params.virtual.renderExternalUpdate
4333            ? y()
4334            : s("virtualUpdate"))
4335        );
4336      const M = [],
4337        $ = [],
4338        S = (e) => {
4339          let t = e;
4340          return (
4341            e < 0 ? (t = u.length + e) : t >= u.length && (t -= u.length), t
4342          );
4343        };
4344      if (t)
4345        e.slidesEl
4346          .querySelectorAll(`.${e.params.slideClass}, swiper-slide`)
4347          .forEach((e) => {
4348            e.remove();
4349          });
4350      else
4351        for (let t = d; t <= p; t += 1)
4352          if (t < m || t > x) {
4353            const i = S(t);
4354            e.slidesEl
4355              .querySelectorAll(
4356                `.${e.params.slideClass}[data-swiper-slide-index="${i}"], swiper-slide[data-swiper-slide-index="${i}"]`
4357              )
4358              .forEach((e) => {
4359                e.remove();
4360              });
4361          }
4362      const E = o ? -u.length : 0,
4363        k = o ? 2 * u.length : u.length;
4364      for (let e = E; e < k; e += 1)
4365        if (e >= m && e <= x) {
4366          const i = S(e);
4367          void 0 === p || t
4368            ? $.push(i)
4369            : (e > p && $.push(i), e < d && M.push(i));
4370        }
4371      if (
4372        ($.forEach((t) => {
4373          e.slidesEl.append(a(u[t], t));
4374        }),
4375        o)
4376      )
4377        for (let t = M.length - 1; t >= 0; t -= 1) {
4378          const i = M[t];
4379          e.slidesEl.prepend(a(u[i], i));
4380        }
4381      else
4382        M.sort((e, t) => t - e),
4383          M.forEach((t) => {
4384            e.slidesEl.prepend(a(u[t], t));
4385          });
4386      Pe(e.slidesEl, ".swiper-slide, swiper-slide").forEach((e) => {
4387        e.style[v] = `${A}px`;
4388      }),
4389        y();
4390    }
4391    i("beforeInit", () => {
4392      if (!e.params.virtual.enabled) return;
4393      let t;
4394      if (void 0 === e.passedParams.virtual.slides) {
4395        const i = [...e.slidesEl.children].filter((t) =>
4396          t.matches(`.${e.params.slideClass}, swiper-slide`)
4397        );
4398        i &&
4399          i.length &&
4400          ((e.virtual.slides = [...i]),
4401          (t = !0),
4402          i.forEach((t, i) => {
4403            t.setAttribute("data-swiper-slide-index", i),
4404              (e.virtual.cache[i] = t),
4405              t.remove();
4406          }));
4407      }
4408      t || (e.virtual.slides = e.params.virtual.slides),
4409        e.classNames.push(`${e.params.containerModifierClass}virtual`),
4410        (e.params.watchSlidesProgress = !0),
4411        (e.originalParams.watchSlidesProgress = !0),
4412        e.params.initialSlide || l();
4413    }),
4414      i("setTranslate", () => {
4415        e.params.virtual.enabled &&
4416          (e.params.cssMode && !e._immediateVirtual
4417            ? (clearTimeout(n),
4418              (n = setTimeout(() => {
4419                l();
4420              }, 100)))
4421            : l());
4422      }),
4423      i("init update resize", () => {
4424        e.params.virtual.enabled &&
4425          e.params.cssMode &&
4426          Te(e.wrapperEl, "--swiper-virtual-size", `${e.virtualSize}px`);
4427      }),
4428      Object.assign(e.virtual, {
4429        appendSlide: function (t) {
4430          if ("object" == typeof t && "length" in t)
4431            for (let i = 0; i < t.length; i += 1)
4432              t[i] && e.virtual.slides.push(t[i]);
4433          else e.virtual.slides.push(t);
4434          l(!0);
4435        },
4436        prependSlide: function (t) {
4437          const i = e.activeIndex;
4438          let s = i + 1,
4439            n = 1;
4440          if (Array.isArray(t)) {
4441            for (let i = 0; i < t.length; i += 1)
4442              t[i] && e.virtual.slides.unshift(t[i]);
4443            (s = i + t.length), (n = t.length);
4444          } else e.virtual.slides.unshift(t);
4445          if (e.params.virtual.cache) {
4446            const t = e.virtual.cache,
4447              i = {};
4448            Object.keys(t).forEach((e) => {
4449              const s = t[e],
4450                r = s.getAttribute("data-swiper-slide-index");
4451              r &&
4452                s.setAttribute("data-swiper-slide-index", parseInt(r, 10) + n),
4453                (i[parseInt(e, 10) + n] = s);
4454            }),
4455              (e.virtual.cache = i);
4456          }
4457          l(!0), e.slideTo(s, 0);
4458        },
4459        removeSlide: function (t) {
4460          if (null == t) return;
4461          let i = e.activeIndex;
4462          if (Array.isArray(t))
4463            for (let s = t.length - 1; s >= 0; s -= 1)
4464              e.virtual.slides.splice(t[s], 1),
4465                e.params.virtual.cache && delete e.virtual.cache[t[s]],
4466                t[s] < i && (i -= 1),
4467                (i = Math.max(i, 0));
4468          else
4469            e.virtual.slides.splice(t, 1),
4470              e.params.virtual.cache && delete e.virtual.cache[t],
4471              t < i && (i -= 1),
4472              (i = Math.max(i, 0));
4473          l(!0), e.slideTo(i, 0);
4474        },
4475        removeAllSlides: function () {
4476          (e.virtual.slides = []),
4477            e.params.virtual.cache && (e.virtual.cache = {}),
4478            l(!0),
4479            e.slideTo(0, 0);
4480        },
4481        update: l,
4482      });
4483  },
4484  function ({ swiper: e, extendParams: t, on: i, emit: s }) {
4485    const n = xe(),
4486      r = ye();
4487    function o(t) {
4488      if (!e.enabled) return;
4489      const { rtlTranslate: i } = e;
4490      let o = t;
4491      o.originalEvent && (o = o.originalEvent);
4492      const a = o.keyCode || o.charCode,
4493        l = e.params.keyboard.pageUpDown,
4494        c = l && 33 === a,
4495        d = l && 34 === a,
4496        p = 37 === a,
4497        u = 39 === a,
4498        h = 38 === a,
4499        f = 40 === a;
4500      if (
4501        !e.allowSlideNext &&
4502        ((e.isHorizontal() && u) || (e.isVertical() && f) || d)
4503      )
4504        return !1;
4505      if (
4506        !e.allowSlidePrev &&
4507        ((e.isHorizontal() && p) || (e.isVertical() && h) || c)
4508      )
4509        return !1;
4510      if (
4511        !(
4512          o.shiftKey ||
4513          o.altKey ||
4514          o.ctrlKey ||
4515          o.metaKey ||
4516          (n.activeElement &&
4517            n.activeElement.nodeName &&
4518            ("input" === n.activeElement.nodeName.toLowerCase() ||
4519              "textarea" === n.activeElement.nodeName.toLowerCase()))
4520        )
4521      ) {
4522        if (e.params.keyboard.onlyInViewport && (c || d || p || u || h || f)) {
4523          let t = !1;
4524          if (
4525            Le(e.el, `.${e.params.slideClass}, swiper-slide`).length > 0 &&
4526            0 === Le(e.el, `.${e.params.slideActiveClass}`).length
4527          )
4528            return;
4529          const s = e.el,
4530            n = s.clientWidth,
4531            o = s.clientHeight,
4532            a = r.innerWidth,
4533            l = r.innerHeight,
4534            c = je(s);
4535          i && (c.left -= s.scrollLeft);
4536          const d = [
4537            [c.left, c.top],
4538            [c.left + n, c.top],
4539            [c.left, c.top + o],
4540            [c.left + n, c.top + o],
4541          ];
4542          for (let e = 0; e < d.length; e += 1) {
4543            const i = d[e];
4544            if (i[0] >= 0 && i[0] <= a && i[1] >= 0 && i[1] <= l) {
4545              if (0 === i[0] && 0 === i[1]) continue;
4546              t = !0;
4547            }
4548          }
4549          if (!t) return;
4550        }
4551        e.isHorizontal()
4552          ? ((c || d || p || u) &&
4553              (o.preventDefault ? o.preventDefault() : (o.returnValue = !1)),
4554            (((d || u) && !i) || ((c || p) && i)) && e.slideNext(),
4555            (((c || p) && !i) || ((d || u) && i)) && e.slidePrev())
4556          : ((c || d || h || f) &&
4557              (o.preventDefault ? o.preventDefault() : (o.returnValue = !1)),
4558            (d || f) && e.slideNext(),
4559            (c || h) && e.slidePrev()),
4560          s("keyPress", a);
4561      }
4562    }
4563    function a() {
4564      e.keyboard.enabled ||
4565        (n.addEventListener("keydown", o), (e.keyboard.enabled = !0));
4566    }
4567    function l() {
4568      e.keyboard.enabled &&
4569        (n.removeEventListener("keydown", o), (e.keyboard.enabled = !1));
4570    }
4571    (e.keyboard = { enabled: !1 }),
4572      t({ keyboard: { enabled: !1, onlyInViewport: !0, pageUpDown: !0 } }),
4573      i("init", () => {
4574        e.params.keyboard.enabled && a();
4575      }),
4576      i("destroy", () => {
4577        e.keyboard.enabled && l();
4578      }),
4579      Object.assign(e.keyboard, { enable: a, disable: l });
4580  },
4581  function ({ swiper: e, extendParams: t, on: i, emit: s }) {
4582    const n = ye();
4583    let r;
4584    t({
4585      mousewheel: {
4586        enabled: !1,
4587        releaseOnEdges: !1,
4588        invert: !1,
4589        forceToAxis: !1,
4590        sensitivity: 1,
4591        eventsTarget: "container",
4592        thresholdDelta: null,
4593        thresholdTime: null,
4594      },
4595    }),
4596      (e.mousewheel = { enabled: !1 });
4597    let o,
4598      a = $e();
4599    const l = [];
4600    function c() {
4601      e.enabled && (e.mouseEntered = !0);
4602    }
4603    function d() {
4604      e.enabled && (e.mouseEntered = !1);
4605    }
4606    function p(t) {
4607      return (
4608        !(
4609          e.params.mousewheel.thresholdDelta &&
4610          t.delta < e.params.mousewheel.thresholdDelta
4611        ) &&
4612        !(
4613          e.params.mousewheel.thresholdTime &&
4614          $e() - a < e.params.mousewheel.thresholdTime
4615        ) &&
4616        ((t.delta >= 6 && $e() - a < 60) ||
4617          (t.direction < 0
4618            ? (e.isEnd && !e.params.loop) ||
4619              e.animating ||
4620              (e.slideNext(), s("scroll", t.raw))
4621            : (e.isBeginning && !e.params.loop) ||
4622              e.animating ||
4623              (e.slidePrev(), s("scroll", t.raw)),
4624          (a = new n.Date().getTime()),
4625          !1))
4626      );
4627    }
4628    function u(t) {
4629      let i = t,
4630        n = !0;
4631      if (!e.enabled) return;
4632      const a = e.params.mousewheel;
4633      e.params.cssMode && i.preventDefault();
4634      let c = e.el;
4635      "container" !== e.params.mousewheel.eventsTarget &&
4636        (c = document.querySelector(e.params.mousewheel.eventsTarget));
4637      const d = c && c.contains(i.target);
4638      if (!e.mouseEntered && !d && !a.releaseOnEdges) return !0;
4639      i.originalEvent && (i = i.originalEvent);
4640      let u = 0;
4641      const h = e.rtlTranslate ? -1 : 1,
4642        f = (function (e) {
4643          let t = 0,
4644            i = 0,
4645            s = 0,
4646            n = 0;
4647          return (
4648            "detail" in e && (i = e.detail),
4649            "wheelDelta" in e && (i = -e.wheelDelta / 120),
4650            "wheelDeltaY" in e && (i = -e.wheelDeltaY / 120),
4651            "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120),
4652            "axis" in e && e.axis === e.HORIZONTAL_AXIS && ((t = i), (i = 0)),
4653            (s = 10 * t),
4654            (n = 10 * i),
4655            "deltaY" in e && (n = e.deltaY),
4656            "deltaX" in e && (s = e.deltaX),
4657            e.shiftKey && !s && ((s = n), (n = 0)),
4658            (s || n) &&
4659              e.deltaMode &&
4660              (1 === e.deltaMode
4661                ? ((s *= 40), (n *= 40))
4662                : ((s *= 800), (n *= 800))),
4663            s && !t && (t = s < 1 ? -1 : 1),
4664            n && !i && (i = n < 1 ? -1 : 1),
4665            { spinX: t, spinY: i, pixelX: s, pixelY: n }
4666          );
4667        })(i);
4668      if (a.forceToAxis)
4669        if (e.isHorizontal()) {
4670          if (!(Math.abs(f.pixelX) > Math.abs(f.pixelY))) return !0;
4671          u = -f.pixelX * h;
4672        } else {
4673          if (!(Math.abs(f.pixelY) > Math.abs(f.pixelX))) return !0;
4674          u = -f.pixelY;
4675        }
4676      else
4677        u = Math.abs(f.pixelX) > Math.abs(f.pixelY) ? -f.pixelX * h : -f.pixelY;
4678      if (0 === u) return !0;
4679      a.invert && (u = -u);
4680      let w = e.getTranslate() + u * a.sensitivity;
4681      if (
4682        (w >= e.minTranslate() && (w = e.minTranslate()),
4683        w <= e.maxTranslate() && (w = e.maxTranslate()),
4684        (n =
4685          !!e.params.loop ||
4686          !(w === e.minTranslate() || w === e.maxTranslate())),
4687        n && e.params.nested && i.stopPropagation(),
4688        e.params.freeMode && e.params.freeMode.enabled)
4689      ) {
4690        const t = { time: $e(), delta: Math.abs(u), direction: Math.sign(u) },
4691          n =
4692            o &&
4693            t.time < o.time + 500 &&
4694            t.delta <= o.delta &&
4695            t.direction === o.direction;
4696        if (!n) {
4697          o = void 0;
4698          let c = e.getTranslate() + u * a.sensitivity;
4699          const d = e.isBeginning,
4700            p = e.isEnd;
4701          if (
4702            (c >= e.minTranslate() && (c = e.minTranslate()),
4703            c <= e.maxTranslate() && (c = e.maxTranslate()),
4704            e.setTransition(0),
4705            e.setTranslate(c),
4706            e.updateProgress(),
4707            e.updateActiveIndex(),
4708            e.updateSlidesClasses(),
4709            ((!d && e.isBeginning) || (!p && e.isEnd)) &&
4710              e.updateSlidesClasses(),
4711            e.params.loop &&
4712              e.loopFix({
4713                direction: t.direction < 0 ? "next" : "prev",
4714                byMousewheel: !0,
4715              }),
4716            e.params.freeMode.sticky)
4717          ) {
4718            clearTimeout(r), (r = void 0), l.length >= 15 && l.shift();
4719            const i = l.length ? l[l.length - 1] : void 0,
4720              s = l[0];
4721            if (
4722              (l.push(t),
4723              i && (t.delta > i.delta || t.direction !== i.direction))
4724            )
4725              l.splice(0);
4726            else if (
4727              l.length >= 15 &&
4728              t.time - s.time < 500 &&
4729              s.delta - t.delta >= 1 &&
4730              t.delta <= 6
4731            ) {
4732              const i = u > 0 ? 0.8 : 0.2;
4733              (o = t),
4734                l.splice(0),
4735                (r = Me(() => {
4736                  e.slideToClosest(e.params.speed, !0, void 0, i);
4737                }, 0));
4738            }
4739            r ||
4740              (r = Me(() => {
4741                (o = t),
4742                  l.splice(0),
4743                  e.slideToClosest(e.params.speed, !0, void 0, 0.5);
4744              }, 500));
4745          }
4746          if (
4747            (n || s("scroll", i),
4748            e.params.autoplay &&
4749              e.params.autoplayDisableOnInteraction &&
4750              e.autoplay.stop(),
4751            c === e.minTranslate() || c === e.maxTranslate())
4752          )
4753            return !0;
4754        }
4755      } else {
4756        const i = {
4757          time: $e(),
4758          delta: Math.abs(u),
4759          direction: Math.sign(u),
4760          raw: t,
4761        };
4762        l.length >= 2 && l.shift();
4763        const s = l.length ? l[l.length - 1] : void 0;
4764        if (
4765          (l.push(i),
4766          s
4767            ? (i.direction !== s.direction ||
4768                i.delta > s.delta ||
4769                i.time > s.time + 150) &&
4770              p(i)
4771            : p(i),
4772          (function (t) {
4773            const i = e.params.mousewheel;
4774            if (t.direction < 0) {
4775              if (e.isEnd && !e.params.loop && i.releaseOnEdges) return !0;
4776            } else if (e.isBeginning && !e.params.loop && i.releaseOnEdges)
4777              return !0;
4778            return !1;
4779          })(i))
4780        )
4781          return !0;
4782      }
4783      return i.preventDefault ? i.preventDefault() : (i.returnValue = !1), !1;
4784    }
4785    function h(t) {
4786      let i = e.el;
4787      "container" !== e.params.mousewheel.eventsTarget &&
4788        (i = document.querySelector(e.params.mousewheel.eventsTarget)),
4789        i[t]("mouseenter", c),
4790        i[t]("mouseleave", d),
4791        i[t]("wheel", u);
4792    }
4793    function f() {
4794      return e.params.cssMode
4795        ? (e.wrapperEl.removeEventListener("wheel", u), !0)
4796        : !e.mousewheel.enabled &&
4797            (h("addEventListener"), (e.mousewheel.enabled = !0), !0);
4798    }
4799    function w() {
4800      return e.params.cssMode
4801        ? (e.wrapperEl.addEventListener(event, u), !0)
4802        : !!e.mousewheel.enabled &&
4803            (h("removeEventListener"), (e.mousewheel.enabled = !1), !0);
4804    }
4805    i("init", () => {
4806      !e.params.mousewheel.enabled && e.params.cssMode && w(),
4807        e.params.mousewheel.enabled && f();
4808    }),
4809      i("destroy", () => {
4810        e.params.cssMode && f(), e.mousewheel.enabled && w();
4811      }),
4812      Object.assign(e.mousewheel, { enable: f, disable: w });
4813  },
4814  function ({ swiper: e, extendParams: t, on: i, emit: s }) {
4815    t({
4816      navigation: {
4817        nextEl: null,
4818        prevEl: null,
4819        hideOnClick: !1,
4820        disabledClass: "swiper-button-disabled",
4821        hiddenClass: "swiper-button-hidden",
4822        lockClass: "swiper-button-lock",
4823        navigationDisabledClass: "swiper-navigation-disabled",
4824      },
4825    }),
4826      (e.navigation = { nextEl: null, prevEl: null });
4827    const n = (e) => (Array.isArray(e) || (e = [e].filter((e) => !!e)), e);
4828    function r(t) {
4829      let i;
4830      return t &&
4831        "string" == typeof t &&
4832        e.isElement &&
4833        ((i = e.el.shadowRoot.querySelector(t)), i)
4834        ? i
4835        : (t &&
4836            ("string" == typeof t && (i = [...document.querySelectorAll(t)]),
4837            e.params.uniqueNavElements &&
4838              "string" == typeof t &&
4839              i.length > 1 &&
4840              1 === e.el.querySelectorAll(t).length &&
4841              (i = e.el.querySelector(t))),
4842          t && !i ? t : i);
4843    }
4844    function o(t, i) {
4845      const s = e.params.navigation;
4846      (t = n(t)).forEach((t) => {
4847        t &&
4848          (t.classList[i ? "add" : "remove"](...s.disabledClass.split(" ")),
4849          "BUTTON" === t.tagName && (t.disabled = i),
4850          e.params.watchOverflow &&
4851            e.enabled &&
4852            t.classList[e.isLocked ? "add" : "remove"](s.lockClass));
4853      });
4854    }
4855    function a() {
4856      const { nextEl: t, prevEl: i } = e.navigation;
4857      if (e.params.loop) return o(i, !1), void o(t, !1);
4858      o(i, e.isBeginning && !e.params.rewind),
4859        o(t, e.isEnd && !e.params.rewind);
4860    }
4861    function l(t) {
4862      t.preventDefault(),
4863        (!e.isBeginning || e.params.loop || e.params.rewind) &&
4864          (e.slidePrev(), s("navigationPrev"));
4865    }
4866    function c(t) {
4867      t.preventDefault(),
4868        (!e.isEnd || e.params.loop || e.params.rewind) &&
4869          (e.slideNext(), s("navigationNext"));
4870    }
4871    function d() {
4872      const t = e.params.navigation;
4873      if (
4874        ((e.params.navigation = vt(
4875          e,
4876          e.originalParams.navigation,
4877          e.params.navigation,
4878          { nextEl: "swiper-button-next", prevEl: "swiper-button-prev" }
4879        )),
4880        !t.nextEl && !t.prevEl)
4881      )
4882        return;
4883      let i = r(t.nextEl),
4884        s = r(t.prevEl);
4885      Object.assign(e.navigation, { nextEl: i, prevEl: s }),
4886        (i = n(i)),
4887        (s = n(s));
4888      const o = (i, s) => {
4889        i && i.addEventListener("click", "next" === s ? c : l),
4890          !e.enabled && i && i.classList.add(...t.lockClass.split(" "));
4891      };
4892      i.forEach((e) => o(e, "next")), s.forEach((e) => o(e, "prev"));
4893    }
4894    function p() {
4895      let { nextEl: t, prevEl: i } = e.navigation;
4896      (t = n(t)), (i = n(i));
4897      const s = (t, i) => {
4898        t.removeEventListener("click", "next" === i ? c : l),
4899          t.classList.remove(...e.params.navigation.disabledClass.split(" "));
4900      };
4901      t.forEach((e) => s(e, "next")), i.forEach((e) => s(e, "prev"));
4902    }
4903    i("init", () => {
4904      !1 === e.params.navigation.enabled ? u() : (d(), a());
4905    }),
4906      i("toEdge fromEdge lock unlock", () => {
4907        a();
4908      }),
4909      i("destroy", () => {
4910        p();
4911      }),
4912      i("enable disable", () => {
4913        let { nextEl: t, prevEl: i } = e.navigation;
4914        (t = n(t)),
4915          (i = n(i)),
4916          [...t, ...i]
4917            .filter((e) => !!e)
4918            .forEach((t) =>
4919              t.classList[e.enabled ? "remove" : "add"](
4920                e.params.navigation.lockClass
4921              )
4922            );
4923      }),
4924      i("click", (t, i) => {
4925        let { nextEl: r, prevEl: o } = e.navigation;
4926        (r = n(r)), (o = n(o));
4927        const a = i.target;
4928        if (
4929          e.params.navigation.hideOnClick &&
4930          !o.includes(a) &&
4931          !r.includes(a)
4932        ) {
4933          if (
4934            e.pagination &&
4935            e.params.pagination &&
4936            e.params.pagination.clickable &&
4937            (e.pagination.el === a || e.pagination.el.contains(a))
4938          )
4939            return;
4940          let t;
4941          r.length
4942            ? (t = r[0].classList.contains(e.params.navigation.hiddenClass))
4943            : o.length &&
4944              (t = o[0].classList.contains(e.params.navigation.hiddenClass)),
4945            s(!0 === t ? "navigationShow" : "navigationHide"),
4946            [...r, ...o]
4947              .filter((e) => !!e)
4948              .forEach((t) =>
4949                t.classList.toggle(e.params.navigation.hiddenClass)
4950              );
4951        }
4952      });
4953    const u = () => {
4954      e.el.classList.add(
4955        ...e.params.navigation.navigationDisabledClass.split(" ")
4956      ),
4957        p();
4958    };
4959    Object.assign(e.navigation, {
4960      enable: () => {
4961        e.el.classList.remove(
4962          ...e.params.navigation.navigationDisabledClass.split(" ")
4963        ),
4964          d(),
4965          a();
4966      },
4967      disable: u,
4968      update: a,
4969      init: d,
4970      destroy: p,
4971    });
4972  },
4973  function ({ swiper: e, extendParams: t, on: i, emit: s }) {
4974    const n = "swiper-pagination";
4975    let r;
4976    t({
4977      pagination: {
4978        el: null,
4979        bulletElement: "span",
4980        clickable: !1,
4981        hideOnClick: !1,
4982        renderBullet: null,
4983        renderProgressbar: null,
4984        renderFraction: null,
4985        renderCustom: null,
4986        progressbarOpposite: !1,
4987        type: "bullets",
4988        dynamicBullets: !1,
4989        dynamicMainBullets: 1,
4990        formatFractionCurrent: (e) => e,
4991        formatFractionTotal: (e) => e,
4992        bulletClass: `${n}-bullet`,
4993        bulletActiveClass: `${n}-bullet-active`,
4994        modifierClass: `${n}-`,
4995        currentClass: `${n}-current`,
4996        totalClass: `${n}-total`,
4997        hiddenClass: `${n}-hidden`,
4998        progressbarFillClass: `${n}-progressbar-fill`,
4999        progressbarOppositeClass: `${n}-progressbar-opposite`,
5000        clickableClass: `${n}-clickable`,
5001        lockClass: `${n}-lock`,
5002        horizontalClass: `${n}-horizontal`,
5003        verticalClass: `${n}-vertical`,
5004        paginationDisabledClass: `${n}-disabled`,
5005      },
5006    }),
5007      (e.pagination = { el: null, bullets: [] });
5008    let o = 0;
5009    const a = (e) => (Array.isArray(e) || (e = [e].filter((e) => !!e)), e);
5010    function l() {
5011      return (
5012        !e.params.pagination.el ||
5013        !e.pagination.el ||
5014        (Array.isArray(e.pagination.el) && 0 === e.pagination.el.length)
5015      );
5016    }
5017    function c(t, i) {
5018      const { bulletActiveClass: s } = e.params.pagination;
5019      t &&
5020        (t = t[("prev" === i ? "previous" : "next") + "ElementSibling"]) &&
5021        (t.classList.add(`${s}-${i}`),
5022        (t = t[("prev" === i ? "previous" : "next") + "ElementSibling"]) &&
5023          t.classList.add(`${s}-${i}-${i}`));
5024    }
5025    function d(t) {
5026      const i = t.target.closest(gt(e.params.pagination.bulletClass));
5027      if (!i) return;
5028      t.preventDefault();
5029      const s = Ie(i) * e.params.slidesPerGroup;
5030      if (e.params.loop) {
5031        if (e.realIndex === s) return;
5032        (s < e.loopedSlides || s > e.slides.length - e.loopedSlides) &&
5033          e.loopFix({
5034            direction: s < e.loopedSlides ? "prev" : "next",
5035            activeSlideIndex: s,
5036            slideTo: !1,
5037          }),
5038          e.slideToLoop(s);
5039      } else e.slideTo(s);
5040    }
5041    function p() {
5042      const t = e.rtl,
5043        i = e.params.pagination;
5044      if (l()) return;
5045      let n,
5046        d = e.pagination.el;
5047      d = a(d);
5048      const p =
5049          e.virtual && e.params.virtual.enabled
5050            ? e.virtual.slides.length
5051            : e.slides.length,
5052        u = e.params.loop
5053          ? Math.ceil(p / e.params.slidesPerGroup)
5054          : e.snapGrid.length;
5055      if (
5056        ((n = e.params.loop
5057          ? e.params.slidesPerGroup > 1
5058            ? Math.floor(e.realIndex / e.params.slidesPerGroup)
5059            : e.realIndex
5060          : void 0 !== e.snapIndex
5061          ? e.snapIndex
5062          : e.activeIndex || 0),
5063        "bullets" === i.type &&
5064          e.pagination.bullets &&
5065          e.pagination.bullets.length > 0)
5066      ) {
5067        const s = e.pagination.bullets;
5068        let a, l, p;
5069        if (
5070          (i.dynamicBullets &&
5071            ((r = Ge(s[0], e.isHorizontal() ? "width" : "height", !0)),
5072            d.forEach((t) => {
5073              t.style[e.isHorizontal() ? "width" : "height"] =
5074                r * (i.dynamicMainBullets + 4) + "px";
5075            }),
5076            i.dynamicMainBullets > 1 &&
5077              void 0 !== e.previousIndex &&
5078              ((o += n - (e.previousIndex || 0)),
5079              o > i.dynamicMainBullets - 1
5080                ? (o = i.dynamicMainBullets - 1)
5081                : o < 0 && (o = 0)),
5082            (a = Math.max(n - o, 0)),
5083            (l = a + (Math.min(s.length, i.dynamicMainBullets) - 1)),
5084            (p = (l + a) / 2)),
5085          s.forEach((e) => {
5086            const t = [
5087              ...[
5088                "",
5089                "-next",
5090                "-next-next",
5091                "-prev",
5092                "-prev-prev",
5093                "-main",
5094              ].map((e) => `${i.bulletActiveClass}${e}`),
5095            ]
5096              .map((e) =>
5097                "string" == typeof e && e.includes(" ") ? e.split(" ") : e
5098              )
5099              .flat();
5100            e.classList.remove(...t);
5101          }),
5102          d.length > 1)
5103        )
5104          s.forEach((e) => {
5105            const t = Ie(e);
5106            t === n && e.classList.add(...i.bulletActiveClass.split(" ")),
5107              i.dynamicBullets &&
5108                (t >= a &&
5109                  t <= l &&
5110                  e.classList.add(...`${i.bulletActiveClass}-main`.split(" ")),
5111                t === a && c(e, "prev"),
5112                t === l && c(e, "next"));
5113          });
5114        else {
5115          const e = s[n];
5116          if (
5117            (e && e.classList.add(...i.bulletActiveClass.split(" ")),
5118            i.dynamicBullets)
5119          ) {
5120            const e = s[a],
5121              t = s[l];
5122            for (let e = a; e <= l; e += 1)
5123              s[e] &&
5124                s[e].classList.add(...`${i.bulletActiveClass}-main`.split(" "));
5125            c(e, "prev"), c(t, "next");
5126          }
5127        }
5128        if (i.dynamicBullets) {
5129          const n = Math.min(s.length, i.dynamicMainBullets + 4),
5130            o = (r * n - r) / 2 - p * r,
5131            a = t ? "right" : "left";
5132          s.forEach((t) => {
5133            t.style[e.isHorizontal() ? a : "top"] = `${o}px`;
5134          });
5135        }
5136      }
5137      d.forEach((t, r) => {
5138        if (
5139          ("fraction" === i.type &&
5140            (t.querySelectorAll(gt(i.currentClass)).forEach((e) => {
5141              e.textContent = i.formatFractionCurrent(n + 1);
5142            }),
5143            t.querySelectorAll(gt(i.totalClass)).forEach((e) => {
5144              e.textContent = i.formatFractionTotal(u);
5145            })),
5146          "progressbar" === i.type)
5147        ) {
5148          let s;
5149          s = i.progressbarOpposite
5150            ? e.isHorizontal()
5151              ? "vertical"
5152              : "horizontal"
5153            : e.isHorizontal()
5154            ? "horizontal"
5155            : "vertical";
5156          const r = (n + 1) / u;
5157          let o = 1,
5158            a = 1;
5159          "horizontal" === s ? (o = r) : (a = r),
5160            t.querySelectorAll(gt(i.progressbarFillClass)).forEach((t) => {
5161              (t.style.transform = `translate3d(0,0,0) scaleX(${o}) scaleY(${a})`),
5162                (t.style.transitionDuration = `${e.params.speed}ms`);
5163            });
5164        }
5165        "custom" === i.type && i.renderCustom
5166          ? ((t.innerHTML = i.renderCustom(e, n + 1, u)),
5167            0 === r && s("paginationRender", t))
5168          : (0 === r && s("paginationRender", t), s("paginationUpdate", t)),
5169          e.params.watchOverflow &&
5170            e.enabled &&
5171            t.classList[e.isLocked ? "add" : "remove"](i.lockClass);
5172      });
5173    }
5174    function u() {
5175      const t = e.params.pagination;
5176      if (l()) return;
5177      const i =
5178        e.virtual && e.params.virtual.enabled
5179          ? e.virtual.slides.length
5180          : e.slides.length;
5181      let n = e.pagination.el;
5182      n = a(n);
5183      let r = "";
5184      if ("bullets" === t.type) {
5185        let s = e.params.loop
5186          ? Math.ceil(i / e.params.slidesPerGroup)
5187          : e.snapGrid.length;
5188        e.params.freeMode && e.params.freeMode.enabled && s > i && (s = i);
5189        for (let i = 0; i < s; i += 1)
5190          t.renderBullet
5191            ? (r += t.renderBullet.call(e, i, t.bulletClass))
5192            : (r += `<${t.bulletElement} class="${t.bulletClass}"></${t.bulletElement}>`);
5193      }
5194      "fraction" === t.type &&
5195        (r = t.renderFraction
5196          ? t.renderFraction.call(e, t.currentClass, t.totalClass)
5197          : `<span class="${t.currentClass}"></span> / <span class="${t.totalClass}"></span>`),
5198        "progressbar" === t.type &&
5199          (r = t.renderProgressbar
5200            ? t.renderProgressbar.call(e, t.progressbarFillClass)
5201            : `<span class="${t.progressbarFillClass}"></span>`),
5202        (e.pagination.bullets = []),
5203        n.forEach((i) => {
5204          "custom" !== t.type && (i.innerHTML = r || ""),
5205            "bullets" === t.type &&
5206              e.pagination.bullets.push(
5207                ...i.querySelectorAll(gt(t.bulletClass))
5208              );
5209        }),
5210        "custom" !== t.type && s("paginationRender", n[0]);
5211    }
5212    function h() {
5213      e.params.pagination = vt(
5214        e,
5215        e.originalParams.pagination,
5216        e.params.pagination,
5217        { el: "swiper-pagination" }
5218      );
5219      const t = e.params.pagination;
5220      if (!t.el) return;
5221      let i;
5222      "string" == typeof t.el &&
5223        e.isElement &&
5224        (i = e.el.shadowRoot.querySelector(t.el)),
5225        i ||
5226          "string" != typeof t.el ||
5227          (i = [...document.querySelectorAll(t.el)]),
5228        i || (i = t.el),
5229        i &&
5230          0 !== i.length &&
5231          (e.params.uniqueNavElements &&
5232            "string" == typeof t.el &&
5233            Array.isArray(i) &&
5234            i.length > 1 &&
5235            ((i = [...e.el.querySelectorAll(t.el)]),
5236            i.length > 1 &&
5237              (i = i.filter((t) => Le(t, ".swiper")[0] === e.el)[0])),
5238          Array.isArray(i) && 1 === i.length && (i = i[0]),
5239          Object.assign(e.pagination, { el: i }),
5240          (i = a(i)),
5241          i.forEach((i) => {
5242            "bullets" === t.type &&
5243              t.clickable &&
5244              i.classList.add(t.clickableClass),
5245              i.classList.add(t.modifierClass + t.type),
5246              i.classList.add(
5247                e.isHorizontal() ? t.horizontalClass : t.verticalClass
5248              ),
5249              "bullets" === t.type &&
5250                t.dynamicBullets &&
5251                (i.classList.add(`${t.modifierClass}${t.type}-dynamic`),
5252                (o = 0),
5253                t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)),
5254              "progressbar" === t.type &&
5255                t.progressbarOpposite &&
5256                i.classList.add(t.progressbarOppositeClass),
5257              t.clickable && i.addEventListener("click", d),
5258              e.enabled || i.classList.add(t.lockClass);
5259          }));
5260    }
5261    function f() {
5262      const t = e.params.pagination;
5263      if (l()) return;
5264      let i = e.pagination.el;
5265      i &&
5266        ((i = a(i)),
5267        i.forEach((i) => {
5268          i.classList.remove(t.hiddenClass),
5269            i.classList.remove(t.modifierClass + t.type),
5270            i.classList.remove(
5271              e.isHorizontal() ? t.horizontalClass : t.verticalClass
5272            ),
5273            t.clickable && i.removeEventListener("click", d);
5274        })),
5275        e.pagination.bullets &&
5276          e.pagination.bullets.forEach((e) =>
5277            e.classList.remove(...t.bulletActiveClass.split(" "))
5278          );
5279    }
5280    i("init", () => {
5281      !1 === e.params.pagination.enabled ? w() : (h(), u(), p());
5282    }),
5283      i("activeIndexChange", () => {
5284        void 0 === e.snapIndex && p();
5285      }),
5286      i("snapIndexChange", () => {
5287        p();
5288      }),
5289      i("snapGridLengthChange", () => {
5290        u(), p();
5291      }),
5292      i("destroy", () => {
5293        f();
5294      }),
5295      i("enable disable", () => {
5296        let { el: t } = e.pagination;
5297        t &&
5298          ((t = a(t)),
5299          t.forEach((t) =>
5300            t.classList[e.enabled ? "remove" : "add"](
5301              e.params.pagination.lockClass
5302            )
5303          ));
5304      }),
5305      i("lock unlock", () => {
5306        p();
5307      }),
5308      i("click", (t, i) => {
5309        const n = i.target;
5310        let { el: r } = e.pagination;
5311        if (
5312          (Array.isArray(r) || (r = [r].filter((e) => !!e)),
5313          e.params.pagination.el &&
5314            e.params.pagination.hideOnClick &&
5315            r &&
5316            r.length > 0 &&
5317            !n.classList.contains(e.params.pagination.bulletClass))
5318        ) {
5319          if (
5320            e.navigation &&
5321            ((e.navigation.nextEl && n === e.navigation.nextEl) ||
5322              (e.navigation.prevEl && n === e.navigation.prevEl))
5323          )
5324            return;
5325          const t = r[0].classList.contains(e.params.pagination.hiddenClass);
5326          s(!0 === t ? "paginationShow" : "paginationHide"),
5327            r.forEach((t) =>
5328              t.classList.toggle(e.params.pagination.hiddenClass)
5329            );
5330        }
5331      });
5332    const w = () => {
5333      e.el.classList.add(e.params.pagination.paginationDisabledClass);
5334      let { el: t } = e.pagination;
5335      t &&
5336        ((t = a(t)),
5337        t.forEach((t) =>
5338          t.classList.add(e.params.pagination.paginationDisabledClass)
5339        )),
5340        f();
5341    };
5342    Object.assign(e.pagination, {
5343      enable: () => {
5344        e.el.classList.remove(e.params.pagination.paginationDisabledClass);
5345        let { el: t } = e.pagination;
5346        t &&
5347          ((t = a(t)),
5348          t.forEach((t) =>
5349            t.classList.remove(e.params.pagination.paginationDisabledClass)
5350          )),
5351          h(),
5352          u(),
5353          p();
5354      },
5355      disable: w,
5356      render: u,
5357      update: p,
5358      init: h,
5359      destroy: f,
5360    });
5361  },
5362  function ({ swiper: e, extendParams: t, on: i, emit: s }) {
5363    const n = xe();
5364    let r,
5365      o,
5366      a,
5367      l,
5368      c = !1,
5369      d = null,
5370      p = null;
5371    function u() {
5372      if (!e.params.scrollbar.el || !e.scrollbar.el) return;
5373      const { scrollbar: t, rtlTranslate: i } = e,
5374        { dragEl: s, el: n } = t,
5375        r = e.params.scrollbar,
5376        l = e.params.loop ? e.progressLoop : e.progress;
5377      let c = o,
5378        p = (a - o) * l;
5379      i
5380        ? ((p = -p), p > 0 ? ((c = o - p), (p = 0)) : -p + o > a && (c = a + p))
5381        : p < 0
5382        ? ((c = o + p), (p = 0))
5383        : p + o > a && (c = a - p),
5384        e.isHorizontal()
5385          ? ((s.style.transform = `translate3d(${p}px, 0, 0)`),
5386            (s.style.width = `${c}px`))
5387          : ((s.style.transform = `translate3d(0px, ${p}px, 0)`),
5388            (s.style.height = `${c}px`)),
5389        r.hide &&
5390          (clearTimeout(d),
5391          (n.style.opacity = 1),
5392          (d = setTimeout(() => {
5393            (n.style.opacity = 0), (n.style.transitionDuration = "400ms");
5394          }, 1e3)));
5395    }
5396    function h() {
5397      if (!e.params.scrollbar.el || !e.scrollbar.el) return;
5398      const { scrollbar: t } = e,
5399        { dragEl: i, el: s } = t;
5400      (i.style.width = ""),
5401        (i.style.height = ""),
5402        (a = e.isHorizontal() ? s.offsetWidth : s.offsetHeight),
5403        (l =
5404          e.size /
5405          (e.virtualSize +
5406            e.params.slidesOffsetBefore -
5407            (e.params.centeredSlides ? e.snapGrid[0] : 0))),
5408        (o =
5409          "auto" === e.params.scrollbar.dragSize
5410            ? a * l
5411            : parseInt(e.params.scrollbar.dragSize, 10)),
5412        e.isHorizontal()
5413          ? (i.style.width = `${o}px`)
5414          : (i.style.height = `${o}px`),
5415        (s.style.display = l >= 1 ? "none" : ""),
5416        e.params.scrollbar.hide && (s.style.opacity = 0),
5417        e.params.watchOverflow &&
5418          e.enabled &&
5419          t.el.classList[e.isLocked ? "add" : "remove"](
5420            e.params.scrollbar.lockClass
5421          );
5422    }
5423    function f(t) {
5424      return e.isHorizontal() ? t.clientX : t.clientY;
5425    }
5426    function w(t) {
5427      const { scrollbar: i, rtlTranslate: s } = e,
5428        { el: n } = i;
5429      let l;
5430      (l =
5431        (f(t) -
5432          je(n)[e.isHorizontal() ? "left" : "top"] -
5433          (null !== r ? r : o / 2)) /
5434        (a - o)),
5435        (l = Math.max(Math.min(l, 1), 0)),
5436        s && (l = 1 - l);
5437      const c = e.minTranslate() + (e.maxTranslate() - e.minTranslate()) * l;
5438      e.updateProgress(c),
5439        e.setTranslate(c),
5440        e.updateActiveIndex(),
5441        e.updateSlidesClasses();
5442    }
5443    function v(t) {
5444      const i = e.params.scrollbar,
5445        { scrollbar: n, wrapperEl: o } = e,
5446        { el: a, dragEl: l } = n;
5447      (c = !0),
5448        (r =
5449          t.target === l
5450            ? f(t) -
5451              t.target.getBoundingClientRect()[
5452                e.isHorizontal() ? "left" : "top"
5453              ]
5454            : null),
5455        t.preventDefault(),
5456        t.stopPropagation(),
5457        (o.style.transitionDuration = "100ms"),
5458        (l.style.transitionDuration = "100ms"),
5459        w(t),
5460        clearTimeout(p),
5461        (a.style.transitionDuration = "0ms"),
5462        i.hide && (a.style.opacity = 1),
5463        e.params.cssMode && (e.wrapperEl.style["scroll-snap-type"] = "none"),
5464        s("scrollbarDragStart", t);
5465    }
5466    function g(t) {
5467      const { scrollbar: i, wrapperEl: n } = e,
5468        { el: r, dragEl: o } = i;
5469      c &&
5470        (t.preventDefault ? t.preventDefault() : (t.returnValue = !1),
5471        w(t),
5472        (n.style.transitionDuration = "0ms"),
5473        (r.style.transitionDuration = "0ms"),
5474        (o.style.transitionDuration = "0ms"),
5475        s("scrollbarDragMove", t));
5476    }
5477    function b(t) {
5478      const i = e.params.scrollbar,
5479        { scrollbar: n, wrapperEl: r } = e,
5480        { el: o } = n;
5481      c &&
5482        ((c = !1),
5483        e.params.cssMode &&
5484          ((e.wrapperEl.style["scroll-snap-type"] = ""),
5485          (r.style.transitionDuration = "")),
5486        i.hide &&
5487          (clearTimeout(p),
5488          (p = Me(() => {
5489            (o.style.opacity = 0), (o.style.transitionDuration = "400ms");
5490          }, 1e3))),
5491        s("scrollbarDragEnd", t),
5492        i.snapOnRelease && e.slideToClosest());
5493    }
5494    function m(t) {
5495      const { scrollbar: i, params: s } = e,
5496        r = i.el;
5497      if (!r) return;
5498      const o = r,
5499        a = !!s.passiveListeners && { passive: !1, capture: !1 },
5500        l = !!s.passiveListeners && { passive: !0, capture: !1 };
5501      if (!o) return;
5502      const c = "on" === t ? "addEventListener" : "removeEventListener";
5503      o[c]("pointerdown", v, a),
5504        n[c]("pointermove", g, a),
5505        n[c]("pointerup", b, l);
5506    }
5507    function x() {
5508      const { scrollbar: t, el: i } = e;
5509      e.params.scrollbar = vt(
5510        e,
5511        e.originalParams.scrollbar,
5512        e.params.scrollbar,
5513        { el: "swiper-scrollbar" }
5514      );
5515      const s = e.params.scrollbar;
5516      if (!s.el) return;
5517      let r, o;
5518      "string" == typeof s.el &&
5519        e.isElement &&
5520        (r = e.el.shadowRoot.querySelector(s.el)),
5521        r || "string" != typeof s.el
5522          ? r || (r = s.el)
5523          : (r = n.querySelectorAll(s.el)),
5524        e.params.uniqueNavElements &&
5525          "string" == typeof s.el &&
5526          r.length > 1 &&
5527          1 === i.querySelectorAll(s.el).length &&
5528          (r = i.querySelector(s.el)),
5529        r.length > 0 && (r = r[0]),
5530        r.classList.add(e.isHorizontal() ? s.horizontalClass : s.verticalClass),
5531        r &&
5532          ((o = r.querySelector(`.${e.params.scrollbar.dragClass}`)),
5533          o || ((o = Oe("div", e.params.scrollbar.dragClass)), r.append(o))),
5534        Object.assign(t, { el: r, dragEl: o }),
5535        s.draggable && e.params.scrollbar.el && e.scrollbar.el && m("on"),
5536        r &&
5537          r.classList[e.enabled ? "remove" : "add"](
5538            e.params.scrollbar.lockClass
5539          );
5540    }
5541    function A() {
5542      const t = e.params.scrollbar,
5543        i = e.scrollbar.el;
5544      i &&
5545        i.classList.remove(
5546          e.isHorizontal() ? t.horizontalClass : t.verticalClass
5547        ),
5548        e.params.scrollbar.el && e.scrollbar.el && m("off");
5549    }
5550    t({
5551      scrollbar: {
5552        el: null,
5553        dragSize: "auto",
5554        hide: !1,
5555        draggable: !1,
5556        snapOnRelease: !0,
5557        lockClass: "swiper-scrollbar-lock",
5558        dragClass: "swiper-scrollbar-drag",
5559        scrollbarDisabledClass: "swiper-scrollbar-disabled",
5560        horizontalClass: "swiper-scrollbar-horizontal",
5561        verticalClass: "swiper-scrollbar-vertical",
5562      },
5563    }),
5564      (e.scrollbar = { el: null, dragEl: null }),
5565      i("init", () => {
5566        !1 === e.params.scrollbar.enabled ? y() : (x(), h(), u());
5567      }),
5568      i("update resize observerUpdate lock unlock", () => {
5569        h();
5570      }),
5571      i("setTranslate", () => {
5572        u();
5573      }),
5574      i("setTransition", (t, i) => {
5575        !(function (t) {
5576          e.params.scrollbar.el &&
5577            e.scrollbar.el &&
5578            (e.scrollbar.dragEl.style.transitionDuration = `${t}ms`);
5579        })(i);
5580      }),
5581      i("enable disable", () => {
5582        const { el: t } = e.scrollbar;
5583        t &&
5584          t.classList[e.enabled ? "remove" : "add"](
5585            e.params.scrollbar.lockClass
5586          );
5587      }),
5588      i("destroy", () => {
5589        A();
5590      });
5591    const y = () => {
5592      e.el.classList.add(e.params.scrollbar.scrollbarDisabledClass),
5593        e.scrollbar.el &&
5594          e.scrollbar.el.classList.add(
5595            e.params.scrollbar.scrollbarDisabledClass
5596          ),
5597        A();
5598    };
5599    Object.assign(e.scrollbar, {
5600      enable: () => {
5601        e.el.classList.remove(e.params.scrollbar.scrollbarDisabledClass),
5602          e.scrollbar.el &&
5603            e.scrollbar.el.classList.remove(
5604              e.params.scrollbar.scrollbarDisabledClass
5605            ),
5606          x(),
5607          h(),
5608          u();
5609      },
5610      disable: y,
5611      updateSize: h,
5612      setTranslate: u,
5613      init: x,
5614      destroy: A,
5615    });
5616  },
5617  function ({ swiper: e, extendParams: t, on: i }) {
5618    t({ parallax: { enabled: !1 } });
5619    const s = (t, i) => {
5620        const { rtl: s } = e,
5621          n = s ? -1 : 1,
5622          r = t.getAttribute("data-swiper-parallax") || "0";
5623        let o = t.getAttribute("data-swiper-parallax-x"),
5624          a = t.getAttribute("data-swiper-parallax-y");
5625        const l = t.getAttribute("data-swiper-parallax-scale"),
5626          c = t.getAttribute("data-swiper-parallax-opacity"),
5627          d = t.getAttribute("data-swiper-parallax-rotate");
5628        if (
5629          (o || a
5630            ? ((o = o || "0"), (a = a || "0"))
5631            : e.isHorizontal()
5632            ? ((o = r), (a = "0"))
5633            : ((a = r), (o = "0")),
5634          (o =
5635            o.indexOf("%") >= 0
5636              ? parseInt(o, 10) * i * n + "%"
5637              : o * i * n + "px"),
5638          (a = a.indexOf("%") >= 0 ? parseInt(a, 10) * i + "%" : a * i + "px"),
5639          null != c)
5640        ) {
5641          const e = c - (c - 1) * (1 - Math.abs(i));
5642          t.style.opacity = e;
5643        }
5644        let p = `translate3d(${o}, ${a}, 0px)`;
5645        if (null != l) {
5646          p += ` scale(${l - (l - 1) * (1 - Math.abs(i))})`;
5647        }
5648        if (d && null != d) {
5649          p += ` rotate(${d * i * -1}deg)`;
5650        }
5651        t.style.transform = p;
5652      },
5653      n = () => {
5654        const { el: t, slides: i, progress: n, snapGrid: r } = e;
5655        Pe(
5656          t,
5657          "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
5658        ).forEach((e) => {
5659          s(e, n);
5660        }),
5661          i.forEach((t, i) => {
5662            let o = t.progress;
5663            e.params.slidesPerGroup > 1 &&
5664              "auto" !== e.params.slidesPerView &&
5665              (o += Math.ceil(i / 2) - n * (r.length - 1)),
5666              (o = Math.min(Math.max(o, -1), 1)),
5667              t
5668                .querySelectorAll(
5669                  "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale], [data-swiper-parallax-rotate]"
5670                )
5671                .forEach((e) => {
5672                  s(e, o);
5673                });
5674          });
5675      };
5676    i("beforeInit", () => {
5677      e.params.parallax.enabled &&
5678        ((e.params.watchSlidesProgress = !0),
5679        (e.originalParams.watchSlidesProgress = !0));
5680    }),
5681      i("init", () => {
5682        e.params.parallax.enabled && n();
5683      }),
5684      i("setTranslate", () => {
5685        e.params.parallax.enabled && n();
5686      }),
5687      i("setTransition", (t, i) => {
5688        e.params.parallax.enabled &&
5689          ((t = e.params.speed) => {
5690            const { el: i } = e;
5691            i.querySelectorAll(
5692              "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
5693            ).forEach((e) => {
5694              let i =
5695                parseInt(e.getAttribute("data-swiper-parallax-duration"), 10) ||
5696                t;
5697              0 === t && (i = 0), (e.style.transitionDuration = `${i}ms`);
5698            });
5699          })(i);
5700      });
5701  },
5702  function ({ swiper: e, extendParams: t, on: i, emit: s }) {
5703    const n = ye();
5704    t({
5705      zoom: {
5706        enabled: !1,
5707        maxRatio: 3,
5708        minRatio: 1,
5709        toggle: !0,
5710        containerClass: "swiper-zoom-container",
5711        zoomedSlideClass: "swiper-slide-zoomed",
5712      },
5713    }),
5714      (e.zoom = { enabled: !1 });
5715    let r,
5716      o,
5717      a = 1,
5718      l = !1;
5719    const c = [],
5720      d = {
5721        slideEl: void 0,
5722        slideWidth: void 0,
5723        slideHeight: void 0,
5724        imageEl: void 0,
5725        imageWrapEl: void 0,
5726        maxRatio: 3,
5727      },
5728      p = {
5729        isTouched: void 0,
5730        isMoved: void 0,
5731        currentX: void 0,
5732        currentY: void 0,
5733        minX: void 0,
5734        minY: void 0,
5735        maxX: void 0,
5736        maxY: void 0,
5737        width: void 0,
5738        height: void 0,
5739        startX: void 0,
5740        startY: void 0,
5741        touchesStart: {},
5742        touchesCurrent: {},
5743      },
5744      u = {
5745        x: void 0,
5746        y: void 0,
5747        prevPositionX: void 0,
5748        prevPositionY: void 0,
5749        prevTime: void 0,
5750      };
5751    let h = 1;
5752    function f() {
5753      if (c.length < 2) return 1;
5754      const e = c[0].pageX,
5755        t = c[0].pageY,
5756        i = c[1].pageX,
5757        s = c[1].pageY;
5758      return Math.sqrt((i - e) ** 2 + (s - t) ** 2);
5759    }
5760    function w(t) {
5761      const i = e.isElement ? "swiper-slide" : `.${e.params.slideClass}`;
5762      return (
5763        !!t.target.matches(i) ||
5764        e.slides.filter((e) => e.contains(t.target)).length > 0
5765      );
5766    }
5767    function v(t) {
5768      if (("mouse" === t.pointerType && c.splice(0, c.length), !w(t))) return;
5769      const i = e.params.zoom;
5770      if (((r = !1), (o = !1), c.push(t), !(c.length < 2))) {
5771        if (((r = !0), (d.scaleStart = f()), !d.slideEl)) {
5772          (d.slideEl = t.target.closest(
5773            `.${e.params.slideClass}, swiper-slide`
5774          )),
5775            d.slideEl || (d.slideEl = e.slides[e.activeIndex]);
5776          let s = d.slideEl.querySelector(`.${i.containerClass}`);
5777          if (
5778            (s &&
5779              (s = s.querySelectorAll(
5780                "picture, img, svg, canvas, .swiper-zoom-target"
5781              )[0]),
5782            (d.imageEl = s),
5783            (d.imageWrapEl = s
5784              ? Le(d.imageEl, `.${i.containerClass}`)[0]
5785              : void 0),
5786            !d.imageWrapEl)
5787          )
5788            return void (d.imageEl = void 0);
5789          d.maxRatio =
5790            d.imageWrapEl.getAttribute("data-swiper-zoom") || i.maxRatio;
5791        }
5792        if (d.imageEl) {
5793          const [e, t] = (function () {
5794            if (c.length < 2) return { x: null, y: null };
5795            const e = d.imageEl.getBoundingClientRect();
5796            return [
5797              (c[0].pageX + (c[1].pageX - c[0].pageX) / 2 - e.x) / a,
5798              (c[0].pageY + (c[1].pageY - c[0].pageY) / 2 - e.y) / a,
5799            ];
5800          })();
5801          (d.imageEl.style.transformOrigin = `${e}px ${t}px`),
5802            (d.imageEl.style.transitionDuration = "0ms");
5803        }
5804        l = !0;
5805      }
5806    }
5807    function g(t) {
5808      if (!w(t)) return;
5809      const i = e.params.zoom,
5810        s = e.zoom,
5811        n = c.findIndex((e) => e.pointerId === t.pointerId);
5812      n >= 0 && (c[n] = t),
5813        c.length < 2 ||
5814          ((o = !0),
5815          (d.scaleMove = f()),
5816          d.imageEl &&
5817            ((s.scale = (d.scaleMove / d.scaleStart) * a),
5818            s.scale > d.maxRatio &&
5819              (s.scale = d.maxRatio - 1 + (s.scale - d.maxRatio + 1) ** 0.5),
5820            s.scale < i.minRatio &&
5821              (s.scale = i.minRatio + 1 - (i.minRatio - s.scale + 1) ** 0.5),
5822            (d.imageEl.style.transform = `translate3d(0,0,0) scale(${s.scale})`)));
5823    }
5824    function b(t) {
5825      if (!w(t)) return;
5826      if ("mouse" === t.pointerType && "pointerout" === t.type) return;
5827      const i = e.params.zoom,
5828        s = e.zoom,
5829        n = c.findIndex((e) => e.pointerId === t.pointerId);
5830      n >= 0 && c.splice(n, 1),
5831        r &&
5832          o &&
5833          ((r = !1),
5834          (o = !1),
5835          d.imageEl &&
5836            ((s.scale = Math.max(Math.min(s.scale, d.maxRatio), i.minRatio)),
5837            (d.imageEl.style.transitionDuration = `${e.params.speed}ms`),
5838            (d.imageEl.style.transform = `translate3d(0,0,0) scale(${s.scale})`),
5839            (a = s.scale),
5840            (l = !1),
5841            1 === s.scale && (d.slideEl = void 0)));
5842    }
5843    function m(t) {
5844      if (
5845        !w(t) ||
5846        !(function (t) {
5847          const i = `.${e.params.zoom.containerClass}`;
5848          return (
5849            !!t.target.matches(i) ||
5850            [...e.el.querySelectorAll(i)].filter((e) => e.contains(t.target))
5851              .length > 0
5852          );
5853        })(t)
5854      )
5855        return;
5856      const i = e.zoom;
5857      if (!d.imageEl) return;
5858      if (((e.allowClick = !1), !p.isTouched || !d.slideEl)) return;
5859      p.isMoved ||
5860        ((p.width = d.imageEl.offsetWidth),
5861        (p.height = d.imageEl.offsetHeight),
5862        (p.startX = Se(d.imageWrapEl, "x") || 0),
5863        (p.startY = Se(d.imageWrapEl, "y") || 0),
5864        (d.slideWidth = d.slideEl.offsetWidth),
5865        (d.slideHeight = d.slideEl.offsetHeight),
5866        (d.imageWrapEl.style.transitionDuration = "0ms"));
5867      const s = p.width * i.scale,
5868        n = p.height * i.scale;
5869      if (!(s < d.slideWidth && n < d.slideHeight)) {
5870        if (
5871          ((p.minX = Math.min(d.slideWidth / 2 - s / 2, 0)),
5872          (p.maxX = -p.minX),
5873          (p.minY = Math.min(d.slideHeight / 2 - n / 2, 0)),
5874          (p.maxY = -p.minY),
5875          (p.touchesCurrent.x = c.length > 0 ? c[0].pageX : t.pageX),
5876          (p.touchesCurrent.y = c.length > 0 ? c[0].pageY : t.pageY),
5877          !p.isMoved && !l)
5878        ) {
5879          if (
5880            e.isHorizontal() &&
5881            ((Math.floor(p.minX) === Math.floor(p.startX) &&
5882              p.touchesCurrent.x < p.touchesStart.x) ||
5883              (Math.floor(p.maxX) === Math.floor(p.startX) &&
5884                p.touchesCurrent.x > p.touchesStart.x))
5885          )
5886            return void (p.isTouched = !1);
5887          if (
5888            !e.isHorizontal() &&
5889            ((Math.floor(p.minY) === Math.floor(p.startY) &&
5890              p.touchesCurrent.y < p.touchesStart.y) ||
5891              (Math.floor(p.maxY) === Math.floor(p.startY) &&
5892                p.touchesCurrent.y > p.touchesStart.y))
5893          )
5894            return void (p.isTouched = !1);
5895        }
5896        t.cancelable && t.preventDefault(),
5897          t.stopPropagation(),
5898          (p.isMoved = !0),
5899          (p.currentX = p.touchesCurrent.x - p.touchesStart.x + p.startX),
5900          (p.currentY = p.touchesCurrent.y - p.touchesStart.y + p.startY),
5901          p.currentX < p.minX &&
5902            (p.currentX = p.minX + 1 - (p.minX - p.currentX + 1) ** 0.8),
5903          p.currentX > p.maxX &&
5904            (p.currentX = p.maxX - 1 + (p.currentX - p.maxX + 1) ** 0.8),
5905          p.currentY < p.minY &&
5906            (p.currentY = p.minY + 1 - (p.minY - p.currentY + 1) ** 0.8),
5907          p.currentY > p.maxY &&
5908            (p.currentY = p.maxY - 1 + (p.currentY - p.maxY + 1) ** 0.8),
5909          u.prevPositionX || (u.prevPositionX = p.touchesCurrent.x),
5910          u.prevPositionY || (u.prevPositionY = p.touchesCurrent.y),
5911          u.prevTime || (u.prevTime = Date.now()),
5912          (u.x =
5913            (p.touchesCurrent.x - u.prevPositionX) /
5914            (Date.now() - u.prevTime) /
5915            2),
5916          (u.y =
5917            (p.touchesCurrent.y - u.prevPositionY) /
5918            (Date.now() - u.prevTime) /
5919            2),
5920          Math.abs(p.touchesCurrent.x - u.prevPositionX) < 2 && (u.x = 0),
5921          Math.abs(p.touchesCurrent.y - u.prevPositionY) < 2 && (u.y = 0),
5922          (u.prevPositionX = p.touchesCurrent.x),
5923          (u.prevPositionY = p.touchesCurrent.y),
5924          (u.prevTime = Date.now()),
5925          (d.imageWrapEl.style.transform = `translate3d(${p.currentX}px, ${p.currentY}px,0)`);
5926      }
5927    }
5928    function x() {
5929      const t = e.zoom;
5930      d.slideEl &&
5931        e.previousIndex !== e.activeIndex &&
5932        (d.imageEl &&
5933          (d.imageEl.style.transform = "translate3d(0,0,0) scale(1)"),
5934        d.imageWrapEl && (d.imageWrapEl.style.transform = "translate3d(0,0,0)"),
5935        (t.scale = 1),
5936        (a = 1),
5937        (d.slideEl = void 0),
5938        (d.imageEl = void 0),
5939        (d.imageWrapEl = void 0));
5940    }
5941    function A(t) {
5942      const i = e.zoom,
5943        s = e.params.zoom;
5944      if (!d.slideEl) {
5945        t &&
5946          t.target &&
5947          (d.slideEl = t.target.closest(
5948            `.${e.params.slideClass}, swiper-slide`
5949          )),
5950          d.slideEl ||
5951            (e.params.virtual && e.params.virtual.enabled && e.virtual
5952              ? (d.slideEl = Pe(e.slidesEl, `.${e.params.slideActiveClass}`)[0])
5953              : (d.slideEl = e.slides[e.activeIndex]));
5954        let i = d.slideEl.querySelector(`.${s.containerClass}`);
5955        i &&
5956          (i = i.querySelectorAll(
5957            "picture, img, svg, canvas, .swiper-zoom-target"
5958          )[0]),
5959          (d.imageEl = i),
5960          (d.imageWrapEl = i
5961            ? Le(d.imageEl, `.${s.containerClass}`)[0]
5962            : void 0);
5963      }
5964      if (!d.imageEl || !d.imageWrapEl) return;
5965      let r, o, l, c, u, h, f, w, v, g, b, m, x, A, y, M, $, S;
5966      e.params.cssMode &&
5967        ((e.wrapperEl.style.overflow = "hidden"),
5968        (e.wrapperEl.style.touchAction = "none")),
5969        d.slideEl.classList.add(`${s.zoomedSlideClass}`),
5970        void 0 === p.touchesStart.x && t
5971          ? ((r = t.pageX), (o = t.pageY))
5972          : ((r = p.touchesStart.x), (o = p.touchesStart.y));
5973      const E = "number" == typeof t ? t : null;
5974      1 === a && E && ((r = void 0), (o = void 0)),
5975        (i.scale =
5976          E || d.imageWrapEl.getAttribute("data-swiper-zoom") || s.maxRatio),
5977        (a = E || d.imageWrapEl.getAttribute("data-swiper-zoom") || s.maxRatio),
5978        !t || (1 === a && E)
5979          ? ((f = 0), (w = 0))
5980          : (($ = d.slideEl.offsetWidth),
5981            (S = d.slideEl.offsetHeight),
5982            (l = je(d.slideEl).left + n.scrollX),
5983            (c = je(d.slideEl).top + n.scrollY),
5984            (u = l + $ / 2 - r),
5985            (h = c + S / 2 - o),
5986            (v = d.imageEl.offsetWidth),
5987            (g = d.imageEl.offsetHeight),
5988            (b = v * i.scale),
5989            (m = g * i.scale),
5990            (x = Math.min($ / 2 - b / 2, 0)),
5991            (A = Math.min(S / 2 - m / 2, 0)),
5992            (y = -x),
5993            (M = -A),
5994            (f = u * i.scale),
5995            (w = h * i.scale),
5996            f < x && (f = x),
5997            f > y && (f = y),
5998            w < A && (w = A),
5999            w > M && (w = M)),
6000        (d.imageWrapEl.style.transitionDuration = "300ms"),
6001        (d.imageWrapEl.style.transform = `translate3d(${f}px, ${w}px,0)`),
6002        (d.imageEl.style.transitionDuration = "300ms"),
6003        (d.imageEl.style.transform = `translate3d(0,0,0) scale(${i.scale})`);
6004    }
6005    function y() {
6006      const t = e.zoom,
6007        i = e.params.zoom;
6008      if (!d.slideEl) {
6009        e.params.virtual && e.params.virtual.enabled && e.virtual
6010          ? (d.slideEl = Pe(e.slidesEl, `.${e.params.slideActiveClass}`)[0])
6011          : (d.slideEl = e.slides[e.activeIndex]);
6012        let t = d.slideEl.querySelector(`.${i.containerClass}`);
6013        t &&
6014          (t = t.querySelectorAll(
6015            "picture, img, svg, canvas, .swiper-zoom-target"
6016          )[0]),
6017          (d.imageEl = t),
6018          (d.imageWrapEl = t
6019            ? Le(d.imageEl, `.${i.containerClass}`)[0]
6020            : void 0);
6021      }
6022      d.imageEl &&
6023        d.imageWrapEl &&
6024        (e.params.cssMode &&
6025          ((e.wrapperEl.style.overflow = ""),
6026          (e.wrapperEl.style.touchAction = "")),
6027        (t.scale = 1),
6028        (a = 1),
6029        (d.imageWrapEl.style.transitionDuration = "300ms"),
6030        (d.imageWrapEl.style.transform = "translate3d(0,0,0)"),
6031        (d.imageEl.style.transitionDuration = "300ms"),
6032        (d.imageEl.style.transform = "translate3d(0,0,0) scale(1)"),
6033        d.slideEl.classList.remove(`${i.zoomedSlideClass}`),
6034        (d.slideEl = void 0));
6035    }
6036    function M(t) {
6037      const i = e.zoom;
6038      i.scale && 1 !== i.scale ? y() : A(t);
6039    }
6040    function $() {
6041      return {
6042        passiveListener: !!e.params.passiveListeners && {
6043          passive: !0,
6044          capture: !1,
6045        },
6046        activeListenerWithCapture: !e.params.passiveListeners || {
6047          passive: !1,
6048          capture: !0,
6049        },
6050      };
6051    }
6052    function S() {
6053      const t = e.zoom;
6054      if (t.enabled) return;
6055      t.enabled = !0;
6056      const { passiveListener: i, activeListenerWithCapture: s } = $();
6057      e.wrapperEl.addEventListener("pointerdown", v, i),
6058        e.wrapperEl.addEventListener("pointermove", g, s),
6059        ["pointerup", "pointercancel", "pointerout"].forEach((t) => {
6060          e.wrapperEl.addEventListener(t, b, i);
6061        }),
6062        e.wrapperEl.addEventListener("pointermove", m, s);
6063    }
6064    function E() {
6065      const t = e.zoom;
6066      if (!t.enabled) return;
6067      t.enabled = !1;
6068      const { passiveListener: i, activeListenerWithCapture: s } = $();
6069      e.wrapperEl.removeEventListener("pointerdown", v, i),
6070        e.wrapperEl.removeEventListener("pointermove", g, s),
6071        ["pointerup", "pointercancel", "pointerout"].forEach((t) => {
6072          e.wrapperEl.removeEventListener(t, b, i);
6073        }),
6074        e.wrapperEl.removeEventListener("pointermove", m, s);
6075    }
6076    Object.defineProperty(e.zoom, "scale", {
6077      get: () => h,
6078      set(e) {
6079        if (h !== e) {
6080          const t = d.imageEl,
6081            i = d.slideEl;
6082          s("zoomChange", e, t, i);
6083        }
6084        h = e;
6085      },
6086    }),
6087      i("init", () => {
6088        e.params.zoom.enabled && S();
6089      }),
6090      i("destroy", () => {
6091        E();
6092      }),
6093      i("touchStart", (t, i) => {
6094        e.zoom.enabled &&
6095          (function (t) {
6096            const i = e.device;
6097            d.imageEl &&
6098              (p.isTouched ||
6099                (i.android && t.cancelable && t.preventDefault(),
6100                (p.isTouched = !0),
6101                (p.touchesStart.x = t.pageX),
6102                (p.touchesStart.y = t.pageY)));
6103          })(i);
6104      }),
6105      i("touchEnd", (t, i) => {
6106        e.zoom.enabled &&
6107          (function () {
6108            const t = e.zoom;
6109            if (!d.imageEl) return;
6110            if (!p.isTouched || !p.isMoved)
6111              return (p.isTouched = !1), void (p.isMoved = !1);
6112            (p.isTouched = !1), (p.isMoved = !1);
6113            let i = 300,
6114              s = 300;
6115            const n = u.x * i,
6116              r = p.currentX + n,
6117              o = u.y * s,
6118              a = p.currentY + o;
6119            0 !== u.x && (i = Math.abs((r - p.currentX) / u.x)),
6120              0 !== u.y && (s = Math.abs((a - p.currentY) / u.y));
6121            const l = Math.max(i, s);
6122            (p.currentX = r), (p.currentY = a);
6123            const c = p.width * t.scale,
6124              h = p.height * t.scale;
6125            (p.minX = Math.min(d.slideWidth / 2 - c / 2, 0)),
6126              (p.maxX = -p.minX),
6127              (p.minY = Math.min(d.slideHeight / 2 - h / 2, 0)),
6128              (p.maxY = -p.minY),
6129              (p.currentX = Math.max(Math.min(p.currentX, p.maxX), p.minX)),
6130              (p.currentY = Math.max(Math.min(p.currentY, p.maxY), p.minY)),
6131              (d.imageWrapEl.style.transitionDuration = `${l}ms`),
6132              (d.imageWrapEl.style.transform = `translate3d(${p.currentX}px, ${p.currentY}px,0)`);
6133          })();
6134      }),
6135      i("doubleTap", (t, i) => {
6136        !e.animating &&
6137          e.params.zoom.enabled &&
6138          e.zoom.enabled &&
6139          e.params.zoom.toggle &&
6140          M(i);
6141      }),
6142      i("transitionEnd", () => {
6143        e.zoom.enabled && e.params.zoom.enabled && x();
6144      }),
6145      i("slideChange", () => {
6146        e.zoom.enabled && e.params.zoom.enabled && e.params.cssMode && x();
6147      }),
6148      Object.assign(e.zoom, {
6149        enable: S,
6150        disable: E,
6151        in: A,
6152        out: y,
6153        toggle: M,
6154      });
6155  },
6156  function ({ swiper: e, extendParams: t, on: i }) {
6157    function s(e, t) {
6158      const i = (function () {
6159        let e, t, i;
6160        return (s, n) => {
6161          for (t = -1, e = s.length; e - t > 1; )
6162            (i = (e + t) >> 1), s[i] <= n ? (t = i) : (e = i);
6163          return e;
6164        };
6165      })();
6166      let s, n;
6167      return (
6168        (this.x = e),
6169        (this.y = t),
6170        (this.lastIndex = e.length - 1),
6171        (this.interpolate = function (e) {
6172          return e
6173            ? ((n = i(this.x, e)),
6174              (s = n - 1),
6175              ((e - this.x[s]) * (this.y[n] - this.y[s])) /
6176                (this.x[n] - this.x[s]) +
6177                this.y[s])
6178            : 0;
6179        }),
6180        this
6181      );
6182    }
6183    function n() {
6184      e.controller.control &&
6185        e.controller.spline &&
6186        ((e.controller.spline = void 0), delete e.controller.spline);
6187    }
6188    t({ controller: { control: void 0, inverse: !1, by: "slide" } }),
6189      (e.controller = { control: void 0 }),
6190      i("beforeInit", () => {
6191        if (
6192          "undefined" != typeof window &&
6193          ("string" == typeof e.params.controller.control ||
6194            e.params.controller.control instanceof HTMLElement)
6195        ) {
6196          const t = document.querySelector(e.params.controller.control);
6197          if (t && t.swiper) e.controller.control = t.swiper;
6198          else if (t) {
6199            const i = (s) => {
6200              (e.controller.control = s.detail[0]),
6201                e.update(),
6202                t.removeEventListener("init", i);
6203            };
6204            t.addEventListener("init", i);
6205          }
6206        } else e.controller.control = e.params.controller.control;
6207      }),
6208      i("update", () => {
6209        n();
6210      }),
6211      i("resize", () => {
6212        n();
6213      }),
6214      i("observerUpdate", () => {
6215        n();
6216      }),
6217      i("setTranslate", (t, i, s) => {
6218        e.controller.control && e.controller.setTranslate(i, s);
6219      }),
6220      i("setTransition", (t, i, s) => {
6221        e.controller.control && e.controller.setTransition(i, s);
6222      }),
6223      Object.assign(e.controller, {
6224        setTranslate: function (t, i) {
6225          const n = e.controller.control;
6226          let r, o;
6227          const a = e.constructor;
6228          function l(t) {
6229            const i = e.rtlTranslate ? -e.translate : e.translate;
6230            "slide" === e.params.controller.by &&
6231              (!(function (t) {
6232                e.controller.spline ||
6233                  (e.controller.spline = e.params.loop
6234                    ? new s(e.slidesGrid, t.slidesGrid)
6235                    : new s(e.snapGrid, t.snapGrid));
6236              })(t),
6237              (o = -e.controller.spline.interpolate(-i))),
6238              (o && "container" !== e.params.controller.by) ||
6239                ((r =
6240                  (t.maxTranslate() - t.minTranslate()) /
6241                  (e.maxTranslate() - e.minTranslate())),
6242                (o = (i - e.minTranslate()) * r + t.minTranslate())),
6243              e.params.controller.inverse && (o = t.maxTranslate() - o),
6244              t.updateProgress(o),
6245              t.setTranslate(o, e),
6246              t.updateActiveIndex(),
6247              t.updateSlidesClasses();
6248          }
6249          if (Array.isArray(n))
6250            for (let e = 0; e < n.length; e += 1)
6251              n[e] !== i && n[e] instanceof a && l(n[e]);
6252          else n instanceof a && i !== n && l(n);
6253        },
6254        setTransition: function (t, i) {
6255          const s = e.constructor,
6256            n = e.controller.control;
6257          let r;
6258          function o(i) {
6259            i.setTransition(t, e),
6260              0 !== t &&
6261                (i.transitionStart(),
6262                i.params.autoHeight &&
6263                  Me(() => {
6264                    i.updateAutoHeight();
6265                  }),
6266                _e(i.wrapperEl, () => {
6267                  n && i.transitionEnd();
6268                }));
6269          }
6270          if (Array.isArray(n))
6271            for (r = 0; r < n.length; r += 1)
6272              n[r] !== i && n[r] instanceof s && o(n[r]);
6273          else n instanceof s && i !== n && o(n);
6274        },
6275      });
6276  },
6277  function ({ swiper: e, extendParams: t, on: i }) {
6278    t({
6279      a11y: {
6280        enabled: !0,
6281        notificationClass: "swiper-notification",
6282        prevSlideMessage: "Previous slide",
6283        nextSlideMessage: "Next slide",
6284        firstSlideMessage: "This is the first slide",
6285        lastSlideMessage: "This is the last slide",
6286        paginationBulletMessage: "Go to slide {{index}}",
6287        slideLabelMessage: "{{index}} / {{slidesLength}}",
6288        containerMessage: null,
6289        containerRoleDescriptionMessage: null,
6290        itemRoleDescriptionMessage: null,
6291        slideRole: "group",
6292        id: null,
6293      },
6294    }),
6295      (e.a11y = { clicked: !1 });
6296    let s = null;
6297    function n(e) {
6298      const t = s;
6299      0 !== t.length && ((t.innerHTML = ""), (t.innerHTML = e));
6300    }
6301    const r = (e) => (Array.isArray(e) || (e = [e].filter((e) => !!e)), e);
6302    function o(e) {
6303      (e = r(e)).forEach((e) => {
6304        e.setAttribute("tabIndex", "0");
6305      });
6306    }
6307    function a(e) {
6308      (e = r(e)).forEach((e) => {
6309        e.setAttribute("tabIndex", "-1");
6310      });
6311    }
6312    function l(e, t) {
6313      (e = r(e)).forEach((e) => {
6314        e.setAttribute("role", t);
6315      });
6316    }
6317    function c(e, t) {
6318      (e = r(e)).forEach((e) => {
6319        e.setAttribute("aria-roledescription", t);
6320      });
6321    }
6322    function d(e, t) {
6323      (e = r(e)).forEach((e) => {
6324        e.setAttribute("aria-label", t);
6325      });
6326    }
6327    function p(e) {
6328      (e = r(e)).forEach((e) => {
6329        e.setAttribute("aria-disabled", !0);
6330      });
6331    }
6332    function u(e) {
6333      (e = r(e)).forEach((e) => {
6334        e.setAttribute("aria-disabled", !1);
6335      });
6336    }
6337    function h(t) {
6338      if (13 !== t.keyCode && 32 !== t.keyCode) return;
6339      const i = e.params.a11y,
6340        s = t.target;
6341      (e.pagination &&
6342        e.pagination.el &&
6343        (s === e.pagination.el || e.pagination.el.contains(t.target)) &&
6344        !t.target.matches(gt(e.params.pagination.bulletClass))) ||
6345        (e.navigation &&
6346          e.navigation.nextEl &&
6347          s === e.navigation.nextEl &&
6348          ((e.isEnd && !e.params.loop) || e.slideNext(),
6349          e.isEnd ? n(i.lastSlideMessage) : n(i.nextSlideMessage)),
6350        e.navigation &&
6351          e.navigation.prevEl &&
6352          s === e.navigation.prevEl &&
6353          ((e.isBeginning && !e.params.loop) || e.slidePrev(),
6354          e.isBeginning ? n(i.firstSlideMessage) : n(i.prevSlideMessage)),
6355        e.pagination &&
6356          s.matches(gt(e.params.pagination.bulletClass)) &&
6357          s.click());
6358    }
6359    function f() {
6360      return (
6361        e.pagination && e.pagination.bullets && e.pagination.bullets.length
6362      );
6363    }
6364    function w() {
6365      return f() && e.params.pagination.clickable;
6366    }
6367    const v = (e, t, i) => {
6368        o(e),
6369          "BUTTON" !== e.tagName &&
6370            (l(e, "button"), e.addEventListener("keydown", h)),
6371          d(e, i),
6372          (function (e, t) {
6373            (e = r(e)).forEach((e) => {
6374              e.setAttribute("aria-controls", t);
6375            });
6376          })(e, t);
6377      },
6378      g = () => {
6379        e.a11y.clicked = !0;
6380      },
6381      b = () => {
6382        requestAnimationFrame(() => {
6383          requestAnimationFrame(() => {
6384            e.destroyed || (e.a11y.clicked = !1);
6385          });
6386        });
6387      },
6388      m = (t) => {
6389        if (e.a11y.clicked) return;
6390        const i = t.target.closest(`.${e.params.slideClass}, swiper-slide`);
6391        if (!i || !e.slides.includes(i)) return;
6392        const s = e.slides.indexOf(i) === e.activeIndex,
6393          n =
6394            e.params.watchSlidesProgress &&
6395            e.visibleSlides &&
6396            e.visibleSlides.includes(i);
6397        s ||
6398          n ||
6399          (t.sourceCapabilities && t.sourceCapabilities.firesTouchEvents) ||
6400          (e.isHorizontal() ? (e.el.scrollLeft = 0) : (e.el.scrollTop = 0),
6401          e.slideTo(e.slides.indexOf(i), 0));
6402      },
6403      x = () => {
6404        const t = e.params.a11y;
6405        t.itemRoleDescriptionMessage &&
6406          c(e.slides, t.itemRoleDescriptionMessage),
6407          t.slideRole && l(e.slides, t.slideRole);
6408        const i = e.slides.length;
6409        t.slideLabelMessage &&
6410          e.slides.forEach((s, n) => {
6411            const r = e.params.loop
6412              ? parseInt(s.getAttribute("data-swiper-slide-index"), 10)
6413              : n;
6414            d(
6415              s,
6416              t.slideLabelMessage
6417                .replace(/\{\{index\}\}/, r + 1)
6418                .replace(/\{\{slidesLength\}\}/, i)
6419            );
6420          });
6421      },
6422      A = () => {
6423        const t = e.params.a11y;
6424        e.el.append(s);
6425        const i = e.el;
6426        t.containerRoleDescriptionMessage &&
6427          c(i, t.containerRoleDescriptionMessage),
6428          t.containerMessage && d(i, t.containerMessage);
6429        const n = e.wrapperEl,
6430          o =
6431            t.id ||
6432            n.getAttribute("id") ||
6433            `swiper-wrapper-${(function (e = 16) {
6434              return "x"
6435                .repeat(e)
6436                .replace(/x/g, () =>
6437                  Math.round(16 * Math.random()).toString(16)
6438                );
6439            })(16)}`,
6440          a = e.params.autoplay && e.params.autoplay.enabled ? "off" : "polite";
6441        var l;
6442        (l = o),
6443          r(n).forEach((e) => {
6444            e.setAttribute("id", l);
6445          }),
6446          (function (e, t) {
6447            (e = r(e)).forEach((e) => {
6448              e.setAttribute("aria-live", t);
6449            });
6450          })(n, a),
6451          x();
6452        let { nextEl: p, prevEl: u } = e.navigation ? e.navigation : {};
6453        if (
6454          ((p = r(p)),
6455          (u = r(u)),
6456          p && p.forEach((e) => v(e, o, t.nextSlideMessage)),
6457          u && u.forEach((e) => v(e, o, t.prevSlideMessage)),
6458          w())
6459        ) {
6460          (Array.isArray(e.pagination.el)
6461            ? e.pagination.el
6462            : [e.pagination.el]
6463          ).forEach((e) => {
6464            e.addEventListener("keydown", h);
6465          });
6466        }
6467        e.el.addEventListener("focus", m, !0),
6468          e.el.addEventListener("pointerdown", g, !0),
6469          e.el.addEventListener("pointerup", b, !0);
6470      };
6471    i("beforeInit", () => {
6472      (s = Oe("span", e.params.a11y.notificationClass)),
6473        s.setAttribute("aria-live", "assertive"),
6474        s.setAttribute("aria-atomic", "true"),
6475        e.isElement && s.setAttribute("slot", "container-end");
6476    }),
6477      i("afterInit", () => {
6478        e.params.a11y.enabled && A();
6479      }),
6480      i(
6481        "slidesLengthChange snapGridLengthChange slidesGridLengthChange",
6482        () => {
6483          e.params.a11y.enabled && x();
6484        }
6485      ),
6486      i("fromEdge toEdge afterInit lock unlock", () => {
6487        e.params.a11y.enabled &&
6488          (function () {
6489            if (e.params.loop || e.params.rewind || !e.navigation) return;
6490            const { nextEl: t, prevEl: i } = e.navigation;
6491            i && (e.isBeginning ? (p(i), a(i)) : (u(i), o(i))),
6492              t && (e.isEnd ? (p(t), a(t)) : (u(t), o(t)));
6493          })();
6494      }),
6495      i("paginationUpdate", () => {
6496        e.params.a11y.enabled &&
6497          (function () {
6498            const t = e.params.a11y;
6499            f() &&
6500              e.pagination.bullets.forEach((i) => {
6501                e.params.pagination.clickable &&
6502                  (o(i),
6503                  e.params.pagination.renderBullet ||
6504                    (l(i, "button"),
6505                    d(
6506                      i,
6507                      t.paginationBulletMessage.replace(
6508                        /\{\{index\}\}/,
6509                        Ie(i) + 1
6510                      )
6511                    ))),
6512                  i.matches(gt(e.params.pagination.bulletActiveClass))
6513                    ? i.setAttribute("aria-current", "true")
6514                    : i.removeAttribute("aria-current");
6515              });
6516          })();
6517      }),
6518      i("destroy", () => {
6519        e.params.a11y.enabled &&
6520          (function () {
6521            s && s.length > 0 && s.remove();
6522            let { nextEl: t, prevEl: i } = e.navigation ? e.navigation : {};
6523            (t = r(t)),
6524              (i = r(i)),
6525              t && t.forEach((e) => e.removeEventListener("keydown", h)),
6526              i && i.forEach((e) => e.removeEventListener("keydown", h)),
6527              w() &&
6528                (Array.isArray(e.pagination.el)
6529                  ? e.pagination.el
6530                  : [e.pagination.el]
6531                ).forEach((e) => {
6532                  e.removeEventListener("keydown", h);
6533                });
6534            e.el.removeEventListener("focus", m, !0),
6535              e.el.removeEventListener("pointerdown", g, !0),
6536              e.el.removeEventListener("pointerup", b, !0);
6537          })();
6538      });
6539  },
6540  function ({ swiper: e, extendParams: t, on: i }) {
6541    t({
6542      history: {
6543        enabled: !1,
6544        root: "",
6545        replaceState: !1,
6546        key: "slides",
6547        keepQuery: !1,
6548      },
6549    });
6550    let s = !1,
6551      n = {};
6552    const r = (e) =>
6553        e
6554          .toString()
6555          .replace(/\s+/g, "-")
6556          .replace(/[^\w-]+/g, "")
6557          .replace(/--+/g, "-")
6558          .replace(/^-+/, "")
6559          .replace(/-+$/, ""),
6560      o = (e) => {
6561        const t = ye();
6562        let i;
6563        i = e ? new URL(e) : t.location;
6564        const s = i.pathname
6565            .slice(1)
6566            .split("/")
6567            .filter((e) => "" !== e),
6568          n = s.length;
6569        return { key: s[n - 2], value: s[n - 1] };
6570      },
6571      a = (t, i) => {
6572        const n = ye();
6573        if (!s || !e.params.history.enabled) return;
6574        let o;
6575        o = e.params.url ? new URL(e.params.url) : n.location;
6576        const a = e.slides[i];
6577        let l = r(a.getAttribute("data-history"));
6578        if (e.params.history.root.length > 0) {
6579          let i = e.params.history.root;
6580          "/" === i[i.length - 1] && (i = i.slice(0, i.length - 1)),
6581            (l = `${i}/${t ? `${t}/` : ""}${l}`);
6582        } else o.pathname.includes(t) || (l = `${t ? `${t}/` : ""}${l}`);
6583        e.params.history.keepQuery && (l += o.search);
6584        const c = n.history.state;
6585        (c && c.value === l) ||
6586          (e.params.history.replaceState
6587            ? n.history.replaceState({ value: l }, null, l)
6588            : n.history.pushState({ value: l }, null, l));
6589      },
6590      l = (t, i, s) => {
6591        if (i)
6592          for (let n = 0, o = e.slides.length; n < o; n += 1) {
6593            const o = e.slides[n];
6594            if (r(o.getAttribute("data-history")) === i) {
6595              const i = e.getSlideIndex(o);
6596              e.slideTo(i, t, s);
6597            }
6598          }
6599        else e.slideTo(0, t, s);
6600      },
6601      c = () => {
6602        (n = o(e.params.url)), l(e.params.speed, n.value, !1);
6603      };
6604    i("init", () => {
6605      e.params.history.enabled &&
6606        (() => {
6607          const t = ye();
6608          if (e.params.history) {
6609            if (!t.history || !t.history.pushState)
6610              return (
6611                (e.params.history.enabled = !1),
6612                void (e.params.hashNavigation.enabled = !0)
6613              );
6614            (s = !0),
6615              (n = o(e.params.url)),
6616              n.key || n.value
6617                ? (l(0, n.value, e.params.runCallbacksOnInit),
6618                  e.params.history.replaceState ||
6619                    t.addEventListener("popstate", c))
6620                : e.params.history.replaceState ||
6621                  t.addEventListener("popstate", c);
6622          }
6623        })();
6624    }),
6625      i("destroy", () => {
6626        e.params.history.enabled &&
6627          (() => {
6628            const t = ye();
6629            e.params.history.replaceState ||
6630              t.removeEventListener("popstate", c);
6631          })();
6632      }),
6633      i("transitionEnd _freeModeNoMomentumRelease", () => {
6634        s && a(e.params.history.key, e.activeIndex);
6635      }),
6636      i("slideChange", () => {
6637        s && e.params.cssMode && a(e.params.history.key, e.activeIndex);
6638      });
6639  },
6640  function ({ swiper: e, extendParams: t, emit: i, on: s }) {
6641    let n = !1;
6642    const r = xe(),
6643      o = ye();
6644    t({ hashNavigation: { enabled: !1, replaceState: !1, watchState: !1 } });
6645    const a = () => {
6646        i("hashChange");
6647        const t = r.location.hash.replace("#", "");
6648        if (t !== e.slides[e.activeIndex].getAttribute("data-hash")) {
6649          const i = e.getSlideIndex(
6650            Pe(
6651              e.slidesEl,
6652              `.${e.params.slideClass}[data-hash="${t}"], swiper-slide[data-hash="${t}"]`
6653            )[0]
6654          );
6655          if (void 0 === i) return;
6656          e.slideTo(i);
6657        }
6658      },
6659      l = () => {
6660        if (n && e.params.hashNavigation.enabled)
6661          if (
6662            e.params.hashNavigation.replaceState &&
6663            o.history &&
6664            o.history.replaceState
6665          )
6666            o.history.replaceState(
6667              null,
6668              null,
6669              `#${e.slides[e.activeIndex].getAttribute("data-hash")}` || ""
6670            ),
6671              i("hashSet");
6672          else {
6673            const t = e.slides[e.activeIndex],
6674              s = t.getAttribute("data-hash") || t.getAttribute("data-history");
6675            (r.location.hash = s || ""), i("hashSet");
6676          }
6677      };
6678    s("init", () => {
6679      e.params.hashNavigation.enabled &&
6680        (() => {
6681          if (
6682            !e.params.hashNavigation.enabled ||
6683            (e.params.history && e.params.history.enabled)
6684          )
6685            return;
6686          n = !0;
6687          const t = r.location.hash.replace("#", "");
6688          if (t) {
6689            const i = 0;
6690            for (let s = 0, n = e.slides.length; s < n; s += 1) {
6691              const n = e.slides[s];
6692              if (
6693                (n.getAttribute("data-hash") ||
6694                  n.getAttribute("data-history")) === t
6695              ) {
6696                const t = e.getSlideIndex(n);
6697                e.slideTo(t, i, e.params.runCallbacksOnInit, !0);
6698              }
6699            }
6700          }
6701          e.params.hashNavigation.watchState &&
6702            o.addEventListener("hashchange", a);
6703        })();
6704    }),
6705      s("destroy", () => {
6706        e.params.hashNavigation.enabled &&
6707          e.params.hashNavigation.watchState &&
6708          o.removeEventListener("hashchange", a);
6709      }),
6710      s("transitionEnd _freeModeNoMomentumRelease", () => {
6711        n && l();
6712      }),
6713      s("slideChange", () => {
6714        n && e.params.cssMode && l();
6715      });
6716  },
6717  function ({ swiper: e, extendParams: t, on: i, emit: s, params: n }) {
6718    let r, o;
6719    (e.autoplay = { running: !1, paused: !1, timeLeft: 0 }),
6720      t({
6721        autoplay: {
6722          enabled: !1,
6723          delay: 3e3,
6724          waitForTransition: !0,
6725          disableOnInteraction: !0,
6726          stopOnLastSlide: !1,
6727          reverseDirection: !1,
6728          pauseOnMouseEnter: !1,
6729        },
6730      });
6731    let a,
6732      l,
6733      c,
6734      d,
6735      p,
6736      u,
6737      h,
6738      f = n && n.autoplay ? n.autoplay.delay : 3e3,
6739      w = n && n.autoplay ? n.autoplay.delay : 3e3,
6740      v = new Date().getTime;
6741    function g(t) {
6742      e &&
6743        !e.destroyed &&
6744        e.wrapperEl &&
6745        t.target === e.wrapperEl &&
6746        (e.wrapperEl.removeEventListener("transitionend", g), M());
6747    }
6748    const b = () => {
6749        if (e.destroyed || !e.autoplay.running) return;
6750        e.autoplay.paused ? (l = !0) : l && ((w = a), (l = !1));
6751        const t = e.autoplay.paused ? a : v + w - new Date().getTime();
6752        (e.autoplay.timeLeft = t),
6753          s("autoplayTimeLeft", t, t / f),
6754          (o = requestAnimationFrame(() => {
6755            b();
6756          }));
6757      },
6758      m = (t) => {
6759        if (e.destroyed || !e.autoplay.running) return;
6760        cancelAnimationFrame(o), b();
6761        let i = void 0 === t ? e.params.autoplay.delay : t;
6762        (f = e.params.autoplay.delay), (w = e.params.autoplay.delay);
6763        const n = (() => {
6764          let t;
6765          if (
6766            ((t =
6767              e.virtual && e.params.virtual.enabled
6768                ? e.slides.filter((e) =>
6769                    e.classList.contains("swiper-slide-active")
6770                  )[0]
6771                : e.slides[e.activeIndex]),
6772            !t)
6773          )
6774            return;
6775          return parseInt(t.getAttribute("data-swiper-autoplay"), 10);
6776        })();
6777        !Number.isNaN(n) &&
6778          n > 0 &&
6779          void 0 === t &&
6780          ((i = n), (f = n), (w = n)),
6781          (a = i);
6782        const l = e.params.speed,
6783          c = () => {
6784            e &&
6785              !e.destroyed &&
6786              (e.params.autoplay.reverseDirection
6787                ? !e.isBeginning || e.params.loop || e.params.rewind
6788                  ? (e.slidePrev(l, !0, !0), s("autoplay"))
6789                  : e.params.autoplay.stopOnLastSlide ||
6790                    (e.slideTo(e.slides.length - 1, l, !0, !0), s("autoplay"))
6791                : !e.isEnd || e.params.loop || e.params.rewind
6792                ? (e.slideNext(l, !0, !0), s("autoplay"))
6793                : e.params.autoplay.stopOnLastSlide ||
6794                  (e.slideTo(0, l, !0, !0), s("autoplay")),
6795              e.params.cssMode &&
6796                ((v = new Date().getTime()),
6797                requestAnimationFrame(() => {
6798                  m();
6799                })));
6800          };
6801        return (
6802          i > 0
6803            ? (clearTimeout(r),
6804              (r = setTimeout(() => {
6805                c();
6806              }, i)))
6807            : requestAnimationFrame(() => {
6808                c();
6809              }),
6810          i
6811        );
6812      },
6813      x = () => {
6814        (e.autoplay.running = !0), m(), s("autoplayStart");
6815      },
6816      A = () => {
6817        (e.autoplay.running = !1),
6818          clearTimeout(r),
6819          cancelAnimationFrame(o),
6820          s("autoplayStop");
6821      },
6822      y = (t, i) => {
6823        if (e.destroyed || !e.autoplay.running) return;
6824        clearTimeout(r), t || (h = !0);
6825        const n = () => {
6826          s("autoplayPause"),
6827            e.params.autoplay.waitForTransition
6828              ? e.wrapperEl.addEventListener("transitionend", g)
6829              : M();
6830        };
6831        if (((e.autoplay.paused = !0), i))
6832          return u && (a = e.params.autoplay.delay), (u = !1), void n();
6833        const o = a || e.params.autoplay.delay;
6834        (a = o - (new Date().getTime() - v)),
6835          (e.isEnd && a < 0 && !e.params.loop) || (a < 0 && (a = 0), n());
6836      },
6837      M = () => {
6838        (e.isEnd && a < 0 && !e.params.loop) ||
6839          e.destroyed ||
6840          !e.autoplay.running ||
6841          ((v = new Date().getTime()),
6842          h ? ((h = !1), m(a)) : m(),
6843          (e.autoplay.paused = !1),
6844          s("autoplayResume"));
6845      },
6846      $ = () => {
6847        if (e.destroyed || !e.autoplay.running) return;
6848        const t = xe();
6849        "hidden" === t.visibilityState && ((h = !0), y(!0)),
6850          "visible" === t.visibilityState && M();
6851      },
6852      S = (e) => {
6853        "mouse" === e.pointerType && ((h = !0), y(!0));
6854      },
6855      E = (t) => {
6856        "mouse" === t.pointerType && e.autoplay.paused && M();
6857      };
6858    i("init", () => {
6859      e.params.autoplay.enabled &&
6860        (e.params.autoplay.pauseOnMouseEnter &&
6861          (e.el.addEventListener("pointerenter", S),
6862          e.el.addEventListener("pointerleave", E)),
6863        xe().addEventListener("visibilitychange", $),
6864        (v = new Date().getTime()),
6865        x());
6866    }),
6867      i("destroy", () => {
6868        e.el.removeEventListener("pointerenter", S),
6869          e.el.removeEventListener("pointerleave", E),
6870          xe().removeEventListener("visibilitychange", $),
6871          e.autoplay.running && A();
6872      }),
6873      i("beforeTransitionStart", (t, i, s) => {
6874        !e.destroyed &&
6875          e.autoplay.running &&
6876          (s || !e.params.autoplay.disableOnInteraction ? y(!0, !0) : A());
6877      }),
6878      i("sliderFirstMove", () => {
6879        !e.destroyed &&
6880          e.autoplay.running &&
6881          (e.params.autoplay.disableOnInteraction
6882            ? A()
6883            : ((c = !0),
6884              (d = !1),
6885              (h = !1),
6886              (p = setTimeout(() => {
6887                (h = !0), (d = !0), y(!0);
6888              }, 200))));
6889      }),
6890      i("touchEnd", () => {
6891        if (!e.destroyed && e.autoplay.running && c) {
6892          if (
6893            (clearTimeout(p),
6894            clearTimeout(r),
6895            e.params.autoplay.disableOnInteraction)
6896          )
6897            return (d = !1), void (c = !1);
6898          d && e.params.cssMode && M(), (d = !1), (c = !1);
6899        }
6900      }),
6901      i("slideChange", () => {
6902        !e.destroyed && e.autoplay.running && (u = !0);
6903      }),
6904      Object.assign(e.autoplay, { start: x, stop: A, pause: y, resume: M });
6905  },
6906  function ({ swiper: e, extendParams: t, on: i }) {
6907    t({
6908      thumbs: {
6909        swiper: null,
6910        multipleActiveThumbs: !0,
6911        autoScrollOffset: 0,
6912        slideThumbActiveClass: "swiper-slide-thumb-active",
6913        thumbsContainerClass: "swiper-thumbs",
6914      },
6915    });
6916    let s = !1,
6917      n = !1;
6918    function r() {
6919      const t = e.thumbs.swiper;
6920      if (!t || t.destroyed) return;
6921      const i = t.clickedIndex,
6922        s = t.clickedSlide;
6923      if (s && s.classList.contains(e.params.thumbs.slideThumbActiveClass))
6924        return;
6925      if (null == i) return;
6926      let n;
6927      (n = t.params.loop
6928        ? parseInt(t.clickedSlide.getAttribute("data-swiper-slide-index"), 10)
6929        : i),
6930        e.params.loop ? e.slideToLoop(n) : e.slideTo(n);
6931    }
6932    function o() {
6933      const { thumbs: t } = e.params;
6934      if (s) return !1;
6935      s = !0;
6936      const i = e.constructor;
6937      if (t.swiper instanceof i)
6938        (e.thumbs.swiper = t.swiper),
6939          Object.assign(e.thumbs.swiper.originalParams, {
6940            watchSlidesProgress: !0,
6941            slideToClickedSlide: !1,
6942          }),
6943          Object.assign(e.thumbs.swiper.params, {
6944            watchSlidesProgress: !0,
6945            slideToClickedSlide: !1,
6946          }),
6947          e.thumbs.swiper.update();
6948      else if (Ee(t.swiper)) {
6949        const s = Object.assign({}, t.swiper);
6950        Object.assign(s, { watchSlidesProgress: !0, slideToClickedSlide: !1 }),
6951          (e.thumbs.swiper = new i(s)),
6952          (n = !0);
6953      }
6954      return (
6955        e.thumbs.swiper.el.classList.add(e.params.thumbs.thumbsContainerClass),
6956        e.thumbs.swiper.on("tap", r),
6957        !0
6958      );
6959    }
6960    function a(t) {
6961      const i = e.thumbs.swiper;
6962      if (!i || i.destroyed) return;
6963      const s =
6964        "auto" === i.params.slidesPerView
6965          ? i.slidesPerViewDynamic()
6966          : i.params.slidesPerView;
6967      let n = 1;
6968      const r = e.params.thumbs.slideThumbActiveClass;
6969      if (
6970        (e.params.slidesPerView > 1 &&
6971          !e.params.centeredSlides &&
6972          (n = e.params.slidesPerView),
6973        e.params.thumbs.multipleActiveThumbs || (n = 1),
6974        (n = Math.floor(n)),
6975        i.slides.forEach((e) => e.classList.remove(r)),
6976        i.params.loop || (i.params.virtual && i.params.virtual.enabled))
6977      )
6978        for (let t = 0; t < n; t += 1)
6979          Pe(
6980            i.slidesEl,
6981            `[data-swiper-slide-index="${e.realIndex + t}"]`
6982          ).forEach((e) => {
6983            e.classList.add(r);
6984          });
6985      else
6986        for (let t = 0; t < n; t += 1)
6987          i.slides[e.realIndex + t] &&
6988            i.slides[e.realIndex + t].classList.add(r);
6989      const o = e.params.thumbs.autoScrollOffset,
6990        a = o && !i.params.loop;
6991      if (e.realIndex !== i.realIndex || a) {
6992        const n = i.activeIndex;
6993        let r, l;
6994        if (i.params.loop) {
6995          const t = i.slides.filter(
6996            (t) =>
6997              t.getAttribute("data-swiper-slide-index") === `${e.realIndex}`
6998          )[0];
6999          (r = i.slides.indexOf(t)),
7000            (l = e.activeIndex > e.previousIndex ? "next" : "prev");
7001        } else (r = e.realIndex), (l = r > e.previousIndex ? "next" : "prev");
7002        a && (r += "next" === l ? o : -1 * o),
7003          i.visibleSlidesIndexes &&
7004            i.visibleSlidesIndexes.indexOf(r) < 0 &&
7005            (i.params.centeredSlides
7006              ? (r =
7007                  r > n ? r - Math.floor(s / 2) + 1 : r + Math.floor(s / 2) - 1)
7008              : r > n && i.params.slidesPerGroup,
7009            i.slideTo(r, t ? 0 : void 0));
7010      }
7011    }
7012    (e.thumbs = { swiper: null }),
7013      i("beforeInit", () => {
7014        const { thumbs: t } = e.params;
7015        if (t && t.swiper)
7016          if ("string" == typeof t.swiper || t.swiper instanceof HTMLElement) {
7017            const i = xe(),
7018              s = () => {
7019                const s =
7020                  "string" == typeof t.swiper
7021                    ? i.querySelector(t.swiper)
7022                    : t.swiper;
7023                if (s && s.swiper) (t.swiper = s.swiper), o(), a(!0);
7024                else if (s) {
7025                  const i = (n) => {
7026                    (t.swiper = n.detail[0]),
7027                      s.removeEventListener("init", i),
7028                      o(),
7029                      a(!0),
7030                      t.swiper.update(),
7031                      e.update();
7032                  };
7033                  s.addEventListener("init", i);
7034                }
7035                return s;
7036              },
7037              n = () => {
7038                if (e.destroyed) return;
7039                s() || requestAnimationFrame(n);
7040              };
7041            requestAnimationFrame(n);
7042          } else o(), a(!0);
7043      }),
7044      i("slideChange update resize observerUpdate", () => {
7045        a();
7046      }),
7047      i("setTransition", (t, i) => {
7048        const s = e.thumbs.swiper;
7049        s && !s.destroyed && s.setTransition(i);
7050      }),
7051      i("beforeDestroy", () => {
7052        const t = e.thumbs.swiper;
7053        t && !t.destroyed && n && t.destroy();
7054      }),
7055      Object.assign(e.thumbs, { init: o, update: a });
7056  },
7057  function ({ swiper: e, extendParams: t, emit: i, once: s }) {
7058    t({
7059      freeMode: {
7060        enabled: !1,
7061        momentum: !0,
7062        momentumRatio: 1,
7063        momentumBounce: !0,
7064        momentumBounceRatio: 1,
7065        momentumVelocityRatio: 1,
7066        sticky: !1,
7067        minimumVelocity: 0.02,
7068      },
7069    }),
7070      Object.assign(e, {
7071        freeMode: {
7072          onTouchStart: function () {
7073            const t = e.getTranslate();
7074            e.setTranslate(t),
7075              e.setTransition(0),
7076              (e.touchEventsData.velocities.length = 0),
7077              e.freeMode.onTouchEnd({
7078                currentPos: e.rtl ? e.translate : -e.translate,
7079              });
7080          },
7081          onTouchMove: function () {
7082            const { touchEventsData: t, touches: i } = e;
7083            0 === t.velocities.length &&
7084              t.velocities.push({
7085                position: i[e.isHorizontal() ? "startX" : "startY"],
7086                time: t.touchStartTime,
7087              }),
7088              t.velocities.push({
7089                position: i[e.isHorizontal() ? "currentX" : "currentY"],
7090                time: $e(),
7091              });
7092          },
7093          onTouchEnd: function ({ currentPos: t }) {
7094            const {
7095                params: n,
7096                wrapperEl: r,
7097                rtlTranslate: o,
7098                snapGrid: a,
7099                touchEventsData: l,
7100              } = e,
7101              c = $e() - l.touchStartTime;
7102            if (t < -e.minTranslate()) e.slideTo(e.activeIndex);
7103            else if (t > -e.maxTranslate())
7104              e.slides.length < a.length
7105                ? e.slideTo(a.length - 1)
7106                : e.slideTo(e.slides.length - 1);
7107            else {
7108              if (n.freeMode.momentum) {
7109                if (l.velocities.length > 1) {
7110                  const t = l.velocities.pop(),
7111                    i = l.velocities.pop(),
7112                    s = t.position - i.position,
7113                    r = t.time - i.time;
7114                  (e.velocity = s / r),
7115                    (e.velocity /= 2),
7116                    Math.abs(e.velocity) < n.freeMode.minimumVelocity &&
7117                      (e.velocity = 0),
7118                    (r > 150 || $e() - t.time > 300) && (e.velocity = 0);
7119                } else e.velocity = 0;
7120                (e.velocity *= n.freeMode.momentumVelocityRatio),
7121                  (l.velocities.length = 0);
7122                let t = 1e3 * n.freeMode.momentumRatio;
7123                const c = e.velocity * t;
7124                let d = e.translate + c;
7125                o && (d = -d);
7126                let p,
7127                  u = !1;
7128                const h =
7129                  20 * Math.abs(e.velocity) * n.freeMode.momentumBounceRatio;
7130                let f;
7131                if (d < e.maxTranslate())
7132                  n.freeMode.momentumBounce
7133                    ? (d + e.maxTranslate() < -h && (d = e.maxTranslate() - h),
7134                      (p = e.maxTranslate()),
7135                      (u = !0),
7136                      (l.allowMomentumBounce = !0))
7137                    : (d = e.maxTranslate()),
7138                    n.loop && n.centeredSlides && (f = !0);
7139                else if (d > e.minTranslate())
7140                  n.freeMode.momentumBounce
7141                    ? (d - e.minTranslate() > h && (d = e.minTranslate() + h),
7142                      (p = e.minTranslate()),
7143                      (u = !0),
7144                      (l.allowMomentumBounce = !0))
7145                    : (d = e.minTranslate()),
7146                    n.loop && n.centeredSlides && (f = !0);
7147                else if (n.freeMode.sticky) {
7148                  let t;
7149                  for (let e = 0; e < a.length; e += 1)
7150                    if (a[e] > -d) {
7151                      t = e;
7152                      break;
7153                    }
7154                  (d =
7155                    Math.abs(a[t] - d) < Math.abs(a[t - 1] - d) ||
7156                    "next" === e.swipeDirection
7157                      ? a[t]
7158                      : a[t - 1]),
7159                    (d = -d);
7160                }
7161                if (
7162                  (f &&
7163                    s("transitionEnd", () => {
7164                      e.loopFix();
7165                    }),
7166                  0 !== e.velocity)
7167                ) {
7168                  if (
7169                    ((t = o
7170                      ? Math.abs((-d - e.translate) / e.velocity)
7171                      : Math.abs((d - e.translate) / e.velocity)),
7172                    n.freeMode.sticky)
7173                  ) {
7174                    const i = Math.abs((o ? -d : d) - e.translate),
7175                      s = e.slidesSizesGrid[e.activeIndex];
7176                    t =
7177                      i < s
7178                        ? n.speed
7179                        : i < 2 * s
7180                        ? 1.5 * n.speed
7181                        : 2.5 * n.speed;
7182                  }
7183                } else if (n.freeMode.sticky) return void e.slideToClosest();
7184                n.freeMode.momentumBounce && u
7185                  ? (e.updateProgress(p),
7186                    e.setTransition(t),
7187                    e.setTranslate(d),
7188                    e.transitionStart(!0, e.swipeDirection),
7189                    (e.animating = !0),
7190                    _e(r, () => {
7191                      e &&
7192                        !e.destroyed &&
7193                        l.allowMomentumBounce &&
7194                        (i("momentumBounce"),
7195                        e.setTransition(n.speed),
7196                        setTimeout(() => {
7197                          e.setTranslate(p),
7198                            _e(r, () => {
7199                              e && !e.destroyed && e.transitionEnd();
7200                            });
7201                        }, 0));
7202                    }))
7203                  : e.velocity
7204                  ? (i("_freeModeNoMomentumRelease"),
7205                    e.updateProgress(d),
7206                    e.setTransition(t),
7207                    e.setTranslate(d),
7208                    e.transitionStart(!0, e.swipeDirection),
7209                    e.animating ||
7210                      ((e.animating = !0),
7211                      _e(r, () => {
7212                        e && !e.destroyed && e.transitionEnd();
7213                      })))
7214                  : e.updateProgress(d),
7215                  e.updateActiveIndex(),
7216                  e.updateSlidesClasses();
7217              } else {
7218                if (n.freeMode.sticky) return void e.slideToClosest();
7219                n.freeMode && i("_freeModeNoMomentumRelease");
7220              }
7221              (!n.freeMode.momentum || c >= n.longSwipesMs) &&
7222                (e.updateProgress(),
7223                e.updateActiveIndex(),
7224                e.updateSlidesClasses());
7225            }
7226          },
7227        },
7228      });
7229  },
7230  function ({ swiper: e, extendParams: t }) {
7231    let i, s, n;
7232    t({ grid: { rows: 1, fill: "column" } }),
7233      (e.grid = {
7234        initSlides: (t) => {
7235          const { slidesPerView: r } = e.params,
7236            { rows: o, fill: a } = e.params.grid;
7237          (s = i / o),
7238            (n = Math.floor(t / o)),
7239            (i = Math.floor(t / o) === t / o ? t : Math.ceil(t / o) * o),
7240            "auto" !== r && "row" === a && (i = Math.max(i, r * o));
7241        },
7242        updateSlide: (t, r, o, a) => {
7243          const { slidesPerGroup: l, spaceBetween: c } = e.params,
7244            { rows: d, fill: p } = e.params.grid;
7245          let u, h, f;
7246          if ("row" === p && l > 1) {
7247            const e = Math.floor(t / (l * d)),
7248              s = t - d * l * e,
7249              n = 0 === e ? l : Math.min(Math.ceil((o - e * d * l) / d), l);
7250            (f = Math.floor(s / n)),
7251              (h = s - f * n + e * l),
7252              (u = h + (f * i) / d),
7253              (r.style.order = u);
7254          } else
7255            "column" === p
7256              ? ((h = Math.floor(t / d)),
7257                (f = t - h * d),
7258                (h > n || (h === n && f === d - 1)) &&
7259                  ((f += 1), f >= d && ((f = 0), (h += 1))))
7260              : ((f = Math.floor(t / s)), (h = t - f * s));
7261          r.style[a("margin-top")] = 0 !== f ? c && `${c}px` : "";
7262        },
7263        updateWrapperSize: (t, s, n) => {
7264          const {
7265              spaceBetween: r,
7266              centeredSlides: o,
7267              roundLengths: a,
7268            } = e.params,
7269            { rows: l } = e.params.grid;
7270          if (
7271            ((e.virtualSize = (t + r) * i),
7272            (e.virtualSize = Math.ceil(e.virtualSize / l) - r),
7273            (e.wrapperEl.style[n("width")] = `${e.virtualSize + r}px`),
7274            o)
7275          ) {
7276            const t = [];
7277            for (let i = 0; i < s.length; i += 1) {
7278              let n = s[i];
7279              a && (n = Math.floor(n)),
7280                s[i] < e.virtualSize + s[0] && t.push(n);
7281            }
7282            s.splice(0, s.length), s.push(...t);
7283          }
7284        },
7285      });
7286  },
7287  function ({ swiper: e }) {
7288    Object.assign(e, {
7289      appendSlide: bt.bind(e),
7290      prependSlide: mt.bind(e),
7291      addSlide: xt.bind(e),
7292      removeSlide: At.bind(e),
7293      removeAllSlides: yt.bind(e),
7294    });
7295  },
7296  function ({ swiper: e, extendParams: t, on: i }) {
7297    t({ fadeEffect: { crossFade: !1 } }),
7298      Mt({
7299        effect: "fade",
7300        swiper: e,
7301        on: i,
7302        setTranslate: () => {
7303          const { slides: t } = e;
7304          e.params.fadeEffect;
7305          for (let i = 0; i < t.length; i += 1) {
7306            const t = e.slides[i];
7307            let s = -t.swiperSlideOffset;
7308            e.params.virtualTranslate || (s -= e.translate);
7309            let n = 0;
7310            e.isHorizontal() || ((n = s), (s = 0));
7311            const r = e.params.fadeEffect.crossFade
7312                ? Math.max(1 - Math.abs(t.progress), 0)
7313                : 1 + Math.min(Math.max(t.progress, -1), 0),
7314              o = $t(0, t);
7315            (o.style.opacity = r),
7316              (o.style.transform = `translate3d(${s}px, ${n}px, 0px)`);
7317          }
7318        },
7319        setTransition: (t) => {
7320          const i = e.slides.map((e) => ze(e));
7321          i.forEach((e) => {
7322            e.style.transitionDuration = `${t}ms`;
7323          }),
7324            St({ swiper: e, duration: t, transformElements: i, allSlides: !0 });
7325        },
7326        overwriteParams: () => ({
7327          slidesPerView: 1,
7328          slidesPerGroup: 1,
7329          watchSlidesProgress: !0,
7330          spaceBetween: 0,
7331          virtualTranslate: !e.params.cssMode,
7332        }),
7333      });
7334  },
7335  function ({ swiper: e, extendParams: t, on: i }) {
7336    t({
7337      cubeEffect: {
7338        slideShadows: !0,
7339        shadow: !0,
7340        shadowOffset: 20,
7341        shadowScale: 0.94,
7342      },
7343    });
7344    const s = (e, t, i) => {
7345      let s = i
7346          ? e.querySelector(".swiper-slide-shadow-left")
7347          : e.querySelector(".swiper-slide-shadow-top"),
7348        n = i
7349          ? e.querySelector(".swiper-slide-shadow-right")
7350          : e.querySelector(".swiper-slide-shadow-bottom");
7351      s ||
7352        ((s = Oe("div", "swiper-slide-shadow-" + (i ? "left" : "top"))),
7353        e.append(s)),
7354        n ||
7355          ((n = Oe("div", "swiper-slide-shadow-" + (i ? "right" : "bottom"))),
7356          e.append(n)),
7357        s && (s.style.opacity = Math.max(-t, 0)),
7358        n && (n.style.opacity = Math.max(t, 0));
7359    };
7360    Mt({
7361      effect: "cube",
7362      swiper: e,
7363      on: i,
7364      setTranslate: () => {
7365        const {
7366            el: t,
7367            wrapperEl: i,
7368            slides: n,
7369            width: r,
7370            height: o,
7371            rtlTranslate: a,
7372            size: l,
7373            browser: c,
7374          } = e,
7375          d = e.params.cubeEffect,
7376          p = e.isHorizontal(),
7377          u = e.virtual && e.params.virtual.enabled;
7378        let h,
7379          f = 0;
7380        d.shadow &&
7381          (p
7382            ? ((h = e.slidesEl.querySelector(".swiper-cube-shadow")),
7383              h ||
7384                ((h = Oe("div", "swiper-cube-shadow")), e.slidesEl.append(h)),
7385              (h.style.height = `${r}px`))
7386            : ((h = t.querySelector(".swiper-cube-shadow")),
7387              h || ((h = Oe("div", "swiper-cube-shadow")), t.append(h))));
7388        for (let e = 0; e < n.length; e += 1) {
7389          const t = n[e];
7390          let i = e;
7391          u && (i = parseInt(t.getAttribute("data-swiper-slide-index"), 10));
7392          let r = 90 * i,
7393            o = Math.floor(r / 360);
7394          a && ((r = -r), (o = Math.floor(-r / 360)));
7395          const c = Math.max(Math.min(t.progress, 1), -1);
7396          let h = 0,
7397            w = 0,
7398            v = 0;
7399          i % 4 == 0
7400            ? ((h = 4 * -o * l), (v = 0))
7401            : (i - 1) % 4 == 0
7402            ? ((h = 0), (v = 4 * -o * l))
7403            : (i - 2) % 4 == 0
7404            ? ((h = l + 4 * o * l), (v = l))
7405            : (i - 3) % 4 == 0 && ((h = -l), (v = 3 * l + 4 * l * o)),
7406            a && (h = -h),
7407            p || ((w = h), (h = 0));
7408          const g = `rotateX(${p ? 0 : -r}deg) rotateY(${
7409            p ? r : 0
7410          }deg) translate3d(${h}px, ${w}px, ${v}px)`;
7411          c <= 1 &&
7412            c > -1 &&
7413            ((f = 90 * i + 90 * c), a && (f = 90 * -i - 90 * c)),
7414            (t.style.transform = g),
7415            d.slideShadows && s(t, c, p);
7416        }
7417        if (
7418          ((i.style.transformOrigin = `50% 50% -${l / 2}px`),
7419          (i.style["-webkit-transform-origin"] = `50% 50% -${l / 2}px`),
7420          d.shadow)
7421        )
7422          if (p)
7423            h.style.transform = `translate3d(0px, ${
7424              r / 2 + d.shadowOffset
7425            }px, ${-r / 2}px) rotateX(90deg) rotateZ(0deg) scale(${
7426              d.shadowScale
7427            })`;
7428          else {
7429            const e = Math.abs(f) - 90 * Math.floor(Math.abs(f) / 90),
7430              t =
7431                1.5 -
7432                (Math.sin((2 * e * Math.PI) / 360) / 2 +
7433                  Math.cos((2 * e * Math.PI) / 360) / 2),
7434              i = d.shadowScale,
7435              s = d.shadowScale / t,
7436              n = d.shadowOffset;
7437            h.style.transform = `scale3d(${i}, 1, ${s}) translate3d(0px, ${
7438              o / 2 + n
7439            }px, ${-o / 2 / s}px) rotateX(-90deg)`;
7440          }
7441        const w =
7442          (c.isSafari || c.isWebView) && c.needPerspectiveFix ? -l / 2 : 0;
7443        (i.style.transform = `translate3d(0px,0,${w}px) rotateX(${
7444          e.isHorizontal() ? 0 : f
7445        }deg) rotateY(${e.isHorizontal() ? -f : 0}deg)`),
7446          i.style.setProperty("--swiper-cube-translate-z", `${w}px`);
7447      },
7448      setTransition: (t) => {
7449        const { el: i, slides: s } = e;
7450        if (
7451          (s.forEach((e) => {
7452            (e.style.transitionDuration = `${t}ms`),
7453              e
7454                .querySelectorAll(
7455                  ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
7456                )
7457                .forEach((e) => {
7458                  e.style.transitionDuration = `${t}ms`;
7459                });
7460          }),
7461          e.params.cubeEffect.shadow && !e.isHorizontal())
7462        ) {
7463          const e = i.querySelector(".swiper-cube-shadow");
7464          e && (e.style.transitionDuration = `${t}ms`);
7465        }
7466      },
7467      recreateShadows: () => {
7468        const t = e.isHorizontal();
7469        e.slides.forEach((e) => {
7470          const i = Math.max(Math.min(e.progress, 1), -1);
7471          s(e, i, t);
7472        });
7473      },
7474      getEffectParams: () => e.params.cubeEffect,
7475      perspective: () => !0,
7476      overwriteParams: () => ({
7477        slidesPerView: 1,
7478        slidesPerGroup: 1,
7479        watchSlidesProgress: !0,
7480        resistanceRatio: 0,
7481        spaceBetween: 0,
7482        centeredSlides: !1,
7483        virtualTranslate: !0,
7484      }),
7485    });
7486  },
7487  function ({ swiper: e, extendParams: t, on: i }) {
7488    t({ flipEffect: { slideShadows: !0, limitRotation: !0 } });
7489    const s = (t, i, s) => {
7490      let n = e.isHorizontal()
7491          ? t.querySelector(".swiper-slide-shadow-left")
7492          : t.querySelector(".swiper-slide-shadow-top"),
7493        r = e.isHorizontal()
7494          ? t.querySelector(".swiper-slide-shadow-right")
7495          : t.querySelector(".swiper-slide-shadow-bottom");
7496      n || (n = Et(0, t, e.isHorizontal() ? "left" : "top")),
7497        r || (r = Et(0, t, e.isHorizontal() ? "right" : "bottom")),
7498        n && (n.style.opacity = Math.max(-i, 0)),
7499        r && (r.style.opacity = Math.max(i, 0));
7500    };
7501    Mt({
7502      effect: "flip",
7503      swiper: e,
7504      on: i,
7505      setTranslate: () => {
7506        const { slides: t, rtlTranslate: i } = e,
7507          n = e.params.flipEffect;
7508        for (let r = 0; r < t.length; r += 1) {
7509          const o = t[r];
7510          let a = o.progress;
7511          e.params.flipEffect.limitRotation &&
7512            (a = Math.max(Math.min(o.progress, 1), -1));
7513          const l = o.swiperSlideOffset;
7514          let c = -180 * a,
7515            d = 0,
7516            p = e.params.cssMode ? -l - e.translate : -l,
7517            u = 0;
7518          e.isHorizontal()
7519            ? i && (c = -c)
7520            : ((u = p), (p = 0), (d = -c), (c = 0)),
7521            (o.style.zIndex = -Math.abs(Math.round(a)) + t.length),
7522            n.slideShadows && s(o, a);
7523          const h = `translate3d(${p}px, ${u}px, 0px) rotateX(${d}deg) rotateY(${c}deg)`;
7524          $t(0, o).style.transform = h;
7525        }
7526      },
7527      setTransition: (t) => {
7528        const i = e.slides.map((e) => ze(e));
7529        i.forEach((e) => {
7530          (e.style.transitionDuration = `${t}ms`),
7531            e
7532              .querySelectorAll(
7533                ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
7534              )
7535              .forEach((e) => {
7536                e.style.transitionDuration = `${t}ms`;
7537              });
7538        }),
7539          St({ swiper: e, duration: t, transformElements: i });
7540      },
7541      recreateShadows: () => {
7542        e.params.flipEffect;
7543        e.slides.forEach((t) => {
7544          let i = t.progress;
7545          e.params.flipEffect.limitRotation &&
7546            (i = Math.max(Math.min(t.progress, 1), -1)),
7547            s(t, i);
7548        });
7549      },
7550      getEffectParams: () => e.params.flipEffect,
7551      perspective: () => !0,
7552      overwriteParams: () => ({
7553        slidesPerView: 1,
7554        slidesPerGroup: 1,
7555        watchSlidesProgress: !0,
7556        spaceBetween: 0,
7557        virtualTranslate: !e.params.cssMode,
7558      }),
7559    });
7560  },
7561  function ({ swiper: e, extendParams: t, on: i }) {
7562    t({
7563      coverflowEffect: {
7564        rotate: 50,
7565        stretch: 0,
7566        depth: 100,
7567        scale: 1,
7568        modifier: 1,
7569        slideShadows: !0,
7570      },
7571    }),
7572      Mt({
7573        effect: "coverflow",
7574        swiper: e,
7575        on: i,
7576        setTranslate: () => {
7577          const { width: t, height: i, slides: s, slidesSizesGrid: n } = e,
7578            r = e.params.coverflowEffect,
7579            o = e.isHorizontal(),
7580            a = e.translate,
7581            l = o ? t / 2 - a : i / 2 - a,
7582            c = o ? r.rotate : -r.rotate,
7583            d = r.depth;
7584          for (let e = 0, t = s.length; e < t; e += 1) {
7585            const t = s[e],
7586              i = n[e],
7587              a = (l - t.swiperSlideOffset - i / 2) / i,
7588              p =
7589                "function" == typeof r.modifier
7590                  ? r.modifier(a)
7591                  : a * r.modifier;
7592            let u = o ? c * p : 0,
7593              h = o ? 0 : c * p,
7594              f = -d * Math.abs(p),
7595              w = r.stretch;
7596            "string" == typeof w &&
7597              -1 !== w.indexOf("%") &&
7598              (w = (parseFloat(r.stretch) / 100) * i);
7599            let v = o ? 0 : w * p,
7600              g = o ? w * p : 0,
7601              b = 1 - (1 - r.scale) * Math.abs(p);
7602            Math.abs(g) < 0.001 && (g = 0),
7603              Math.abs(v) < 0.001 && (v = 0),
7604              Math.abs(f) < 0.001 && (f = 0),
7605              Math.abs(u) < 0.001 && (u = 0),
7606              Math.abs(h) < 0.001 && (h = 0),
7607              Math.abs(b) < 0.001 && (b = 0);
7608            const m = `translate3d(${g}px,${v}px,${f}px)  rotateX(${h}deg) rotateY(${u}deg) scale(${b})`;
7609            if (
7610              (($t(0, t).style.transform = m),
7611              (t.style.zIndex = 1 - Math.abs(Math.round(p))),
7612              r.slideShadows)
7613            ) {
7614              let e = o
7615                  ? t.querySelector(".swiper-slide-shadow-left")
7616                  : t.querySelector(".swiper-slide-shadow-top"),
7617                i = o
7618                  ? t.querySelector(".swiper-slide-shadow-right")
7619                  : t.querySelector(".swiper-slide-shadow-bottom");
7620              e || (e = Et(0, t, o ? "left" : "top")),
7621                i || (i = Et(0, t, o ? "right" : "bottom")),
7622                e && (e.style.opacity = p > 0 ? p : 0),
7623                i && (i.style.opacity = -p > 0 ? -p : 0);
7624            }
7625          }
7626        },
7627        setTransition: (t) => {
7628          e.slides
7629            .map((e) => ze(e))
7630            .forEach((e) => {
7631              (e.style.transitionDuration = `${t}ms`),
7632                e
7633                  .querySelectorAll(
7634                    ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
7635                  )
7636                  .forEach((e) => {
7637                    e.style.transitionDuration = `${t}ms`;
7638                  });
7639            });
7640        },
7641        perspective: () => !0,
7642        overwriteParams: () => ({ watchSlidesProgress: !0 }),
7643      });
7644  },
7645  function ({ swiper: e, extendParams: t, on: i }) {
7646    t({
7647      creativeEffect: {
7648        limitProgress: 1,
7649        shadowPerProgress: !1,
7650        progressMultiplier: 1,
7651        perspective: !0,
7652        prev: { translate: [0, 0, 0], rotate: [0, 0, 0], opacity: 1, scale: 1 },
7653        next: { translate: [0, 0, 0], rotate: [0, 0, 0], opacity: 1, scale: 1 },
7654      },
7655    });
7656    const s = (e) => ("string" == typeof e ? e : `${e}px`);
7657    Mt({
7658      effect: "creative",
7659      swiper: e,
7660      on: i,
7661      setTranslate: () => {
7662        const { slides: t, wrapperEl: i, slidesSizesGrid: n } = e,
7663          r = e.params.creativeEffect,
7664          { progressMultiplier: o } = r,
7665          a = e.params.centeredSlides;
7666        if (a) {
7667          const t = n[0] / 2 - e.params.slidesOffsetBefore || 0;
7668          i.style.transform = `translateX(calc(50% - ${t}px))`;
7669        }
7670        for (let i = 0; i < t.length; i += 1) {
7671          const n = t[i],
7672            l = n.progress,
7673            c = Math.min(
7674              Math.max(n.progress, -r.limitProgress),
7675              r.limitProgress
7676            );
7677          let d = c;
7678          a ||
7679            (d = Math.min(
7680              Math.max(n.originalProgress, -r.limitProgress),
7681              r.limitProgress
7682            ));
7683          const p = n.swiperSlideOffset,
7684            u = [e.params.cssMode ? -p - e.translate : -p, 0, 0],
7685            h = [0, 0, 0];
7686          let f = !1;
7687          e.isHorizontal() || ((u[1] = u[0]), (u[0] = 0));
7688          let w = {
7689            translate: [0, 0, 0],
7690            rotate: [0, 0, 0],
7691            scale: 1,
7692            opacity: 1,
7693          };
7694          c < 0 ? ((w = r.next), (f = !0)) : c > 0 && ((w = r.prev), (f = !0)),
7695            u.forEach((e, t) => {
7696              u[t] = `calc(${e}px + (${s(w.translate[t])} * ${Math.abs(
7697                c * o
7698              )}))`;
7699            }),
7700            h.forEach((e, t) => {
7701              h[t] = w.rotate[t] * Math.abs(c * o);
7702            }),
7703            (n.style.zIndex = -Math.abs(Math.round(l)) + t.length);
7704          const v = u.join(", "),
7705            g = `rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,
7706            b =
7707              d < 0
7708                ? `scale(${1 + (1 - w.scale) * d * o})`
7709                : `scale(${1 - (1 - w.scale) * d * o})`,
7710            m =
7711              d < 0 ? 1 + (1 - w.opacity) * d * o : 1 - (1 - w.opacity) * d * o,
7712            x = `translate3d(${v}) ${g} ${b}`;
7713          if ((f && w.shadow) || !f) {
7714            let e = n.querySelector(".swiper-slide-shadow");
7715            if ((!e && w.shadow && (e = Et(0, n)), e)) {
7716              const t = r.shadowPerProgress ? c * (1 / r.limitProgress) : c;
7717              e.style.opacity = Math.min(Math.max(Math.abs(t), 0), 1);
7718            }
7719          }
7720          const A = $t(0, n);
7721          (A.style.transform = x),
7722            (A.style.opacity = m),
7723            w.origin && (A.style.transformOrigin = w.origin);
7724        }
7725      },
7726      setTransition: (t) => {
7727        const i = e.slides.map((e) => ze(e));
7728        i.forEach((e) => {
7729          (e.style.transitionDuration = `${t}ms`),
7730            e.querySelectorAll(".swiper-slide-shadow").forEach((e) => {
7731              e.style.transitionDuration = `${t}ms`;
7732            });
7733        }),
7734          St({ swiper: e, duration: t, transformElements: i, allSlides: !0 });
7735      },
7736      perspective: () => e.params.creativeEffect.perspective,
7737      overwriteParams: () => ({
7738        watchSlidesProgress: !0,
7739        virtualTranslate: !e.params.cssMode,
7740      }),
7741    });
7742  },
7743  function ({ swiper: e, extendParams: t, on: i }) {
7744    t({
7745      cardsEffect: {
7746        slideShadows: !0,
7747        rotate: !0,
7748        perSlideRotate: 2,
7749        perSlideOffset: 8,
7750      },
7751    }),
7752      Mt({
7753        effect: "cards",
7754        swiper: e,
7755        on: i,
7756        setTranslate: () => {
7757          const { slides: t, activeIndex: i } = e,
7758            s = e.params.cardsEffect,
7759            { startTranslate: n, isTouched: r } = e.touchEventsData,
7760            o = e.translate;
7761          for (let a = 0; a < t.length; a += 1) {
7762            const l = t[a],
7763              c = l.progress,
7764              d = Math.min(Math.max(c, -4), 4);
7765            let p = l.swiperSlideOffset;
7766            e.params.centeredSlides &&
7767              !e.params.cssMode &&
7768              (e.wrapperEl.style.transform = `translateX(${e.minTranslate()}px)`),
7769              e.params.centeredSlides &&
7770                e.params.cssMode &&
7771                (p -= t[0].swiperSlideOffset);
7772            let u = e.params.cssMode ? -p - e.translate : -p,
7773              h = 0;
7774            const f = -100 * Math.abs(d);
7775            let w = 1,
7776              v = -s.perSlideRotate * d,
7777              g = s.perSlideOffset - 0.75 * Math.abs(d);
7778            const b =
7779                e.virtual && e.params.virtual.enabled ? e.virtual.from + a : a,
7780              m =
7781                (b === i || b === i - 1) &&
7782                d > 0 &&
7783                d < 1 &&
7784                (r || e.params.cssMode) &&
7785                o < n,
7786              x =
7787                (b === i || b === i + 1) &&
7788                d < 0 &&
7789                d > -1 &&
7790                (r || e.params.cssMode) &&
7791                o > n;
7792            if (m || x) {
7793              const e = (1 - Math.abs((Math.abs(d) - 0.5) / 0.5)) ** 0.5;
7794              (v += -28 * d * e),
7795                (w += -0.5 * e),
7796                (g += 96 * e),
7797                (h = -25 * e * Math.abs(d) + "%");
7798            }
7799            if (
7800              ((u =
7801                d < 0
7802                  ? `calc(${u}px + (${g * Math.abs(d)}%))`
7803                  : d > 0
7804                  ? `calc(${u}px + (-${g * Math.abs(d)}%))`
7805                  : `${u}px`),
7806              !e.isHorizontal())
7807            ) {
7808              const e = h;
7809              (h = u), (u = e);
7810            }
7811            const A = d < 0 ? "" + (1 + (1 - w) * d) : "" + (1 - (1 - w) * d),
7812              y = `\n        translate3d(${u}, ${h}, ${f}px)\n        rotateZ(${
7813                s.rotate ? v : 0
7814              }deg)\n        scale(${A})\n      `;
7815            if (s.slideShadows) {
7816              let e = l.querySelector(".swiper-slide-shadow");
7817              e || (e = Et(0, l)),
7818                e &&
7819                  (e.style.opacity = Math.min(
7820                    Math.max((Math.abs(d) - 0.5) / 0.5, 0),
7821                    1
7822                  ));
7823            }
7824            l.style.zIndex = -Math.abs(Math.round(c)) + t.length;
7825            $t(0, l).style.transform = y;
7826          }
7827        },
7828        setTransition: (t) => {
7829          const i = e.slides.map((e) => ze(e));
7830          i.forEach((e) => {
7831            (e.style.transitionDuration = `${t}ms`),
7832              e.querySelectorAll(".swiper-slide-shadow").forEach((e) => {
7833                e.style.transitionDuration = `${t}ms`;
7834              });
7835          }),
7836            St({ swiper: e, duration: t, transformElements: i });
7837        },
7838        perspective: () => !0,
7839        overwriteParams: () => ({
7840          watchSlidesProgress: !0,
7841          virtualTranslate: !e.params.cssMode,
7842        }),
7843      });
7844  },
7845];
7846wt.use(kt);
7847const Tt = [
7848  "eventsPrefix",
7849  "modules",
7850  "init",
7851  "_direction",
7852  "oneWayMovement",
7853  "touchEventsTarget",
7854  "initialSlide",
7855  "_speed",
7856  "cssMode",
7857  "updateOnWindowResize",
7858  "resizeObserver",
7859  "nested",
7860  "focusableElements",
7861  "_enabled",
7862  "_width",
7863  "_height",
7864  "preventInteractionOnTransition",
7865  "userAgent",
7866  "url",
7867  "_edgeSwipeDetection",
7868  "_edgeSwipeThreshold",
7869  "_freeMode",
7870  "_autoHeight",
7871  "setWrapperSize",
7872  "virtualTranslate",
7873  "_effect",
7874  "breakpoints",
7875  "_spaceBetween",
7876  "_slidesPerView",
7877  "maxBackfaceHiddenSlides",
7878  "_grid",
7879  "_slidesPerGroup",
7880  "_slidesPerGroupSkip",
7881  "_slidesPerGroupAuto",
7882  "_centeredSlides",
7883  "_centeredSlidesBounds",
7884  "_slidesOffsetBefore",
7885  "_slidesOffsetAfter",
7886  "normalizeSlideIndex",
7887  "_centerInsufficientSlides",
7888  "_watchOverflow",
7889  "roundLengths",
7890  "touchRatio",
7891  "touchAngle",
7892  "simulateTouch",
7893  "_shortSwipes",
7894  "_longSwipes",
7895  "longSwipesRatio",
7896  "longSwipesMs",
7897  "_followFinger",
7898  "allowTouchMove",
7899  "_threshold",
7900  "touchMoveStopPropagation",
7901  "touchStartPreventDefault",
7902  "touchStartForcePreventDefault",
7903  "touchReleaseOnEdges",
7904  "uniqueNavElements",
7905  "_resistance",
7906  "_resistanceRatio",
7907  "_watchSlidesProgress",
7908  "_grabCursor",
7909  "preventClicks",
7910  "preventClicksPropagation",
7911  "_slideToClickedSlide",
7912  "_loop",
7913  "loopedSlides",
7914  "loopPreventsSliding",
7915  "_rewind",
7916  "_allowSlidePrev",
7917  "_allowSlideNext",
7918  "_swipeHandler",
7919  "_noSwiping",
7920  "noSwipingClass",
7921  "noSwipingSelector",
7922  "passiveListeners",
7923  "containerModifierClass",
7924  "slideClass",
7925  "slideActiveClass",
7926  "slideVisibleClass",
7927  "slideNextClass",
7928  "slidePrevClass",
7929  "wrapperClass",
7930  "lazyPreloaderClass",
7931  "runCallbacksOnInit",
7932  "observer",
7933  "observeParents",
7934  "observeSlideChildren",
7935  "a11y",
7936  "_autoplay",
7937  "_controller",
7938  "coverflowEffect",
7939  "cubeEffect",
7940  "fadeEffect",
7941  "flipEffect",
7942  "creativeEffect",
7943  "cardsEffect",
7944  "hashNavigation",
7945  "history",
7946  "keyboard",
7947  "mousewheel",
7948  "_navigation",
7949  "_pagination",
7950  "parallax",
7951  "_scrollbar",
7952  "_thumbs",
7953  "virtual",
7954  "zoom",
7955  "control",
7956  "injectStyles",
7957  "injectStylesUrls",
7958];
7959function Ct(e) {
7960  return (
7961    "object" == typeof e &&
7962    null !== e &&
7963    e.constructor &&
7964    "Object" === Object.prototype.toString.call(e).slice(8, -1)
7965  );
7966}
7967function zt(e, t) {
7968  const i = ["__proto__", "constructor", "prototype"];
7969  Object.keys(t)
7970    .filter((e) => i.indexOf(e) < 0)
7971    .forEach((i) => {
7972      void 0 === e[i]
7973        ? (e[i] = t[i])
7974        : Ct(t[i]) && Ct(e[i]) && Object.keys(t[i]).length > 0
7975        ? t[i].i
7976          ? (e[i] = t[i])
7977          : zt(e[i], t[i])
7978        : (e[i] = t[i]);
7979    });
7980}
7981function Pt(e = "") {
7982  return e.replace(/-[a-z]/g, (e) => e.toUpperCase().replace("-", ""));
7983}
7984const Ot = (e) =>
7985    parseFloat(e) === Number(e)
7986      ? Number(e)
7987      : "true" === e ||
7988        "" === e ||
7989        ("false" !== e &&
7990          ("null" === e ? null : "undefined" !== e ? e : void 0)),
7991  jt = [
7992    "a11y",
7993    "autoplay",
7994    "controller",
7995    "cards-effect",
7996    "coverflow-effect",
7997    "creative-effect",
7998    "cube-effect",
7999    "fade-effect",
8000    "flip-effect",
8001    "free-mode",
8002    "grid",
8003    "hash-navigation",
8004    "history",
8005    "keyboard",
8006    "mousewheel",
8007    "navigation",
8008    "pagination",
8009    "parallax",
8010    "scrollbar",
8011    "thumbs",
8012    "virtual",
8013    "zoom",
8014  ];
8015function Bt(e) {
8016  const t = {},
8017    i = {};
8018  zt(t, pt);
8019  const s = [...Tt, "on"],
8020    n = s.map((e) => e.replace(/_/, ""));
8021  return (
8022    s.forEach((t) => {
8023      (t = t.replace("_", "")), void 0 !== e[t] && (i[t] = e[t]);
8024    }),
8025    [...e.attributes].forEach((e) => {
8026      const t = jt.filter((t) => 0 === e.name.indexOf(`${t}-`))[0];
8027      if (t) {
8028        const s = Pt(t),
8029          n = Pt(e.name.split(`${t}-`)[1]);
8030        i[s] || (i[s] = {}),
8031          !0 === i[s] && (i[s] = { enabled: !0 }),
8032          (i[s][n] = Ot(e.value));
8033      } else {
8034        const t = Pt(e.name);
8035        if (!n.includes(t)) return;
8036        const s = Ot(e.value);
8037        i[t] && jt.includes(e.name)
8038          ? (i[t].constructor !== Object && (i[t] = {}), (i[t].enabled = s))
8039          : (i[t] = s);
8040      }
8041    }),
8042    zt(t, i),
8043    t.navigation
8044      ? (t.navigation = {
8045          prevEl: ".swiper-button-prev",
8046          nextEl: ".swiper-button-next",
8047          ...(!0 !== t.navigation ? t.navigation : {}),
8048        })
8049      : !1 === t.navigation && delete t.navigation,
8050    t.scrollbar
8051      ? (t.scrollbar = {
8052          el: ".swiper-scrollbar",
8053          ...(!0 !== t.scrollbar ? t.scrollbar : {}),
8054        })
8055      : !1 === t.scrollbar && delete t.scrollbar,
8056    t.pagination
8057      ? (t.pagination = {
8058          el: ".swiper-pagination",
8059          ...(!0 !== t.pagination ? t.pagination : {}),
8060        })
8061      : !1 === t.pagination && delete t.pagination,
8062    { params: t, passedParams: i }
8063  );
8064}
8065function It({
8066  swiper: e,
8067  slides: t,
8068  passedParams: i,
8069  changedParams: s,
8070  nextEl: n,
8071  prevEl: r,
8072  scrollbarEl: o,
8073  paginationEl: a,
8074}) {
8075  const l = s.filter(
8076      (e) => "children" !== e && "direction" !== e && "wrapperClass" !== e
8077    ),
8078    {
8079      params: c,
8080      pagination: d,
8081      navigation: p,
8082      scrollbar: u,
8083      virtual: h,
8084      thumbs: f,
8085    } = e;
8086  let w, v, g, b, m, x, A, y;
8087  s.includes("thumbs") &&
8088    i.thumbs &&
8089    i.thumbs.swiper &&
8090    c.thumbs &&
8091    !c.thumbs.swiper &&
8092    (w = !0),
8093    s.includes("controller") &&
8094      i.controller &&
8095      i.controller.control &&
8096      c.controller &&
8097      !c.controller.control &&
8098      (v = !0),
8099    s.includes("pagination") &&
8100      i.pagination &&
8101      (i.pagination.el || a) &&
8102      (c.pagination || !1 === c.pagination) &&
8103      d &&
8104      !d.el &&
8105      (g = !0),
8106    s.includes("scrollbar") &&
8107      i.scrollbar &&
8108      (i.scrollbar.el || o) &&
8109      (c.scrollbar || !1 === c.scrollbar) &&
8110      u &&
8111      !u.el &&
8112      (b = !0),
8113    s.includes("navigation") &&
8114      i.navigation &&
8115      (i.navigation.prevEl || r) &&
8116      (i.navigation.nextEl || n) &&
8117      (c.navigation || !1 === c.navigation) &&
8118      p &&
8119      !p.prevEl &&
8120      !p.nextEl &&
8121      (m = !0);
8122  if (
8123    (s.includes("loop") &&
8124      e.isElement &&
8125      (c.loop && !i.loop ? (x = !0) : !c.loop && i.loop ? (A = !0) : (y = !0)),
8126    l.forEach((t) => {
8127      if (Ct(c[t]) && Ct(i[t])) zt(c[t], i[t]);
8128      else {
8129        const n = i[t];
8130        (!0 !== n && !1 !== n) ||
8131        ("navigation" !== t && "pagination" !== t && "scrollbar" !== t)
8132          ? (c[t] = i[t])
8133          : !1 === n &&
8134            e[(s = t)] &&
8135            (e[s].destroy(),
8136            "navigation" === s
8137              ? (e.isElement && (e[s].prevEl.remove(), e[s].nextEl.remove()),
8138                (c[s].prevEl = void 0),
8139                (c[s].nextEl = void 0),
8140                (e[s].prevEl = void 0),
8141                (e[s].nextEl = void 0))
8142              : (e.isElement && e[s].el.remove(),
8143                (c[s].el = void 0),
8144                (e[s].el = void 0)));
8145      }
8146      var s;
8147    }),
8148    l.includes("controller") &&
8149      !v &&
8150      e.controller &&
8151      e.controller.control &&
8152      c.controller &&
8153      c.controller.control &&
8154      (e.controller.control = c.controller.control),
8155    s.includes("children") &&
8156      t &&
8157      h &&
8158      c.virtual.enabled &&
8159      ((h.slides = t), h.update(!0)),
8160    s.includes("children") && t && c.loop && (y = !0),
8161    w)
8162  ) {
8163    f.init() && f.update(!0);
8164  }
8165  v && (e.controller.control = c.controller.control),
8166    g &&
8167      (!e.isElement ||
8168        (a && "string" != typeof a) ||
8169        ((a = document.createElement("div")).classList.add("swiper-pagination"),
8170        e.el.shadowEl.appendChild(a)),
8171      a && (c.pagination.el = a),
8172      d.init(),
8173      d.render(),
8174      d.update()),
8175    b &&
8176      (!e.isElement ||
8177        (o && "string" != typeof o) ||
8178        ((o = document.createElement("div")).classList.add("swiper-scrollbar"),
8179        e.el.shadowEl.appendChild(o)),
8180      o && (c.scrollbar.el = o),
8181      u.init(),
8182      u.updateSize(),
8183      u.setTranslate()),
8184    m &&
8185      (e.isElement &&
8186        ((n && "string" != typeof n) ||
8187          ((n = document.createElement("div")).classList.add(
8188            "swiper-button-next"
8189          ),
8190          e.el.shadowEl.appendChild(n)),
8191        (r && "string" != typeof r) ||
8192          ((r = document.createElement("div")).classList.add(
8193            "swiper-button-prev"
8194          ),
8195          e.el.shadowEl.appendChild(r))),
8196      n && (c.navigation.nextEl = n),
8197      r && (c.navigation.prevEl = r),
8198      p.init(),
8199      p.update()),
8200    s.includes("allowSlideNext") && (e.allowSlideNext = i.allowSlideNext),
8201    s.includes("allowSlidePrev") && (e.allowSlidePrev = i.allowSlidePrev),
8202    s.includes("direction") && e.changeDirection(i.direction, !1),
8203    (x || y) && e.loopDestroy(),
8204    (A || y) && e.loopCreate(),
8205    e.update();
8206}
8207const Lt =
8208  "@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');font-weight:400;font-style:normal}";
8209let _t = !0;
8210const Gt = (e, t) => {
8211  let i = document.querySelector("style#swiper-element-styles");
8212  const s = i && i.preInit && !e;
8213  !e &&
8214    t &&
8215    t.cssLinks().forEach((e) => {
8216      const t = document.createElement("link");
8217      (t.rel = "stylesheet"), (t.href = e), document.head.prepend(t);
8218    }),
8219    (i && !s) ||
8220      ((i = i || document.createElement("style")),
8221      (i.textContent = [Lt, t ? t.cssStyles() : ""].join("\n")),
8222      (i.id = "swiper-element-styles"),
8223      (i.preInit = e),
8224      document.head.prepend(i));
8225};
8226const Rt =
8227  "undefined" == typeof window || "undefined" == typeof HTMLElement
8228    ? class {}
8229    : HTMLElement;
8230class Dt extends Rt {
8231  constructor() {
8232    super(),
8233      (this.tempDiv = document.createElement("div")),
8234      (this.shadowEl = this.attachShadow({ mode: "open" }));
8235  }
8236  cssStyles() {
8237    return [
8238      _t
8239        ? ":root{--swiper-theme-color:#007aff}.swiper,swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}:host(.swiper-vertical)>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight swiper-slide{height:auto}:host(.swiper-autoheight) .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}:host(.swiper-3d.swiper-css-mode) .swiper-wrapper{perspective:1200px}:host(.swiper-3d) .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d swiper-slide{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;
8239left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}:host(.swiper-css-mode)>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}:host(.swiper-css-mode)>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>swiper-slide{scroll-snap-align:start start}:host(.swiper-horizontal.swiper-css-mode)>.swiper-wrapper{scroll-snap-type:x mandatory}:host(.swiper-vertical.swiper-css-mode)>.swiper-wrapper{scroll-snap-type:y mandatory}:host(.swiper-centered)>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered>swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-centered.swiper-horizontal>swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}:host(.swiper-centered.swiper-horizontal)>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}:host(.swiper-centered.swiper-vertical)>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}:host(.swiper-virtual.swiper-css-mode) .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}:host(.swiper-virtual.swiper-css-mode.swiper-horizontal) .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}:host(.swiper-virtual.swiper-css-mode.swiper-vertical) .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,:host(.swiper-rtl) .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-prev:after,:host(.swiper-rtl) .swiper-button-next:after{content:'prev'}.swiper-button-next,:host(.swiper-rtl) .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px
8239);left:auto}.swiper-button-next:after,:host(.swiper-rtl) .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:var(--swiper-pagination-bullet-border-radius,50%);background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;
8239left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}:host(.swiper-rtl) .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;-ms-touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification,swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}:host(.swiper-free-mode)>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}:host(.swiper-grid)>.swiper-wrapper{flex-wrap:wrap}:host(.swiper-grid-column)>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode swiper-slide{transition-timing-function:ease-out}.swiper-fade swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade swiper-slide swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube swiper-slide swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-prev,.swiper-cube swiper-slide-next+swiper-slide{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;
8239left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip swiper-slide swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}"
8240        : "",
8241      ...(this.injectStyles && Array.isArray(this.injectStyles)
8242        ? this.injectStyles
8243        : []),
8244    ].join("\n");
8245  }
8246  cssLinks() {
8247    return this.injectStylesUrls || [];
8248  }
8249  render() {
8250    _t && Gt(!1, this);
8251    const e = this.cssStyles();
8252    e.length &&
8253      ((this.stylesEl = document.createElement("style")),
8254      (this.stylesEl.textContent = e),
8255      this.shadowEl.appendChild(this.stylesEl)),
8256      this.cssLinks().forEach((e) => {
8257        if (document.querySelector(`link[href="${e}"]`)) return;
8258        const t = document.createElement("link");
8259        (t.rel = "stylesheet"), (t.href = e), this.shadowEl.appendChild(t);
8260      }),
8261      (this.tempDiv.innerHTML = `\n      <slot name="container-start"></slot>\n      <div class="swiper-wrapper">\n        <slot></slot>\n      </div>\n      <slot name="container-end"></slot>\n      ${
8262        (function (e = {}) {
8263          return (
8264            e.navigation &&
8265            void 0 === e.navigation.nextEl &&
8266            void 0 === e.navigation.prevEl
8267          );
8268        })(this.passedParams)
8269          ? '\n        <div class="swiper-button-prev"></div>\n        <div class="swiper-button-next"></div>\n      '
8270          : ""
8271      }\n      ${
8272        (function (e = {}) {
8273          return e.pagination && void 0 === e.pagination.el;
8274        })(this.passedParams)
8275          ? '\n        <div class="swiper-pagination"></div>\n      '
8276          : ""
8277      }\n      ${
8278        (function (e = {}) {
8279          return e.scrollbar && void 0 === e.scrollbar.el;
8280        })(this.passedParams)
8281          ? '\n        <div class="swiper-scrollbar"></div>\n      '
8282          : ""
8283      }\n    `),
8284      [...this.tempDiv.children].forEach((e) => {
8285        this.shadowEl.appendChild(e);
8286      });
8287  }
8288  initialize() {
8289    if (this.initialized) return;
8290    this.initialized = !0;
8291    const { params: e, passedParams: t } = Bt(this);
8292    (this.swiperParams = e),
8293      (this.passedParams = t),
8294      delete this.swiperParams.init,
8295      this.render(),
8296      (this.swiper = new wt(this, {
8297        ...e,
8298        touchEventsTarget: "container",
8299        ...(e.virtual ? {} : { observer: !0 }),
8300        onAny: (t, ...i) => {
8301          const s = e.eventsPrefix
8302              ? `${e.eventsPrefix}${t.toLowerCase()}`
8303              : t.toLowerCase(),
8304            n = new CustomEvent(s, { detail: i, bubbles: !0, cancelable: !0 });
8305          this.dispatchEvent(n);
8306        },
8307      }));
8308  }
8309  connectedCallback() {
8310    !1 !== this.init && "false" !== this.getAttribute("init")
8311      ? this.initialize()
8312      : Gt(!0, this);
8313  }
8314  disconnectedCallback() {
8315    this.swiper && this.swiper.destroy && this.swiper.destroy(),
8316      (this.initialized = !1);
8317  }
8318  updateSwiperOnPropChange(e) {
8319    const { params: t, passedParams: i } = Bt(this);
8320    (this.passedParams = i),
8321      (this.swiperParams = t),
8322      It({
8323        swiper: this.swiper,
8324        passedParams: this.passedParams,
8325        changedParams: [Pt(e)],
8326        ...("navigation" === e && i[e]
8327          ? { prevEl: ".swiper-button-prev", nextEl: ".swiper-button-next" }
8328          : {}),
8329        ...("pagination" === e && i[e]
8330          ? { paginationEl: ".swiper-pagination" }
8331          : {}),
8332        ...("scrollbar" === e && i[e]
8333          ? { scrollbarEl: ".swiper-scrollbar" }
8334          : {}),
8335      });
8336  }
8337  attributeChangedCallback(e, t, i) {
8338    this.initialized && this.updateSwiperOnPropChange(e, i);
8339  }
8340  static get observedAttributes() {
8341    const e = Tt.filter((e) => e.includes("_")).map((e) =>
8342      e
8343        .replace(/[A-Z]/g, (e) => `-${e}`)
8344        .replace("_", "")
8345        .toLowerCase()
8346    );
8347    return e;
8348  }
8349}
8350Tt.forEach((e) => {
8351  "init" !== e &&
8352    ((e = e.replace("_", "")),
8353    Object.defineProperty(Dt.prototype, e, {
8354      get() {
8355        return (this.passedParams || {})[e];
8356      },
8357      set(t) {
8358        this.passedParams || (this.passedParams = {}),
8359          (this.passedParams[e] = t),
8360          this.initialized && this.updateSwiperOnPropChange(e, t);
8361      },
8362    }));
8363});
8364class Ft extends Rt {
8365  constructor() {
8366    super(),
8367      (this.tempDiv = document.createElement("div")),
8368      (this.shadowEl = this.attachShadow({ mode: "open" }));
8369  }
8370  render() {
8371    const e =
8372      this.lazy ||
8373      "" === this.getAttribute("lazy") ||
8374      "true" === this.getAttribute("lazy");
8375    if (
8376      ((this.tempDiv.innerHTML = "<slot />"),
8377      [...this.tempDiv.children].forEach((e) => {
8378        this.shadowEl.appendChild(e);
8379      }),
8380      e)
8381    ) {
8382      const e = document.createElement("div");
8383      e.classList.add("swiper-lazy-preloader"), this.appendChild(e);
8384    }
8385  }
8386  initialize() {
8387    this.render();
8388  }
8389  connectedCallback() {
8390    this.initialize();
8391  }
8392}
8393"undefined" != typeof window &&
8394  (window.SwiperElementRegisterParams = (e) => {
8395    Tt.push(...e);
8396  });
8397const Yt = ((e, ...t) => {
8398  const s =
8399    1 === e.length
8400      ? e[0]
8401      : t.reduce(
8402          (t, i, s) =>
8403            t +
8404            ((e) => {
8405              if (!0 === e._$cssResult$) return e.cssText;
8406              if ("number" == typeof e) return e;
8407              throw Error(
8408                "Value passed to 'css' function must be a 'css' function result: " +
8409                  e +
8410                  ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security."
8411              );
8412            })(i) +
8413            e[s + 1],
8414          e[0]
8415        );
8416  return new n(s, e, i);
8417})`
8418  :host {
8419    --title-font-color: inherit;
8420    --title-font-weight: 700;
8421    --title-font-size: 13px;
8422
8423    --description-font-color: inherit;
8424    --description-font-weight: 400;
8425    --description-font-size: 12px;
8426    
8427    --image-height: 210px;
8428  }
8429  a {
8430    text-decoration: none;
8431    color: black;
8432    display: flex;
8433    flex-direction: column;
8434  }
8435  .record-details {
8436    text-align: center;
8437    color: black;
8438    margin-top: .5em;
8439  }
8440  .record-details h3 {
8441    color: var(--title-font-color);
8442    font-size: var(--title-font-size);
8443    font-weight: var(--title-font-weight);
8444  }
8445  .record-details span {
8446    font-size: var(--description-font-size);
8447    font-weight: var(--description-font-weight);
8448    color: var(--description-font-color);
8449  }
8450  
8451   img, .image-place-holder {
8452     height: var(--image-height);
8453     display: block;
8454     object-fit: contain;
8455  }
8456`;
8457var Nt = function (e, t, i, s) {
8458  for (
8459    var n,
8460      r = arguments.length,
8461      o =
8462        r < 3
8463          ? t
8464          : null === s
8465          ? (s = Object.getOwnPropertyDescriptor(t, i))
8466          : s,
8467      a = e.length - 1;
8468    a >= 0;
8469    a--
8470  )
8471    (n = e[a]) && (o = (r < 3 ? n(o) : r > 3 ? n(t, i, o) : n(t, i)) || o);
8472  return r > 3 && o && Object.defineProperty(t, i, o), o;
8473};
8474let Ut = class extends K {
8475  render() {
8476    var e, t, i, s, n, r, o, a, l, c;
8477    this.almaDThumbnailBaseURL = this.getAlmaDThumbnailBaseUrl();
8478    const d = this.getThumbnailLinks(),
8479      p = j`<div style="background-color: ${this.getRandomColor()}" 
8480                                          class="image-place-holder"></div>`,
8481      u = d
8482        .then(
8483          (e) => (
8484            console.log(`getImageUrl returned ${e}`), j`<img src=${e} alt="">`
8485          )
8486        )
8487        .catch(() => p);
8488    return j`
8489            <a  href="${this.getDeeplink()}" target="_blank" aria-label="">
8490                ${ue(u, p)}
8491                <div class="record-details">
8492                    <h3>${
8493                      null !==
8494                        (n =
8495                          null ===
8496                            (s =
8497                              null ===
8498                                (i =
8499                                  null ===
8500                                    (t =
8501                                      null ===
8502                                        (e =
8503                                          null == this ? void 0 : this.doc) ||
8504                                      void 0 === e
8505                                        ? void 0
8506                                        : e.pnx) || void 0 === t
8507                                    ? void 0
8508                                    : t.display) || void 0 === i
8509                                ? void 0
8510                                : i.title) || void 0 === s
8511                            ? void 0
8512                            : s[0]) && void 0 !== n
8513                        ? n
8514                        : ""
8515                    }</h3>
8516                    <span>${
8517                      null !==
8518                        (c =
8519                          null ===
8520                            (l =
8521                              null ===
8522                                (a =
8523                                  null ===
8524                                    (o =
8525                                      null ===
8526                                        (r =
8527                                          null == this ? void 0 : this.doc) ||
8528                                      void 0 === r
8529                                        ? void 0
8530                                        : r.pnx) || void 0 === o
8531                                    ? void 0
8532                                    : o.display) || void 0 === a
8533                                ? void 0
8534                                : a.publisher) || void 0 === l
8535                            ? void 0
8536                            : l[0]) && void 0 !== c
8537                        ? c
8538                        : ""
8539                    }</span>
8540                </div>
8541            </a>
8542            
8543        `;
8544  }
8545  getAlmaDThumbnailBaseUrl() {
8546    return `${new URL(this.doc["@id"]).origin}/view/delivery/thumbnail`;
8547  }
8548  getRandomColor() {
8549    let e = "#";
8550    for (let t = 0; t < 6; t++)
8551      e += "0123456789ABCDEF"[Math.floor(16 * Math.random())];
8552    return e;
8553  }
8554  getDeeplink() {
8555    let e = "";
8556    const t = new URL(this.doc["@id"]),
8557      i = this.getProtocol(t),
8558      s = this.isPrimo() ? "/primo-explore" : "/discovery",
8559      n = this.getState(),
8560      r = this.doc.pnx.control.recordid,
8561      o = this.doc.context;
8562    return (
8563      (e =
8564        i +
8565        this.host +
8566        s +
8567        n +
8568        "&docid=" +
8569        r +
8570        "&context=" +
8571        o +
8572        "&vid=" +
8573        this.vid +
8574        "&lang=" +
8575        this.language +
8576        "&search_scope=" +
8577        this.scope +
8578        "&tab=" +
8579        this.tab),
8580      e
8581    );
8582  }
8583  getProtocol(e) {
8584    return e.protocol + "//";
8585  }
8586  isPrimo() {
8587    return !1;
8588  }
8589  getState() {
8590    return "/fulldisplay?";
8591  }
8592  async getThumbnailLinks() {
8593    try {
8594      let e = (this.doc.delivery.link || []).filter(
8595        (e) => "thumbnail" === e.displayLabel
8596      );
8597      const t = await this.getThumbnailFromAlmaD();
8598      if (t) return t;
8599      let i = await this.getThumbnailFromOther(e);
8600      if (i) return i;
8601      const s = await this.getThumbnailFromSyndeticsEXL(e);
8602      if (s) return s;
8603      const n = await this.getThumbnailFromSyndetics(e);
8604      if (n) return n;
8605      const r = await this.getThumbnailFromGoogle(e);
8606      if (r) return r;
8607      if (this.defaultThumbnailUrl) return this.defaultThumbnailUrl;
8608      throw "no thumbnail";
8609    } catch (e) {
8610      throw e;
8611    }
8612  }
8613  async getThumbnailFromAlmaD() {
8614    try {
8615      if (this.isAlmaD()) {
8616        const e = await this.getAlmaDigitalThumbnailForPnx();
8617        return await this.resolveAlmaDigitalImage(e);
8618      }
8619      return "";
8620    } catch (e) {
8621      return console.error("Error in getThumbnailFromAlmaD:", e), "";
8622    }
8623  }
8624  async getThumbnailFromOther(e) {
8625    let t = e.filter(this.getAllButSpecificLinkFilterFactory("amazon"));
8626    if (
8627      ((t = t.filter(this.getAllButSpecificLinkFilterFactory("syndetics.com"))),
8628      (t = t.filter(this.getAllButSpecificLinkFilterFactory("google.com"))),
8629      !t.length)
8630    )
8631      return "";
8632    {
8633      const e = t.map(
8634        (e) => (this.removeLabelFromLinkUrl(e), this.getImageLink(e.linkURL))
8635      );
8636      try {
8637        return (await Promise.race(e)) || "";
8638      } catch (e) {
8639        return "";
8640      }
8641    }
8642  }
8643  getAllButSpecificLinkFilterFactory(e) {
8644    return (t) => {
8645      if ("string" == typeof t) return -1 === t.indexOf(e);
8646      let i = null == t ? void 0 : t.linkURL;
8647      return (
8648        !!i &&
8649        ("string" == typeof i
8650          ? -1 === i.indexOf(e)
8651          : -1 === i.linkURL.indexOf(e))
8652      );
8653    };
8654  }
8655  async getThumbnailFromSyndeticsEXL(e, t) {
8656    var i, s, n, r, o, a, l, c, d, p, u, h, f, w, v;
8657    const g = e.filter(
8658      (e) =>
8659        this.getSpecificLink(e, "syndetics.com") ||
8660        this.getSpecificLink(e, "primo")
8661    );
8662    if (g.length > 0 || !this.isPrimo()) {
8663      const e = [
8664          ...new Set(
8665            (
8666              (null ===
8667                (n =
8668                  null ===
8669                    (s =
8670                      null === (i = this.doc) || void 0 === i
8671                        ? void 0
8672                        : i.pnx) || void 0 === s
8673                    ? void 0
8674                    : s.addata) || void 0 === n
8675                ? void 0
8676                : n.isbn) || []
8677            ).concat(
8678              (null ===
8679                (a =
8680                  null ===
8681                    (o =
8682                      null === (r = this.doc) || void 0 === r
8683                        ? void 0
8684                        : r.pnx) || void 0 === o
8685                    ? void 0
8686                    : o.addata) || void 0 === a
8687                ? void 0
8688                : a.eisbn) || []
8689            )
8690          ),
8691        ],
8692        b = [
8693          ...new Set(
8694            (
8695              (null ===
8696                (d =
8697                  null ===
8698                    (c =
8699                      null === (l = this.doc) || void 0 === l
8700                        ? void 0
8701                        : l.pnx) || void 0 === c
8702                    ? void 0
8703                    : c.addata) || void 0 === d
8704                ? void 0
8705                : d.issn) || []
8706            ).concat(
8707              (null ===
8708                (h =
8709                  null ===
8710                    (u =
8711                      null === (p = this.doc) || void 0 === p
8712                        ? void 0
8713                        : p.pnx) || void 0 === u
8714                    ? void 0
8715                    : u.addata) || void 0 === h
8716                ? void 0
8717                : h.eissn) || []
8718            )
8719          ),
8720        ],
8721        m =
8722          (null ===
8723            (v =
8724              null ===
8725                (w =
8726                  null === (f = this.doc) || void 0 === f ? void 0 : f.pnx) ||
8727              void 0 === w
8728                ? void 0
8729                : w.addata) || void 0 === v
8730            ? void 0
8731            : v.upcid) || [],
8732        x =
8733          "https://syndetics.com/index.php?client=primo&" +
8734          (t ? "type=unbound&" : "");
8735      for (const t of e) g.push(this.createLinkObj(`${x}isbn=${t}/lc.jpg`));
8736      for (const e of b) g.push(this.createLinkObj(`${x}issn=${e}/lc.jpg`));
8737      for (const e of m) g.push(this.createLinkObj(`${x}upc=${e}/lc.jpg`));
8738      if (g.length > 0) return this.handleSyndeticsThumbnailLinks(g);
8739    }
8740    return "";
8741  }
8742  async getThumbnailFromSyndetics(e) {
8743    const t = e.filter((e) => this.getSpecificLink(e, "syndetics.com"));
8744    return t.length > 0 ? this.handleSyndeticsThumbnailLinks(t) : "";
8745  }
8746  getSpecificLink(e, t) {
8747    if ("string" == typeof e) return e.indexOf(t) > -1;
8748    let i = e ? e.linkURL : void 0;
8749    return (
8750      !!i &&
8751      ("string" == typeof i ? i.indexOf(t) > -1 : i.linkURL.indexOf(t) > -1)
8752    );
8753  }
8754  async handleSyndeticsThumbnailLinks(e) {
8755    let t = this.getSyndetixWithProxy(),
8756      i = e.map((e) => {
8757        const i = e.linkURL.replace(
8758          "https://syndetics.com/index.php?client=",
8759          t
8760        );
8761        return this.getImageLink(i);
8762      });
8763    return await this.createPromiseOnlyFailOnAllFailedResolveFirstSuccess(i);
8764  }
8765  async getThumbnailFromGoogle(e) {
8766    if (this.showICPLicenseFooter()) return "";
8767    const t = e.find((e) => this.getSpecificLink(e, "books.google.com"));
8768    if (!t) return "";
8769    try {
8770      const e = t.linkURL.replace("&callback=updateGBSCover", ""),
8771        i = await fetch(e),
8772        s = await i.text();
8773      let n = JSON.parse(s.substring(s.indexOf("{"), s.indexOf("}") + 2));
8774      const r = Object.keys(n);
8775      if (r.length > 0) {
8776        let e = n[r[0]].thumbnail_url;
8777        if (e) {
8778          return {
8779            displayLabel: "thumbnail",
8780            linkType: "http://purl.org/pnx/linkType/thumbnail",
8781            linkURL: this.handleLink(e),
8782          }.linkURL;
8783        }
8784      }
8785    } catch (e) {
8786      return "";
8787    }
8788    return "";
8789  }
8790  async createPromiseOnlyFailOnAllFailedResolveFirstSuccess(e) {
8791    const t = e.map(this.reflect),
8792      i = (await Promise.all(t)).find((e) => "resolved" === e.status);
8793    return i ? i.value : "";
8794  }
8795  reflect(e) {
8796    return e.then(
8797      (e) => ({ value: e, status: "resolved" }),
8798      (e) => ({ error: e, status: "rejected" })
8799    );
8800  }
8801  showICPLicenseFooter() {
8802    return !1;
8803  }
8804  removeLabelFromLinkUrl(e) {
8805    let t = e.linkURL;
8806    t &&
8807      t.includes("$$L") &&
8808      (e.linkURL = t.substr(0, t.indexOf("$$L")).trim());
8809  }
8810  isAlmaD() {
8811    var e, t, i, s;
8812    return (
8813      !this.isPrimo() &&
8814      ("SP" === this.doc.context &&
8815      "alma" ===
8816        (null ===
8817          (i =
8818            null ===
8819              (t = null === (e = this.doc) || void 0 === e ? void 0 : e.pnx) ||
8820            void 0 === t
8821              ? void 0
8822              : t.control) || void 0 === i
8823          ? void 0
8824          : i.sourceid) &&
8825      (null === (s = this.doc.delivery) || void 0 === s
8826        ? void 0
8827        : s.electronicServices)
8828        ? this.doc.delivery.electronicServices.filter(
8829            (e) => "DIGITAL" === e.serviceType
8830          ).length > 0
8831        : !0 === this.doc.delivery.hasD ||
8832          !0 === this.doc.delivery.digitalAuxiliaryMode)
8833    );
8834  }
8835  async getAlmaDigitalThumbnailForPnx() {
8836    var e, t, i, s, n, r, o, a, l, c, d, p, u, h, f;
8837    const w =
8838        null ===
8839          (s =
8840            null ===
8841              (i =
8842                null ===
8843                  (t =
8844                    null === (e = this.doc) || void 0 === e ? void 0 : e.pnx) ||
8845                void 0 === t
8846                  ? void 0
8847                  : t.control) || void 0 === i
8848              ? void 0
8849              : i.sourcerecordid) || void 0 === s
8850          ? void 0
8851          : s[0],
8852      v =
8853        (null ===
8854          (r = null === (n = this.doc) || void 0 === n ? void 0 : n.delivery) ||
8855        void 0 === r
8856          ? void 0
8857          : r.recordInstitutionCode) || this.institution;
8858    let g = this.getAlmaDigitalThumbnailUrl(w);
8859    if (
8860      (null ===
8861        (a = null === (o = this.doc) || void 0 === o ? void 0 : o.delivery) ||
8862      void 0 === a
8863        ? void 0
8864        : a.sharedDigitalCandidates) &&
8865      this.doc.delivery.sharedDigitalCandidates.length > 0
8866    ) {
8867      const e = await fetch(
8868        `${this.almaDThumbnailBaseURL}/${v}/${w}?vid=${this.vid}`,
8869        {
8870          method: "POST",
8871          body: JSON.stringify(
8872            null ===
8873              (c =
8874                null === (l = this.doc) || void 0 === l
8875                  ? void 0
8876                  : l.delivery) || void 0 === c
8877              ? void 0
8878              : c.sharedDigitalCandidates
8879          ),
8880        }
8881      );
8882      g = (await e.json()).data;
8883    } else if (
8884      null ===
8885        (u =
8886          null ===
8887            (p = null === (d = this.doc) || void 0 === d ? void 0 : d.pnx) ||
8888          void 0 === p
8889            ? void 0
8890            : p.control) || void 0 === u
8891        ? void 0
8892        : u.isDedup
8893    ) {
8894      const e = await fetch(
8895        `${this.almaDThumbnailBaseURL}/${w}?vid=${this.vid}`
8896      );
8897      if (
8898        !(null ===
8899          (f =
8900            null === (h = await e.json()) || void 0 === h ? void 0 : h.data) ||
8901        void 0 === f
8902          ? void 0
8903          : f.hasDigitalInventory)
8904      )
8905        return "";
8906    }
8907    return this.isEsploroRecord() && (g += "?calculateAccessRights=true"), g;
8908  }
8909  isEsploroRecord() {
8910    var e;
8911    return (
8912      "ESPLORO" ===
8913        (null === (e = this.doc.pnx.control.sourceformat) || void 0 === e
8914          ? void 0
8915          : e[0]) || !1
8916    );
8917  }
8918  getAlmaDigitalThumbnailUrl(e) {
8919    return `${this.almaDThumbnailBaseURL}/${this.institution}/${e}`;
8920  }
8921  resolveAlmaDigitalImage(e) {
8922    return this.getImageLink(e);
8923  }
8924  createLinkObj(e) {
8925    return {
8926      displayLabel: "thumbnail",
8927      linkType: "http://purl.org/pnx/linkType/thumbnail",
8928      linkURL: e,
8929    };
8930  }
8931  async getImageLink(e) {
8932    return new Promise((t, i) => {
8933      if (!e) return void i("");
8934      const s = new Image();
8935      (s.onload = () => {
8936        s.width > 1 ? t(e) : i("");
8937      }),
8938        (s.onerror = () => {
8939          i("");
8940        }),
8941        (s.src = this.handleLink(e));
8942    });
8943  }
8944  handleLink(e) {
8945    let t = e;
8946    return (
8947      "https:" === window.location.protocol &&
8948        (t = e.replace("http://", "https://")),
8949      t
8950    );
8951  }
8952  getSyndetixWithProxy() {
8953    return "https://proxy-na.hosted.exlibrisgroup.com/exl_rewrite/syndetics.com/index.php?client=";
8954  }
8955};
8956(Ut.styles = Yt),
8957  Nt([we()], Ut.prototype, "doc", void 0),
8958  Nt([we()], Ut.prototype, "host", void 0),
8959  Nt([we()], Ut.prototype, "institution", void 0),
8960  Nt([we()], Ut.prototype, "vid", void 0),
8961  Nt([we()], Ut.prototype, "language", void 0),
8962  Nt([we()], Ut.prototype, "scope", void 0),
8963  Nt([we()], Ut.prototype, "tab", void 0),
8964  Nt([we()], Ut.prototype, "defaultThumbnailUrl", void 0),
8965  (Ut = Nt([he("pnx-card")], Ut));
8966var Vt = function (e, t, i, s) {
8967  for (
8968    var n,
8969      r = arguments.length,
8970      o =
8971        r < 3
8972          ? t
8973          : null === s
8974          ? (s = Object.getOwnPropertyDescriptor(t, i))
8975          : s,
8976      a = e.length - 1;
8977    a >= 0;
8978    a--
8979  )
8980    (n = e[a]) && (o = (r < 3 ? n(o) : r > 3 ? n(t, i, o) : n(t, i)) || o);
8981  return r > 3 && o && Object.defineProperty(t, i, o), o;
8982};
8983((e = !0) => {
8984  "undefined" != typeof window &&
8985    (e || (_t = !1),
8986    _t && Gt(!0),
8987    window.customElements.get("swiper-container") ||
8988      window.customElements.define("swiper-container", Dt),
8989    window.customElements.get("swiper-slide") ||
8990      window.customElements.define("swiper-slide", Ft));
8991})();
8992let Ht = class extends K {
8993  constructor() {
8994    super(), (this.searchUrl = "");
8995  }
8996  connectedCallback() {
8997    super.connectedCallback(), this.performQuery();
8998  }
8999  async performQuery() {
9000    try {
9001      const e = await fetch(this.searchUrl);
9002      this.data = e.json();
9003    } catch (e) {}
9004  }
9005  createRenderRoot() {
9006    return this;
9007  }
9008  render() {
9009    if (!this.data) return j``;
9010    const e = new URL(this.searchUrl);
9011    (this.host = e.host),
9012      (this.viewId = e.searchParams.get("vid")),
9013      (this.language = e.searchParams.get("lang")),
9014      (this.scope = e.searchParams.get("scope")),
9015      (this.tab = e.searchParams.get("tab")),
9016      (this.institution = e.searchParams.get("inst"));
9017    const t = this.getTitleHtml(),
9018      i = this.data.then((e) =>
9019        e.docs.map(
9020          (e) => j`<swiper-slide>
9021                <pnx-card .doc="${e}" .host="${this.host}" .institution="${this.institution}" .vid="${this.viewId}" 
9022                          .language="${this.language}" .scope="${this.scope}" 
9023                          .tab="${this.tab}" .defaultThumbnailUrl="${this.defaultThumbnailUrl}">
9024                </pnx-card>
9025            </swiper-slide>`
9026        )
9027      );
9028    return j`
9029            
9030            <div class="gallery-container">
9031                ${t}
9032                <button class="swiper-button-prev"></button>
9033                <swiper-container init="false" class="swiper">
9034                         ${ue(i, "")}
9035                </swiper-container>
9036                <!-- Navigation buttons -->
9037                <button class="swiper-button-next"></button>
9038                <div class="swiper-pagination"></div>
9039            </div>
9040        `;
9041  }
9042  updated() {
9043    const e = this.renderRoot.querySelector("swiper-container"),
9044      t = this.renderRoot.querySelector(".swiper-button-next"),
9045      i = this.renderRoot.querySelector(".swiper-button-prev"),
9046      s = this.renderRoot.querySelector(".swiper-pagination");
9047    if (!e) return;
9048    const n = {
9049      effect: "coverflow",
9050      grabCursor: !0,
9051      centeredSlides: !0,
9052      spaceBetween: 70,
9053      slidesPerView: "auto",
9054      coverflowEffect: {
9055        rotate: 25,
9056        stretch: 0,
9057        depth: 100,
9058        modifier: 1,
9059        slideShadows: !1,
9060      },
9061      pagination: { el: s, clickable: !0 },
9062      breakpoints: {
9063        360: { slidesPerView: 2, spaceBetween: 30 },
9064        640: { slidesPerView: 3, spaceBetween: 100 },
9065        768: { slidesPerView: 3, spaceBetween: 130 },
9066        1024: { slidesPerView: "auto", spaceBetween: 70 },
9067      },
9068      navigation: { nextEl: t, prevEl: i },
9069      a11y: {
9070        prevSlideMessage: "Previous slide",
9071        nextSlideMessage: "Next slide",
9072        firstSlideMessage: "This is the first slide",
9073        lastSlideMessage: "This is the last slide",
9074      },
9075      injectStyles: [
9076        "\n                     search-carousel {\n                        position: relative;\n                        height: 100%;\n                        display: block;\n                        font-size: 14px;\n                        color: #000;\n                        padding: 0;\n                        --width-param: 700px;\n                        max-width: var(--width-param);\n                        margin: 0 auto;\n                     }\n                    .gallery-container {\n                        padding: 20px;\n                    }\n                    \n                    .gallery-container a {\n                        text-decoration: none;\n                        color: black;\n                    }\n                    \n                    .gallery-container a:hover, .gallery-container a:focus {\n                        text-decoration: underline;\n                    }\n                    \n                    .gallery-container h2 {\n                        text-align: center;\n                    }\n                    \n                    .swiper {\n                        max-width: var(--width-param);\n                        margin-block-end: 1em;\n                    }\n                    \n                    swiper-slide {\n                        background-position: center;\n                        background-size: cover;\n                        width: calc(0.2 * var(--width-param));\n                        text-decoration: none;\n                    }\n                    \n                    swiper-slide:hover, swiper-slide:focus {\n                        text-decoration: underline;\n                    }\n                    \n                    .swiper-slide img {\n                        display: block;\n                    }\n                    \n                    \n                    .gallery-container .swiper-button-prev, .gallery-container .swiper-button-next {\n                        color: black;\n                        background-color: transparent;\n                        border: none;\n                        top: 50%;\n                        padding: 0;\n                    }\n                    .gallery-container .swiper-button-next {\n                        margin-right: -2.5em;\n                    }\n\n                    .gallery-container .swiper-button-prev {\n                        margin-left: -2.5em;\n                    }\n                    @media only screen and (max-width: 360px) {\n                        .gallery-container .swiper-button-next {\n                            margin-inline-end: -13px;\n                        }\n                        .gallery-container .swiper-button-prev {\n                            margin-inline-start: -13px;\n                        }\n                        /*.swiper-button-prev:focus:not(:active), .swiper-button-next:focus:not(:active) {\n                        box-shadow: 0 0 0 2px black;\n                        }*/\n                    }\n                    \n                    /*.swiper-button-prev:focus, .swiper-button-next:focus {\n                        // box-shadow: 0 0 0 2px black;\n                    }*/\n                    \n                    .swiper-button-prev, .swiper-button-next {\n                        &:hover,&:focus {\n                            background-color: black;\n                            &:after {\n                            color: white;\n                            }\n                        }\n                    }\n                    \n                    .swiper-pagination .swiper-pagination-bullet-active {\n                        background-color: black;\n                    }\n                    \n                    .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{\n                        --swiper-pagination-bullet-horizontal-gap: 8px;\n                    }\n            ",
9077      ],
9078    };
9079    Object.assign(e, n), e.initialize();
9080  }
9081  getTitleHtml() {
9082    return this.titleText
9083      ? this.titleLink
9084        ? j`<h2><a target="_blank" href="${this.titleLink}">${this.titleText}</a></h2>`
9085        : j`<h2>${this.titleText}</h2>`
9086      : j``;
9087  }
9088};
9089Vt([we()], Ht.prototype, "searchUrl", void 0),
9090  Vt([we()], Ht.prototype, "titleText", void 0),
9091  Vt([we()], Ht.prototype, "titleLink", void 0),
9092  Vt([we()], Ht.prototype, "defaultThumbnailUrl", void 0),
9093  Vt(
9094    [
9095      (function (e) {
9096        return we({ ...e, state: !0 });
9097      })(),
9098    ],
9099    Ht.prototype,
9100    "data",
9101    void 0
9102  ),
9103  (Ht = Vt([he("search-carousel")], Ht));
9104export { Ht as SearchCarousel };

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.