PageSourceSearch

https://www.embitel.com/wp-content/themes/astra-child/assets/embitel/lib/swiper-bundle.min.js?ver=8.0

js embitel.com collected 2026-10-02 03:04:48 UTC 260,086 bytes, 7,634 lines download raw bytes

1/**
2 * Swiper 11.2.1
3 * Most modern mobile touch slider and framework with hardware accelerated transitions
4 * https://swiperjs.com
5 *
6 * Copyright 2014-2025 Vladimir Kharlampidi
7 *
8 * Released under the MIT License
9 *
10 * Released on: January 10, 2025
11 */
12
13var Swiper = (function () {
14  "use strict";
15  function e(e) {
16    return (
17      null !== e &&
18      "object" == typeof e &&
19      "constructor" in e &&
20      e.constructor === Object
21    );
22  }
23  function t(s, a) {
24    void 0 === s && (s = {}),
25      void 0 === a && (a = {}),
26      Object.keys(a).forEach((i) => {
27        void 0 === s[i]
28          ? (s[i] = a[i])
29          : e(a[i]) && e(s[i]) && Object.keys(a[i]).length > 0 && t(s[i], a[i]);
30      });
31  }
32  const s = {
33    body: {},
34    addEventListener() {},
35    removeEventListener() {},
36    activeElement: { blur() {}, nodeName: "" },
37    querySelector: () => null,
38    querySelectorAll: () => [],
39    getElementById: () => null,
40    createEvent: () => ({ initEvent() {} }),
41    createElement: () => ({
42      children: [],
43      childNodes: [],
44      style: {},
45      setAttribute() {},
46      getElementsByTagName: () => [],
47    }),
48    createElementNS: () => ({}),
49    importNode: () => null,
50    location: {
51      hash: "",
52      host: "",
53      hostname: "",
54      href: "",
55      origin: "",
56      pathname: "",
57      protocol: "",
58      search: "",
59    },
60  };
61  function a() {
62    const e = "undefined" != typeof document ? document : {};
63    return t(e, s), e;
64  }
65  const i = {
66    document: s,
67    navigator: { userAgent: "" },
68    location: {
69      hash: "",
70      host: "",
71      hostname: "",
72      href: "",
73      origin: "",
74      pathname: "",
75      protocol: "",
76      search: "",
77    },
78    history: { replaceState() {}, pushState() {}, go() {}, back() {} },
79    CustomEvent: function () {
80      return this;
81    },
82    addEventListener() {},
83    removeEventListener() {},
84    getComputedStyle: () => ({ getPropertyValue: () => "" }),
85    Image() {},
86    Date() {},
87    screen: {},
88    setTimeout() {},
89    clearTimeout() {},
90    matchMedia: () => ({}),
91    requestAnimationFrame: (e) =>
92      "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0),
93    cancelAnimationFrame(e) {
94      "undefined" != typeof setTimeout && clearTimeout(e);
95    },
96  };
97  function r() {
98    const e = "undefined" != typeof window ? window : {};
99    return t(e, i), e;
100  }
101  function n(e) {
102    return (
103      void 0 === e && (e = ""),
104      e
105        .trim()
106        .split(" ")
107        .filter((e) => !!e.trim())
108    );
109  }
110  function l(e, t) {
111    return void 0 === t && (t = 0), setTimeout(e, t);
112  }
113  function o() {
114    return Date.now();
115  }
116  function d(e, t) {
117    void 0 === t && (t = "x");
118    const s = r();
119    let a, i, n;
120    const l = (function (e) {
121      const t = r();
122      let s;
123      return (
124        t.getComputedStyle && (s = t.getComputedStyle(e, null)),
125        !s && e.currentStyle && (s = e.currentStyle),
126        s || (s = e.style),
127        s
128      );
129    })(e);
130    return (
131      s.WebKitCSSMatrix
132        ? ((i = l.transform || l.webkitTransform),
133          i.split(",").length > 6 &&
134            (i = i
135              .split(", ")
136              .map((e) => e.replace(",", "."))
137              .join(", ")),
138          (n = new s.WebKitCSSMatrix("none" === i ? "" : i)))
139        : ((n =
140            l.MozTransform ||
141            l.OTransform ||
142            l.MsTransform ||
143            l.msTransform ||
144            l.transform ||
145            l
146              .getPropertyValue("transform")
147              .replace("translate(", "matrix(1, 0, 0, 1,")),
148          (a = n.toString().split(","))),
149      "x" === t &&
150        (i = s.WebKitCSSMatrix
151          ? n.m41
152          : 16 === a.length
153          ? parseFloat(a[12])
154          : parseFloat(a[4])),
155      "y" === t &&
156        (i = s.WebKitCSSMatrix
157          ? n.m42
158          : 16 === a.length
159          ? parseFloat(a[13])
160          : parseFloat(a[5])),
161      i || 0
162    );
163  }
164  function c(e) {
165    return (
166      "object" == typeof e &&
167      null !== e &&
168      e.constructor &&
169      "Object" === Object.prototype.toString.call(e).slice(8, -1)
170    );
171  }
172  function p() {
173    const e = Object(arguments.length <= 0 ? void 0 : arguments[0]),
174      t = ["__proto__", "constructor", "prototype"];
175    for (let a = 1; a < arguments.length; a += 1) {
176      const i = a < 0 || arguments.length <= a ? void 0 : arguments[a];
177      if (
178        null != i &&
179        ((s = i),
180        !("undefined" != typeof window && void 0 !== window.HTMLElement
181          ? s instanceof HTMLElement
182          : s && (1 === s.nodeType || 11 === s.nodeType)))
183      ) {
184        const s = Object.keys(Object(i)).filter((e) => t.indexOf(e) < 0);
185        for (let t = 0, a = s.length; t < a; t += 1) {
186          const a = s[t],
187            r = Object.getOwnPropertyDescriptor(i, a);
188          void 0 !== r &&
189            r.enumerable &&
190            (c(e[a]) && c(i[a])
191              ? i[a].__swiper__
192                ? (e[a] = i[a])
193                : p(e[a], i[a])
194              : !c(e[a]) && c(i[a])
195              ? ((e[a] = {}), i[a].__swiper__ ? (e[a] = i[a]) : p(e[a], i[a]))
196              : (e[a] = i[a]));
197        }
198      }
199    }
200    var s;
201    return e;
202  }
203  function u(e, t, s) {
204    e.style.setProperty(t, s);
205  }
206  function m(e) {
207    let { swiper: t, targetPosition: s, side: a } = e;
208    const i = r(),
209      n = -t.translate;
210    let l,
211      o = null;
212    const d = t.params.speed;
213    (t.wrapperEl.style.scrollSnapType = "none"),
214      i.cancelAnimationFrame(t.cssModeFrameID);
215    const c = s > n ? "next" : "prev",
216      p = (e, t) => ("next" === c && e >= t) || ("prev" === c && e <= t),
217      u = () => {
218        (l = new Date().getTime()), null === o && (o = l);
219        const e = Math.max(Math.min((l - o) / d, 1), 0),
220          r = 0.5 - Math.cos(e * Math.PI) / 2;
221        let c = n + r * (s - n);
222        if ((p(c, s) && (c = s), t.wrapperEl.scrollTo({ [a]: c }), p(c, s)))
223          return (
224            (t.wrapperEl.style.overflow = "hidden"),
225            (t.wrapperEl.style.scrollSnapType = ""),
226            setTimeout(() => {
227              (t.wrapperEl.style.overflow = ""),
228                t.wrapperEl.scrollTo({ [a]: c });
229            }),
230            void i.cancelAnimationFrame(t.cssModeFrameID)
231          );
232        t.cssModeFrameID = i.requestAnimationFrame(u);
233      };
234    u();
235  }
236  function h(e) {
237    return (
238      e.querySelector(".swiper-slide-transform") ||
239      (e.shadowRoot && e.shadowRoot.querySelector(".swiper-slide-transform")) ||
240      e
241    );
242  }
243  function f(e, t) {
244    void 0 === t && (t = "");
245    const s = r(),
246      a = [...e.children];
247    return (
248      s.HTMLSlotElement &&
249        e instanceof HTMLSlotElement &&
250        a.push(...e.assignedElements()),
251      t ? a.filter((e) => e.matches(t)) : a
252    );
253  }
254  function g(e) {
255    try {
256      return void console.warn(e);
257    } catch (e) {}
258  }
259  function v(e, t) {
260    void 0 === t && (t = []);
261    const s = document.createElement(e);
262    return s.classList.add(...(Array.isArray(t) ? t : n(t))), s;
263  }
264  function w(e) {
265    const t = r(),
266      s = a(),
267      i = e.getBoundingClientRect(),
268      n = s.body,
269      l = e.clientTop || n.clientTop || 0,
270      o = e.clientLeft || n.clientLeft || 0,
271      d = e === t ? t.scrollY : e.scrollTop,
272      c = e === t ? t.scrollX : e.scrollLeft;
273    return { top: i.top + d - l, left: i.left + c - o };
274  }
275  function b(e, t) {
276    return r().getComputedStyle(e, null).getPropertyValue(t);
277  }
278  function y(e) {
279    let t,
280      s = e;
281    if (s) {
282      for (t = 0; null !== (s = s.previousSibling); )
283        1 === s.nodeType && (t += 1);
284      return t;
285    }
286  }
287  function E(e, t) {
288    const s = [];
289    let a = e.parentElement;
290    for (; a; )
291      t ? a.matches(t) && s.push(a) : s.push(a), (a = a.parentElement);
292    return s;
293  }
294  function x(e, t) {
295    t &&
296      e.addEventListener("transitionend", function s(a) {
297        a.target === e &&
298          (t.call(e, a), e.removeEventListener("transitionend", s));
299      });
300  }
301  function S(e, t, s) {
302    const a = r();
303    return s
304      ? e["width" === t ? "offsetWidth" : "offsetHeight"] +
305          parseFloat(
306            a
307              .getComputedStyle(e, null)
308              .getPropertyValue("width" === t ? "margin-right" : "margin-top")
309          ) +
310          parseFloat(
311            a
312              .getComputedStyle(e, null)
313              .getPropertyValue("width" === t ? "margin-left" : "margin-bottom")
314          )
315      : e.offsetWidth;
316  }
317  function T(e) {
318    return (Array.isArray(e) ? e : [e]).filter((e) => !!e);
319  }
320  function M(e) {
321    return (t) =>
322      Math.abs(t) > 0 &&
323      e.browser &&
324      e.browser.need3dFix &&
325      Math.abs(t) % 90 == 0
326        ? t + 0.001
327        : t;
328  }
329  let C, P, L;
330  function I() {
331    return (
332      C ||
333        (C = (function () {
334          const e = r(),
335            t = a();
336          return {
337            smoothScroll:
338              t.documentElement &&
339              t.documentElement.style &&
340              "scrollBehavior" in t.documentElement.style,
341            touch: !!(
342              "ontouchstart" in e ||
343              (e.DocumentTouch && t instanceof e.DocumentTouch)
344            ),
345          };
346        })()),
347      C
348    );
349  }
350  function z(e) {
351    return (
352      void 0 === e && (e = {}),
353      P ||
354        (P = (function (e) {
355          let { userAgent: t } = void 0 === e ? {} : e;
356          const s = I(),
357            a = r(),
358            i = a.navigator.platform,
359            n = t || a.navigator.userAgent,
360            l = { ios: !1, android: !1 },
361            o = a.screen.width,
362            d = a.screen.height,
363            c = n.match(/(Android);?[\s\/]+([\d.]+)?/);
364          let p = n.match(/(iPad).*OS\s([\d_]+)/);
365          const u = n.match(/(iPod)(.*OS\s([\d_]+))?/),
366            m = !p && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
367            h = "Win32" === i;
368          let f = "MacIntel" === i;
369          return (
370            !p &&
371              f &&
372              s.touch &&
373              [
374                "1024x1366",
375                "1366x1024",
376                "834x1194",
377                "1194x834",
378                "834x1112",
379                "1112x834",
380                "768x1024",
381                "1024x768",
382                "820x1180",
383                "1180x820",
384                "810x1080",
385                "1080x810",
386              ].indexOf(`${o}x${d}`) >= 0 &&
387              ((p = n.match(/(Version)\/([\d.]+)/)),
388              p || (p = [0, 1, "13_0_0"]),
389              (f = !1)),
390            c && !h && ((l.os = "android"), (l.android = !0)),
391            (p || m || u) && ((l.os = "ios"), (l.ios = !0)),
392            l
393          );
394        })(e)),
395      P
396    );
397  }
398  function A() {
399    return (
400      L ||
401        (L = (function () {
402          const e = r(),
403            t = z();
404          let s = !1;
405          function a() {
406            const t = e.navigator.userAgent.toLowerCase();
407            return (
408              t.indexOf("safari") >= 0 &&
409              t.indexOf("chrome") < 0 &&
410              t.indexOf("android") < 0
411            );
412          }
413          if (a()) {
414            const t = String(e.navigator.userAgent);
415            if (t.includes("Version/")) {
416              const [e, a] = t
417                .split("Version/")[1]
418                .split(" ")[0]
419                .split(".")
420                .map((e) => Number(e));
421              s = e < 16 || (16 === e && a < 2);
422            }
423          }
424          const i = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
425              e.navigator.userAgent
426            ),
427            n = a();
428          return {
429            isSafari: s || n,
430            needPerspectiveFix: s,
431            need3dFix: n || (i && t.ios),
432            isWebView: i,
433          };
434        })()),
435      L
436    );
437  }
438  var $ = {
439    on(e, t, s) {
440      const a = this;
441      if (!a.eventsListeners || a.destroyed) return a;
442      if ("function" != typeof t) return a;
443      const i = s ? "unshift" : "push";
444      return (
445        e.split(" ").forEach((e) => {
446          a.eventsListeners[e] || (a.eventsListeners[e] = []),
447            a.eventsListeners[e][i](t);
448        }),
449        a
450      );
451    },
452    once(e, t, s) {
453      const a = this;
454      if (!a.eventsListeners || a.destroyed) return a;
455      if ("function" != typeof t) return a;
456      function i() {
457        a.off(e, i), i.__emitterProxy && delete i.__emitterProxy;
458        for (var s = arguments.length, r = new Array(s), n = 0; n < s; n++)
459          r[n] = arguments[n];
460        t.apply(a, r);
461      }
462      return (i.__emitterProxy = t), a.on(e, i, s);
463    },
464    onAny(e, t) {
465      const s = this;
466      if (!s.eventsListeners || s.destroyed) return s;
467      if ("function" != typeof e) return s;
468      const a = t ? "unshift" : "push";
469      return (
470        s.eventsAnyListeners.indexOf(e) < 0 && s.eventsAnyListeners[a](e), s
471      );
472    },
473    offAny(e) {
474      const t = this;
475      if (!t.eventsListeners || t.destroyed) return t;
476      if (!t.eventsAnyListeners) return t;
477      const s = t.eventsAnyListeners.indexOf(e);
478      return s >= 0 && t.eventsAnyListeners.splice(s, 1), t;
479    },
480    off(e, t) {
481      const s = this;
482      return !s.eventsListeners || s.destroyed
483        ? s
484        : s.eventsListeners
485        ? (e.split(" ").forEach((e) => {
486            void 0 === t
487              ? (s.eventsListeners[e] = [])
488              : s.eventsListeners[e] &&
489                s.eventsListeners[e].forEach((a, i) => {
490                  (a === t || (a.__emitterProxy && a.__emitterProxy === t)) &&
491                    s.eventsListeners[e].splice(i, 1);
492                });
493          }),
494          s)
495        : s;
496    },
497    emit() {
498      const e = this;
499      if (!e.eventsListeners || e.destroyed) return e;
500      if (!e.eventsListeners) return e;
501      let t, s, a;
502      for (var i = arguments.length, r = new Array(i), n = 0; n < i; n++)
503        r[n] = arguments[n];
504      "string" == typeof r[0] || Array.isArray(r[0])
505        ? ((t = r[0]), (s = r.slice(1, r.length)), (a = e))
506        : ((t = r[0].events), (s = r[0].data), (a = r[0].context || e)),
507        s.unshift(a);
508      return (
509        (Array.isArray(t) ? t : t.split(" ")).forEach((t) => {
510          e.eventsAnyListeners &&
511            e.eventsAnyListeners.length &&
512            e.eventsAnyListeners.forEach((e) => {
513              e.apply(a, [t, ...s]);
514            }),
515            e.eventsListeners &&
516              e.eventsListeners[t] &&
517              e.eventsListeners[t].forEach((e) => {
518                e.apply(a, s);
519              });
520        }),
521        e
522      );
523    },
524  };
525  const k = (e, t, s) => {
526    t && !e.classList.contains(s)
527      ? e.classList.add(s)
528      : !t && e.classList.contains(s) && e.classList.remove(s);
529  };
530  const O = (e, t, s) => {
531    t && !e.classList.contains(s)
532      ? e.classList.add(s)
533      : !t && e.classList.contains(s) && e.classList.remove(s);
534  };
535  const D = (e, t) => {
536      if (!e || e.destroyed || !e.params) return;
537      const s = t.closest(
538        e.isElement ? "swiper-slide" : `.${e.params.slideClass}`
539      );
540      if (s) {
541        let t = s.querySelector(`.${e.params.lazyPreloaderClass}`);
542        !t &&
543          e.isElement &&
544          (s.shadowRoot
545            ? (t = s.shadowRoot.querySelector(
546                `.${e.params.lazyPreloaderClass}`
547              ))
548            : requestAnimationFrame(() => {
549                s.shadowRoot &&
550                  ((t = s.shadowRoot.querySelector(
551                    `.${e.params.lazyPreloaderClass}`
552                  )),
553                  t && t.remove());
554              })),
555          t && t.remove();
556      }
557    },
558    G = (e, t) => {
559      if (!e.slides[t]) return;
560      const s = e.slides[t].querySelector('[loading="lazy"]');
561      s && s.removeAttribute("loading");
562    },
563    H = (e) => {
564      if (!e || e.destroyed || !e.params) return;
565      let t = e.params.lazyPreloadPrevNext;
566      const s = e.slides.length;
567      if (!s || !t || t < 0) return;
568      t = Math.min(t, s);
569      const a =
570          "auto" === e.params.slidesPerView
571            ? e.slidesPerViewDynamic()
572            : Math.ceil(e.params.slidesPerView),
573        i = e.activeIndex;
574      if (e.params.grid && e.params.grid.rows > 1) {
575        const s = i,
576          r = [s - t];
577        return (
578          r.push(...Array.from({ length: t }).map((e, t) => s + a + t)),
579          void e.slides.forEach((t, s) => {
580            r.includes(t.column) && G(e, s);
581          })
582        );
583      }
584      const r = i + a - 1;
585      if (e.params.rewind || e.params.loop)
586        for (let a = i - t; a <= r + t; a += 1) {
587          const t = ((a % s) + s) % s;
588          (t < i || t > r) && G(e, t);
589        }
590      else
591        for (let a = Math.max(i - t, 0); a <= Math.min(r + t, s - 1); a += 1)
592          a !== i && (a > r || a < i) && G(e, a);
593    };
594  var X = {
595    updateSize: function () {
596      const e = this;
597      let t, s;
598      const a = e.el;
599      (t =
600        void 0 !== e.params.width && null !== e.params.width
601          ? e.params.width
602          : a.clientWidth),
603        (s =
604          void 0 !== e.params.height && null !== e.params.height
605            ? e.params.height
606            : a.clientHeight),
607        (0 === t && e.isHorizontal()) ||
608          (0 === s && e.isVertical()) ||
609          ((t =
610            t -
611            parseInt(b(a, "padding-left") || 0, 10) -
612            parseInt(b(a, "padding-right") || 0, 10)),
613          (s =
614            s -
615            parseInt(b(a, "padding-top") || 0, 10) -
616            parseInt(b(a, "padding-bottom") || 0, 10)),
617          Number.isNaN(t) && (t = 0),
618          Number.isNaN(s) && (s = 0),
619          Object.assign(e, {
620            width: t,
621            height: s,
622            size: e.isHorizontal() ? t : s,
623          }));
624    },
625    updateSlides: function () {
626      const e = this;
627      function t(t, s) {
628        return parseFloat(t.getPropertyValue(e.getDirectionLabel(s)) || 0);
629      }
630      const s = e.params,
631        {
632          wrapperEl: a,
633          slidesEl: i,
634          size: r,
635          rtlTranslate: n,
636          wrongRTL: l,
637        } = e,
638        o = e.virtual && s.virtual.enabled,
639        d = o ? e.virtual.slides.length : e.slides.length,
640        c = f(i, `.${e.params.slideClass}, swiper-slide`),
641        p = o ? e.virtual.slides.length : c.length;
642      let m = [];
643      const h = [],
644        g = [];
645      let v = s.slidesOffsetBefore;
646      "function" == typeof v && (v = s.slidesOffsetBefore.call(e));
647      let w = s.slidesOffsetAfter;
648      "function" == typeof w && (w = s.slidesOffsetAfter.call(e));
649      const y = e.snapGrid.length,
650        E = e.slidesGrid.length;
651      let x = s.spaceBetween,
652        T = -v,
653        M = 0,
654        C = 0;
655      if (void 0 === r) return;
656      "string" == typeof x && x.indexOf("%") >= 0
657        ? (x = (parseFloat(x.replace("%", "")) / 100) * r)
658        : "string" == typeof x && (x = parseFloat(x)),
659        (e.virtualSize = -x),
660        c.forEach((e) => {
661          n ? (e.style.marginLeft = "") : (e.style.marginRight = ""),
662            (e.style.marginBottom = ""),
663            (e.style.marginTop = "");
664        }),
665        s.centeredSlides &&
666          s.cssMode &&
667          (u(a, "--swiper-centered-offset-before", ""),
668          u(a, "--swiper-centered-offset-after", ""));
669      const P = s.grid && s.grid.rows > 1 && e.grid;
670      let L;
671      P ? e.grid.initSlides(c) : e.grid && e.grid.unsetSlides();
672      const I =
673        "auto" === s.slidesPerView &&
674        s.breakpoints &&
675        Object.keys(s.breakpoints).filter(
676          (e) => void 0 !== s.breakpoints[e].slidesPerView
677        ).length > 0;
678      for (let a = 0; a < p; a += 1) {
679        let i;
680        if (
681          ((L = 0),
682          c[a] && (i = c[a]),
683          P && e.grid.updateSlide(a, i, c),
684          !c[a] || "none" !== b(i, "display"))
685        ) {
686          if ("auto" === s.slidesPerView) {
687            I && (c[a].style[e.getDirectionLabel("width")] = "");
688            const r = getComputedStyle(i),
689              n = i.style.transform,
690              l = i.style.webkitTransform;
691            if (
692              (n && (i.style.transform = "none"),
693              l && (i.style.webkitTransform = "none"),
694              s.roundLengths)
695            )
696              L = e.isHorizontal() ? S(i, "width", !0) : S(i, "height", !0);
697            else {
698              const e = t(r, "width"),
699                s = t(r, "padding-left"),
700                a = t(r, "padding-right"),
701                n = t(r, "margin-left"),
702                l = t(r, "margin-right"),
703                o = r.getPropertyValue("box-sizing");
704              if (o && "border-box" === o) L = e + n + l;
705              else {
706                const { clientWidth: t, offsetWidth: r } = i;
707                L = e + s + a + n + l + (r - t);
708              }
709            }
710            n && (i.style.transform = n),
711              l && (i.style.webkitTransform = l),
712              s.roundLengths && (L = Math.floor(L));
713          } else
714            (L = (r - (s.slidesPerView - 1) * x) / s.slidesPerView),
715              s.roundLengths && (L = Math.floor(L)),
716              c[a] && (c[a].style[e.getDirectionLabel("width")] = `${L}px`);
717          c[a] && (c[a].swiperSlideSize = L),
718            g.push(L),
719            s.centeredSlides
720              ? ((T = T + L / 2 + M / 2 + x),
721                0 === M && 0 !== a && (T = T - r / 2 - x),
722                0 === a && (T = T - r / 2 - x),
723                Math.abs(T) < 0.001 && (T = 0),
724                s.roundLengths && (T = Math.floor(T)),
725                C % s.slidesPerGroup == 0 && m.push(T),
726                h.push(T))
727              : (s.roundLengths && (T = Math.floor(T)),
728                (C - Math.min(e.params.slidesPerGroupSkip, C)) %
729                  e.params.slidesPerGroup ==
730                  0 && m.push(T),
731                h.push(T),
732                (T = T + L + x)),
733            (e.virtualSize += L + x),
734            (M = L),
735            (C += 1);
736        }
737      }
738      if (
739        ((e.virtualSize = Math.max(e.virtualSize, r) + w),
740        n &&
741          l &&
742          ("slide" === s.effect || "coverflow" === s.effect) &&
743          (a.style.width = `${e.virtualSize + x}px`),
744        s.setWrapperSize &&
745          (a.style[e.getDirectionLabel("width")] = `${e.virtualSize + x}px`),
746        P && e.grid.updateWrapperSize(L, m),
747        !s.centeredSlides)
748      ) {
749        const t = [];
750        for (let a = 0; a < m.length; a += 1) {
751          let i = m[a];
752          s.roundLengths && (i = Math.floor(i)),
753            m[a] <= e.virtualSize - r && t.push(i);
754        }
755        (m = t),
756          Math.floor(e.virtualSize - r) - Math.floor(m[m.length - 1]) > 1 &&
757            m.push(e.virtualSize - r);
758      }
759      if (o && s.loop) {
760        const t = g[0] + x;
761        if (s.slidesPerGroup > 1) {
762          const a = Math.ceil(
763              (e.virtual.slidesBefore + e.virtual.slidesAfter) /
764                s.slidesPerGroup
765            ),
766            i = t * s.slidesPerGroup;
767          for (let e = 0; e < a; e += 1) m.push(m[m.length - 1] + i);
768        }
769        for (
770          let a = 0;
771          a < e.virtual.slidesBefore + e.virtual.slidesAfter;
772          a += 1
773        )
774          1 === s.slidesPerGroup && m.push(m[m.length - 1] + t),
775            h.push(h[h.length - 1] + t),
776            (e.virtualSize += t);
777      }
778      if ((0 === m.length && (m = [0]), 0 !== x)) {
779        const t =
780          e.isHorizontal() && n
781            ? "marginLeft"
782            : e.getDirectionLabel("marginRight");
783        c.filter(
784          (e, t) => !(s.cssMode && !s.loop) || t !== c.length - 1
785        ).forEach((e) => {
786          e.style[t] = `${x}px`;
787        });
788      }
789      if (s.centeredSlides && s.centeredSlidesBounds) {
790        let e = 0;
791        g.forEach((t) => {
792          e += t + (x || 0);
793        }),
794          (e -= x);
795        const t = e > r ? e - r : 0;
796        m = m.map((e) => (e <= 0 ? -v : e > t ? t + w : e));
797      }
798      if (s.centerInsufficientSlides) {
799        let e = 0;
800        g.forEach((t) => {
801          e += t + (x || 0);
802        }),
803          (e -= x);
804        const t = (s.slidesOffsetBefore || 0) + (s.slidesOffsetAfter || 0);
805        if (e + t < r) {
806          const s = (r - e - t) / 2;
807          m.forEach((e, t) => {
808            m[t] = e - s;
809          }),
810            h.forEach((e, t) => {
811              h[t] = e + s;
812            });
813        }
814      }
815      if (
816        (Object.assign(e, {
817          slides: c,
818          snapGrid: m,
819          slidesGrid: h,
820          slidesSizesGrid: g,
821        }),
822        s.centeredSlides && s.cssMode && !s.centeredSlidesBounds)
823      ) {
824        u(a, "--swiper-centered-offset-before", -m[0] + "px"),
825          u(
826            a,
827            "--swiper-centered-offset-after",
828            e.size / 2 - g[g.length - 1] / 2 + "px"
829          );
830        const t = -e.snapGrid[0],
831          s = -e.slidesGrid[0];
832        (e.snapGrid = e.snapGrid.map((e) => e + t)),
833          (e.slidesGrid = e.slidesGrid.map((e) => e + s));
834      }
835      if (
836        (p !== d && e.emit("slidesLengthChange"),
837        m.length !== y &&
838          (e.params.watchOverflow && e.checkOverflow(),
839          e.emit("snapGridLengthChange")),
840        h.length !== E && e.emit("slidesGridLengthChange"),
841        s.watchSlidesProgress && e.updateSlidesOffset(),
842        e.emit("slidesUpdated"),
843        !(o || s.cssMode || ("slide" !== s.effect && "fade" !== s.effect)))
844      ) {
845        const t = `${s.containerModifierClass}backface-hidden`,
846          a = e.el.classList.contains(t);
847        p <= s.maxBackfaceHiddenSlides
848          ? a || e.el.classList.add(t)
849          : a && e.el.classList.remove(t);
850      }
851    },
852    updateAutoHeight: function (e) {
853      const t = this,
854        s = [],
855        a = t.virtual && t.params.virtual.enabled;
856      let i,
857        r = 0;
858      "number" == typeof e
859        ? t.setTransition(e)
860        : !0 === e && t.setTransition(t.params.speed);
861      const n = (e) => (a ? t.slides[t.getSlideIndexByData(e)] : t.slides[e]);
862      if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1)
863        if (t.params.centeredSlides)
864          (t.visibleSlides || []).forEach((e) => {
865            s.push(e);
866          });
867        else
868          for (i = 0; i < Math.ceil(t.params.slidesPerView); i += 1) {
869            const e = t.activeIndex + i;
870            if (e > t.slides.length && !a) break;
871            s.push(n(e));
872          }
873      else s.push(n(t.activeIndex));
874      for (i = 0; i < s.length; i += 1)
875        if (void 0 !== s[i]) {
876          const e = s[i].offsetHeight;
877          r = e > r ? e : r;
878        }
879      (r || 0 === r) && (t.wrapperEl.style.height = `${r}px`);
880    },
881    updateSlidesOffset: function () {
882      const e = this,
883        t = e.slides,
884        s = e.isElement
885          ? e.isHorizontal()
886            ? e.wrapperEl.offsetLeft
887            : e.wrapperEl.offsetTop
888          : 0;
889      for (let a = 0; a < t.length; a += 1)
890        t[a].swiperSlideOffset =
891          (e.isHorizontal() ? t[a].offsetLeft : t[a].offsetTop) -
892          s -
893          e.cssOverflowAdjustment();
894    },
895    updateSlidesProgress: function (e) {
896      void 0 === e && (e = (this && this.translate) || 0);
897      const t = this,
898        s = t.params,
899        { slides: a, rtlTranslate: i, snapGrid: r } = t;
900      if (0 === a.length) return;
901      void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset();
902      let n = -e;
903      i && (n = e), (t.visibleSlidesIndexes = []), (t.visibleSlides = []);
904      let l = s.spaceBetween;
905      "string" == typeof l && l.indexOf("%") >= 0
906        ? (l = (parseFloat(l.replace("%", "")) / 100) * t.size)
907        : "string" == typeof l && (l = parseFloat(l));
908      for (let e = 0; e < a.length; e += 1) {
909        const o = a[e];
910        let d = o.swiperSlideOffset;
911        s.cssMode && s.centeredSlides && (d -= a[0].swiperSlideOffset);
912        const c =
913            (n + (s.centeredSlides ? t.minTranslate() : 0) - d) /
914            (o.swiperSlideSize + l),
915          p =
916            (n - r[0] + (s.centeredSlides ? t.minTranslate() : 0) - d) /
917            (o.swiperSlideSize + l),
918          u = -(n - d),
919          m = u + t.slidesSizesGrid[e],
920          h = u >= 0 && u <= t.size - t.slidesSizesGrid[e],
921          f =
922            (u >= 0 && u < t.size - 1) ||
923            (m > 1 && m <= t.size) ||
924            (u <= 0 && m >= t.size);
925        f && (t.visibleSlides.push(o), t.visibleSlidesIndexes.push(e)),
926          k(o, f, s.slideVisibleClass),
927          k(o, h, s.slideFullyVisibleClass),
928          (o.progress = i ? -c : c),
929          (o.originalProgress = i ? -p : p);
930      }
931    },
932    updateProgress: function (e) {
933      const t = this;
934      if (void 0 === e) {
935        const s = t.rtlTranslate ? -1 : 1;
936        e = (t && t.translate && t.translate * s) || 0;
937      }
938      const s = t.params,
939        a = t.maxTranslate() - t.minTranslate();
940      let { progress: i, isBeginning: r, isEnd: n, progressLoop: l } = t;
941      const o = r,
942        d = n;
943      if (0 === a) (i = 0), (r = !0), (n = !0);
944      else {
945        i = (e - t.minTranslate()) / a;
946        const s = Math.abs(e - t.minTranslate()) < 1,
947          l = Math.abs(e - t.maxTranslate()) < 1;
948        (r = s || i <= 0), (n = l || i >= 1), s && (i = 0), l && (i = 1);
949      }
950      if (s.loop) {
951        const s = t.getSlideIndexByData(0),
952          a = t.getSlideIndexByData(t.slides.length - 1),
953          i = t.slidesGrid[s],
954          r = t.slidesGrid[a],
955          n = t.slidesGrid[t.slidesGrid.length - 1],
956          o = Math.abs(e);
957        (l = o >= i ? (o - i) / n : (o + n - r) / n), l > 1 && (l -= 1);
958      }
959      Object.assign(t, {
960        progress: i,
961        progressLoop: l,
962        isBeginning: r,
963        isEnd: n,
964      }),
965        (s.watchSlidesProgress || (s.centeredSlides && s.autoHeight)) &&
966          t.updateSlidesProgress(e),
967        r && !o && t.emit("reachBeginning toEdge"),
968        n && !d && t.emit("reachEnd toEdge"),
969        ((o && !r) || (d && !n)) && t.emit("fromEdge"),
970        t.emit("progress", i);
971    },
972    updateSlidesClasses: function () {
973      const e = this,
974        { slides: t, params: s, slidesEl: a, activeIndex: i } = e,
975        r = e.virtual && s.virtual.enabled,
976        n = e.grid && s.grid && s.grid.rows > 1,
977        l = (e) => f(a, `.${s.slideClass}${e}, swiper-slide${e}`)[0];
978      let o, d, c;
979      if (r)
980        if (s.loop) {
981          let t = i - e.virtual.slidesBefore;
982          t < 0 && (t = e.virtual.slides.length + t),
983            t >= e.virtual.slides.length && (t -= e.virtual.slides.length),
984            (o = l(`[data-swiper-slide-index="${t}"]`));
985        } else o = l(`[data-swiper-slide-index="${i}"]`);
986      else
987        n
988          ? ((o = t.find((e) => e.column === i)),
989            (c = t.find((e) => e.column === i + 1)),
990            (d = t.find((e) => e.column === i - 1)))
991          : (o = t[i]);
992      o &&
993        (n ||
994          ((c = (function (e, t) {
995            const s = [];
996            for (; e.nextElementSibling; ) {
997              const a = e.nextElementSibling;
998              t ? a.matches(t) && s.push(a) : s.push(a), (e = a);
999            }
1000            return s;
1001          })(o, `.${s.slideClass}, swiper-slide`)[0]),
1002          s.loop && !c && (c = t[0]),
1003          (d = (function (e, t) {
1004            const s = [];
1005            for (; e.previousElementSibling; ) {
1006              const a = e.previousElementSibling;
1007              t ? a.matches(t) && s.push(a) : s.push(a), (e = a);
1008            }
1009            return s;
1010          })(o, `.${s.slideClass}, swiper-slide`)[0]),
1011          s.loop && 0 === !d && (d = t[t.length - 1]))),
1012        t.forEach((e) => {
1013          O(e, e === o, s.slideActiveClass),
1014            O(e, e === c, s.slideNextClass),
1015            O(e, e === d, s.slidePrevClass);
1016        }),
1017        e.emitSlidesClasses();
1018    },
1019    updateActiveIndex: function (e) {
1020      const t = this,
1021        s = t.rtlTranslate ? t.translate : -t.translate,
1022        {
1023          snapGrid: a,
1024          params: i,
1025          activeIndex: r,
1026          realIndex: n,
1027          snapIndex: l,
1028        } = t;
1029      let o,
1030        d = e;
1031      const c = (e) => {
1032        let s = e - t.virtual.slidesBefore;
1033        return (
1034          s < 0 && (s = t.virtual.slides.length + s),
1035          s >= t.virtual.slides.length && (s -= t.virtual.slides.length),
1036          s
1037        );
1038      };
1039      if (
1040        (void 0 === d &&
1041          (d = (function (e) {
1042            const { slidesGrid: t, params: s } = e,
1043              a = e.rtlTranslate ? e.translate : -e.translate;
1044            let i;
1045            for (let e = 0; e < t.length; e += 1)
1046              void 0 !== t[e + 1]
1047                ? a >= t[e] && a < t[e + 1] - (t[e + 1] - t[e]) / 2
1048                  ? (i = e)
1049                  : a >= t[e] && a < t[e + 1] && (i = e + 1)
1050                : a >= t[e] && (i = e);
1051            return (
1052              s.normalizeSlideIndex && (i < 0 || void 0 === i) && (i = 0), i
1053            );
1054          })(t)),
1055        a.indexOf(s) >= 0)
1056      )
1057        o = a.indexOf(s);
1058      else {
1059        const e = Math.min(i.slidesPerGroupSkip, d);
1060        o = e + Math.floor((d - e) / i.slidesPerGroup);
1061      }
1062      if ((o >= a.length && (o = a.length - 1), d === r && !t.params.loop))
1063        return void (o !== l && ((t.snapIndex = o), t.emit("snapIndexChange")));
1064      if (d === r && t.params.loop && t.virtual && t.params.virtual.enabled)
1065        return void (t.realIndex = c(d));
1066      const p = t.grid && i.grid && i.grid.rows > 1;
1067      let u;
1068      if (t.virtual && i.virtual.enabled && i.loop) u = c(d);
1069      else if (p) {
1070        const e = t.slides.find((e) => e.column === d);
1071        let s = parseInt(e.getAttribute("data-swiper-slide-index"), 10);
1072        Number.isNaN(s) && (s = Math.max(t.slides.indexOf(e), 0)),
1073          (u = Math.floor(s / i.grid.rows));
1074      } else if (t.slides[d]) {
1075        const e = t.slides[d].getAttribute("data-swiper-slide-index");
1076        u = e ? parseInt(e, 10) : d;
1077      } else u = d;
1078      Object.assign(t, {
1079        previousSnapIndex: l,
1080        snapIndex: o,
1081        previousRealIndex: n,
1082        realIndex: u,
1083        previousIndex: r,
1084        activeIndex: d,
1085      }),
1086        t.initialized && H(t),
1087        t.emit("activeIndexChange"),
1088        t.emit("snapIndexChange"),
1089        (t.initialized || t.params.runCallbacksOnInit) &&
1090          (n !== u && t.emit("realIndexChange"), t.emit("slideChange"));
1091    },
1092    updateClickedSlide: function (e, t) {
1093      const s = this,
1094        a = s.params;
1095      let i = e.closest(`.${a.slideClass}, swiper-slide`);
1096      !i &&
1097        s.isElement &&
1098        t &&
1099        t.length > 1 &&
1100        t.includes(e) &&
1101        [...t.slice(t.indexOf(e) + 1, t.length)].forEach((e) => {
1102          !i &&
1103            e.matches &&
1104            e.matches(`.${a.slideClass}, swiper-slide`) &&
1105            (i = e);
1106        });
1107      let r,
1108        n = !1;
1109      if (i)
1110        for (let e = 0; e < s.slides.length; e += 1)
1111          if (s.slides[e] === i) {
1112            (n = !0), (r = e);
1113            break;
1114          }
1115      if (!i || !n)
1116        return (s.clickedSlide = void 0), void (s.clickedIndex = void 0);
1117      (s.clickedSlide = i),
1118        s.virtual && s.params.virtual.enabled
1119          ? (s.clickedIndex = parseInt(
1120              i.getAttribute("data-swiper-slide-index"),
1121              10
1122            ))
1123          : (s.clickedIndex = r),
1124        a.slideToClickedSlide &&
1125          void 0 !== s.clickedIndex &&
1126          s.clickedIndex !== s.activeIndex &&
1127          s.slideToClickedSlide();
1128    },
1129  };
1130  var B = {
1131    getTranslate: function (e) {
1132      void 0 === e && (e = this.isHorizontal() ? "x" : "y");
1133      const { params: t, rtlTranslate: s, translate: a, wrapperEl: i } = this;
1134      if (t.virtualTranslate) return s ? -a : a;
1135      if (t.cssMode) return a;
1136      let r = d(i, e);
1137      return (r += this.cssOverflowAdjustment()), s && (r = -r), r || 0;
1138    },
1139    setTranslate: function (e, t) {
1140      const s = this,
1141        { rtlTranslate: a, params: i, wrapperEl: r, progress: n } = s;
1142      let l,
1143        o = 0,
1144        d = 0;
1145      s.isHorizontal() ? (o = a ? -e : e) : (d = e),
1146        i.roundLengths && ((o = Math.floor(o)), (d = Math.floor(d))),
1147        (s.previousTranslate = s.translate),
1148        (s.translate = s.isHorizontal() ? o : d),
1149        i.cssMode
1150          ? (r[s.isHorizontal() ? "scrollLeft" : "scrollTop"] = s.isHorizontal()
1151              ? -o
1152              : -d)
1153          : i.virtualTranslate ||
1154            (s.isHorizontal()
1155              ? (o -= s.cssOverflowAdjustment())
1156              : (d -= s.cssOverflowAdjustment()),
1157            (r.style.transform = `translate3d(${o}px, ${d}px, 0px)`));
1158      const c = s.maxTranslate() - s.minTranslate();
1159      (l = 0 === c ? 0 : (e - s.minTranslate()) / c),
1160        l !== n && s.updateProgress(e),
1161        s.emit("setTranslate", s.translate, t);
1162    },
1163    minTranslate: function () {
1164      return -this.snapGrid[0];
1165    },
1166    maxTranslate: function () {
1167      return -this.snapGrid[this.snapGrid.length - 1];
1168    },
1169    translateTo: function (e, t, s, a, i) {
1170      void 0 === e && (e = 0),
1171        void 0 === t && (t = this.params.speed),
1172        void 0 === s && (s = !0),
1173        void 0 === a && (a = !0);
1174      const r = this,
1175        { params: n, wrapperEl: l } = r;
1176      if (r.animating && n.preventInteractionOnTransition) return !1;
1177      const o = r.minTranslate(),
1178        d = r.maxTranslate();
1179      let c;
1180      if (
1181        ((c = a && e > o ? o : a && e < d ? d : e),
1182        r.updateProgress(c),
1183        n.cssMode)
1184      ) {
1185        const e = r.isHorizontal();
1186        if (0 === t) l[e ? "scrollLeft" : "scrollTop"] = -c;
1187        else {
1188          if (!r.support.smoothScroll)
1189            return (
1190              m({ swiper: r, targetPosition: -c, side: e ? "left" : "top" }), !0
1191            );
1192          l.scrollTo({ [e ? "left" : "top"]: -c, behavior: "smooth" });
1193        }
1194        return !0;
1195      }
1196      return (
1197        0 === t
1198          ? (r.setTransition(0),
1199            r.setTranslate(c),
1200            s &&
1201              (r.emit("beforeTransitionStart", t, i), r.emit("transitionEnd")))
1202          : (r.setTransition(t),
1203            r.setTranslate(c),
1204            s &&
1205              (r.emit("beforeTransitionStart", t, i),
1206              r.emit("transitionStart")),
1207            r.animating ||
1208              ((r.animating = !0),
1209              r.onTranslateToWrapperTransitionEnd ||
1210                (r.onTranslateToWrapperTransitionEnd = function (e) {
1211                  r &&
1212                    !r.destroyed &&
1213                    e.target === this &&
1214                    (r.wrapperEl.removeEventListener(
1215                      "transitionend",
1216                      r.onTranslateToWrapperTransitionEnd
1217                    ),
1218                    (r.onTranslateToWrapperTransitionEnd = null),
1219                    delete r.onTranslateToWrapperTransitionEnd,
1220                    (r.animating = !1),
1221                    s && r.emit("transitionEnd"));
1222                }),
1223              r.wrapperEl.addEventListener(
1224                "transitionend",
1225                r.onTranslateToWrapperTransitionEnd
1226              ))),
1227        !0
1228      );
1229    },
1230  };
1231  function Y(e) {
1232    let { swiper: t, runCallbacks: s, direction: a, step: i } = e;
1233    const { activeIndex: r, previousIndex: n } = t;
1234    let l = a;
1235    if (
1236      (l || (l = r > n ? "next" : r < n ? "prev" : "reset"),
1237      t.emit(`transition${i}`),
1238      s && r !== n)
1239    ) {
1240      if ("reset" === l) return void t.emit(`slideResetTransition${i}`);
1241      t.emit(`slideChangeTransition${i}`),
1242        "next" === l
1243          ? t.emit(`slideNextTransition${i}`)
1244          : t.emit(`slidePrevTransition${i}`);
1245    }
1246  }
1247  var N = {
1248    slideTo: function (e, t, s, a, i) {
1249      void 0 === e && (e = 0),
1250        void 0 === s && (s = !0),
1251        "string" == typeof e && (e = parseInt(e, 10));
1252      const r = this;
1253      let n = e;
1254      n < 0 && (n = 0);
1255      const {
1256        params: l,
1257        snapGrid: o,
1258        slidesGrid: d,
1259        previousIndex: c,
1260        activeIndex: p,
1261        rtlTranslate: u,
1262        wrapperEl: h,
1263        enabled: f,
1264      } = r;
1265      if (
1266        (!f && !a && !i) ||
1267        r.destroyed ||
1268        (r.animating && l.preventInteractionOnTransition)
1269      )
1270        return !1;
1271      void 0 === t && (t = r.params.speed);
1272      const g = Math.min(r.params.slidesPerGroupSkip, n);
1273      let v = g + Math.floor((n - g) / r.params.slidesPerGroup);
1274      v >= o.length && (v = o.length - 1);
1275      const w = -o[v];
1276      if (l.normalizeSlideIndex)
1277        for (let e = 0; e < d.length; e += 1) {
1278          const t = -Math.floor(100 * w),
1279            s = Math.floor(100 * d[e]),
1280            a = Math.floor(100 * d[e + 1]);
1281          void 0 !== d[e + 1]
1282            ? t >= s && t < a - (a - s) / 2
1283              ? (n = e)
1284              : t >= s && t < a && (n = e + 1)
1285            : t >= s && (n = e);
1286        }
1287      if (r.initialized && n !== p) {
1288        if (
1289          !r.allowSlideNext &&
1290          (u
1291            ? w > r.translate && w > r.minTranslate()
1292            : w < r.translate && w < r.minTranslate())
1293        )
1294          return !1;
1295        if (
1296          !r.allowSlidePrev &&
1297          w > r.translate &&
1298          w > r.maxTranslate() &&
1299          (p || 0) !== n
1300        )
1301          return !1;
1302      }
1303      let b;
1304      n !== (c || 0) && s && r.emit("beforeSlideChangeStart"),
1305        r.updateProgress(w),
1306        (b = n > p ? "next" : n < p ? "prev" : "reset");
1307      const y = r.virtual && r.params.virtual.enabled;
1308      if (!(y && i) && ((u && -w === r.translate) || (!u && w === r.translate)))
1309        return (
1310          r.updateActiveIndex(n),
1311          l.autoHeight && r.updateAutoHeight(),
1312          r.updateSlidesClasses(),
1313          "slide" !== l.effect && r.setTranslate(w),
1314          "reset" !== b && (r.transitionStart(s, b), r.transitionEnd(s, b)),
1315          !1
1316        );
1317      if (l.cssMode) {
1318        const e = r.isHorizontal(),
1319          s = u ? w : -w;
1320        if (0 === t)
1321          y &&
1322            ((r.wrapperEl.style.scrollSnapType = "none"),
1323            (r._immediateVirtual = !0)),
1324            y && !r._cssModeVirtualInitialSet && r.params.initialSlide > 0
1325              ? ((r._cssModeVirtualInitialSet = !0),
1326                requestAnimationFrame(() => {
1327                  h[e ? "scrollLeft" : "scrollTop"] = s;
1328                }))
1329              : (h[e ? "scrollLeft" : "scrollTop"] = s),
1330            y &&
1331              requestAnimationFrame(() => {
1332                (r.wrapperEl.style.scrollSnapType = ""),
1333                  (r._immediateVirtual = !1);
1334              });
1335        else {
1336          if (!r.support.smoothScroll)
1337            return (
1338              m({ swiper: r, targetPosition: s, side: e ? "left" : "top" }), !0
1339            );
1340          h.scrollTo({ [e ? "left" : "top"]: s, behavior: "smooth" });
1341        }
1342        return !0;
1343      }
1344      return (
1345        r.setTransition(t),
1346        r.setTranslate(w),
1347        r.updateActiveIndex(n),
1348        r.updateSlidesClasses(),
1349        r.emit("beforeTransitionStart", t, a),
1350        r.transitionStart(s, b),
1351        0 === t
1352          ? r.transitionEnd(s, b)
1353          : r.animating ||
1354            ((r.animating = !0),
1355            r.onSlideToWrapperTransitionEnd ||
1356              (r.onSlideToWrapperTransitionEnd = function (e) {
1357                r &&
1358                  !r.destroyed &&
1359                  e.target === this &&
1360                  (r.wrapperEl.removeEventListener(
1361                    "transitionend",
1362                    r.onSlideToWrapperTransitionEnd
1363                  ),
1364                  (r.onSlideToWrapperTransitionEnd = null),
1365                  delete r.onSlideToWrapperTransitionEnd,
1366                  r.transitionEnd(s, b));
1367              }),
1368            r.wrapperEl.addEventListener(
1369              "transitionend",
1370              r.onSlideToWrapperTransitionEnd
1371            )),
1372        !0
1373      );
1374    },
1375    slideToLoop: function (e, t, s, a) {
1376      if (
1377        (void 0 === e && (e = 0),
1378        void 0 === s && (s = !0),
1379        "string" == typeof e)
1380      ) {
1381        e = parseInt(e, 10);
1382      }
1383      const i = this;
1384      if (i.destroyed) return;
1385      void 0 === t && (t = i.params.speed);
1386      const r = i.grid && i.params.grid && i.params.grid.rows > 1;
1387      let n = e;
1388      if (i.params.loop)
1389        if (i.virtual && i.params.virtual.enabled) n += i.virtual.slidesBefore;
1390        else {
1391          let e;
1392          if (r) {
1393            const t = n * i.params.grid.rows;
1394            e = i.slides.find(
1395              (e) => 1 * e.getAttribute("data-swiper-slide-index") === t
1396            ).column;
1397          } else e = i.getSlideIndexByData(n);
1398          const t = r
1399              ? Math.ceil(i.slides.length / i.params.grid.rows)
1400              : i.slides.length,
1401            { centeredSlides: s } = i.params;
1402          let l = i.params.slidesPerView;
1403          "auto" === l
1404            ? (l = i.slidesPerViewDynamic())
1405            : ((l = Math.ceil(parseFloat(i.params.slidesPerView, 10))),
1406              s && l % 2 == 0 && (l += 1));
1407          let o = t - e < l;
1408          if (
1409            (s && (o = o || e < Math.ceil(l / 2)),
1410            a && s && "auto" !== i.params.slidesPerView && !r && (o = !1),
1411            o)
1412          ) {
1413            const a = s
1414              ? e < i.activeIndex
1415                ? "prev"
1416                : "next"
1417              : e - i.activeIndex - 1 < i.params.slidesPerView
1418              ? "next"
1419              : "prev";
1420            i.loopFix({
1421              direction: a,
1422              slideTo: !0,
1423              activeSlideIndex: "next" === a ? e + 1 : e - t + 1,
1424              slideRealIndex: "next" === a ? i.realIndex : void 0,
1425            });
1426          }
1427          if (r) {
1428            const e = n * i.params.grid.rows;
1429            n = i.slides.find(
1430              (t) => 1 * t.getAttribute("data-swiper-slide-index") === e
1431            ).column;
1432          } else n = i.getSlideIndexByData(n);
1433        }
1434      return (
1435        requestAnimationFrame(() => {
1436          i.slideTo(n, t, s, a);
1437        }),
1438        i
1439      );
1440    },
1441    slideNext: function (e, t, s) {
1442      void 0 === t && (t = !0);
1443      const a = this,
1444        { enabled: i, params: r, animating: n } = a;
1445      if (!i || a.destroyed) return a;
1446      void 0 === e && (e = a.params.speed);
1447      let l = r.slidesPerGroup;
1448      "auto" === r.slidesPerView &&
1449        1 === r.slidesPerGroup &&
1450        r.slidesPerGroupAuto &&
1451        (l = Math.max(a.slidesPerViewDynamic("current", !0), 1));
1452      const o = a.activeIndex < r.slidesPerGroupSkip ? 1 : l,
1453        d = a.virtual && r.virtual.enabled;
1454      if (r.loop) {
1455        if (n && !d && r.loopPreventsSliding) return !1;
1456        if (
1457          (a.loopFix({ direction: "next" }),
1458          (a._clientLeft = a.wrapperEl.clientLeft),
1459          a.activeIndex === a.slides.length - 1 && r.cssMode)
1460        )
1461          return (
1462            requestAnimationFrame(() => {
1463              a.slideTo(a.activeIndex + o, e, t, s);
1464            }),
1465            !0
1466          );
1467      }
1468      return r.rewind && a.isEnd
1469        ? a.slideTo(0, e, t, s)
1470        : a.slideTo(a.activeIndex + o, e, t, s);
1471    },
1472    slidePrev: function (e, t, s) {
1473      void 0 === t && (t = !0);
1474      const a = this,
1475        {
1476          params: i,
1477          snapGrid: r,
1478          slidesGrid: n,
1479          rtlTranslate: l,
1480          enabled: o,
1481          animating: d,
1482        } = a;
1483      if (!o || a.destroyed) return a;
1484      void 0 === e && (e = a.params.speed);
1485      const c = a.virtual && i.virtual.enabled;
1486      if (i.loop) {
1487        if (d && !c && i.loopPreventsSliding) return !1;
1488        a.loopFix({ direction: "prev" }),
1489          (a._clientLeft = a.wrapperEl.clientLeft);
1490      }
1491      function p(e) {
1492        return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e);
1493      }
1494      const u = p(l ? a.translate : -a.translate),
1495        m = r.map((e) => p(e));
1496      let h = r[m.indexOf(u) - 1];
1497      if (void 0 === h && i.cssMode) {
1498        let e;
1499        r.forEach((t, s) => {
1500          u >= t && (e = s);
1501        }),
1502          void 0 !== e && (h = r[e > 0 ? e - 1 : e]);
1503      }
1504      let f = 0;
1505      if (
1506        (void 0 !== h &&
1507          ((f = n.indexOf(h)),
1508          f < 0 && (f = a.activeIndex - 1),
1509          "auto" === i.slidesPerView &&
1510            1 === i.slidesPerGroup &&
1511            i.slidesPerGroupAuto &&
1512            ((f = f - a.slidesPerViewDynamic("previous", !0) + 1),
1513            (f = Math.max(f, 0)))),
1514        i.rewind && a.isBeginning)
1515      ) {
1516        const i =
1517          a.params.virtual && a.params.virtual.enabled && a.virtual
1518            ? a.virtual.slides.length - 1
1519            : a.slides.length - 1;
1520        return a.slideTo(i, e, t, s);
1521      }
1522      return i.loop && 0 === a.activeIndex && i.cssMode
1523        ? (requestAnimationFrame(() => {
1524            a.slideTo(f, e, t, s);
1525          }),
1526          !0)
1527        : a.slideTo(f, e, t, s);
1528    },
1529    slideReset: function (e, t, s) {
1530      void 0 === t && (t = !0);
1531      const a = this;
1532      if (!a.destroyed)
1533        return (
1534          void 0 === e && (e = a.params.speed),
1535          a.slideTo(a.activeIndex, e, t, s)
1536        );
1537    },
1538    slideToClosest: function (e, t, s, a) {
1539      void 0 === t && (t = !0), void 0 === a && (a = 0.5);
1540      const i = this;
1541      if (i.destroyed) return;
1542      void 0 === e && (e = i.params.speed);
1543      let r = i.activeIndex;
1544      const n = Math.min(i.params.slidesPerGroupSkip, r),
1545        l = n + Math.floor((r - n) / i.params.slidesPerGroup),
1546        o = i.rtlTranslate ? i.translate : -i.translate;
1547      if (o >= i.snapGrid[l]) {
1548        const e = i.snapGrid[l];
1549        o - e > (i.snapGrid[l + 1] - e) * a && (r += i.params.slidesPerGroup);
1550      } else {
1551        const e = i.snapGrid[l - 1];
1552        o - e <= (i.snapGrid[l] - e) * a && (r -= i.params.slidesPerGroup);
1553      }
1554      return (
1555        (r = Math.max(r, 0)),
1556        (r = Math.min(r, i.slidesGrid.length - 1)),
1557        i.slideTo(r, e, t, s)
1558      );
1559    },
1560    slideToClickedSlide: function () {
1561      const e = this;
1562      if (e.destroyed) return;
1563      const { params: t, slidesEl: s } = e,
1564        a =
1565          "auto" === t.slidesPerView
1566            ? e.slidesPerViewDynamic()
1567            : t.slidesPerView;
1568      let i,
1569        r = e.clickedIndex;
1570      const n = e.isElement ? "swiper-slide" : `.${t.slideClass}`;
1571      if (t.loop) {
1572        if (e.animating) return;
1573        (i = parseInt(
1574          e.clickedSlide.getAttribute("data-swiper-slide-index"),
1575          10
1576        )),
1577          t.centeredSlides
1578            ? r < e.loopedSlides - a / 2 ||
1579              r > e.slides.length - e.loopedSlides + a / 2
1580              ? (e.loopFix(),
1581                (r = e.getSlideIndex(
1582                  f(s, `${n}[data-swiper-slide-index="${i}"]`)[0]
1583                )),
1584                l(() => {
1585                  e.slideTo(r);
1586                }))
1587              : e.slideTo(r)
1588            : r > e.slides.length - a
1589            ? (e.loopFix(),
1590              (r = e.getSlideIndex(
1591                f(s, `${n}[data-swiper-slide-index="${i}"]`)[0]
1592              )),
1593              l(() => {
1594                e.slideTo(r);
1595              }))
1596            : e.slideTo(r);
1597      } else e.slideTo(r);
1598    },
1599  };
1600  var R = {
1601    loopCreate: function (e) {
1602      const t = this,
1603        { params: s, slidesEl: a } = t;
1604      if (!s.loop || (t.virtual && t.params.virtual.enabled)) return;
1605      const i = () => {
1606          f(a, `.${s.slideClass}, swiper-slide`).forEach((e, t) => {
1607            e.setAttribute("data-swiper-slide-index", t);
1608          });
1609        },
1610        r = t.grid && s.grid && s.grid.rows > 1,
1611        n = s.slidesPerGroup * (r ? s.grid.rows : 1),
1612        l = t.slides.length % n != 0,
1613        o = r && t.slides.length % s.grid.rows != 0,
1614        d = (e) => {
1615          for (let a = 0; a < e; a += 1) {
1616            const e = t.isElement
1617              ? v("swiper-slide", [s.slideBlankClass])
1618              : v("div", [s.slideClass, s.slideBlankClass]);
1619            t.slidesEl.append(e);
1620          }
1621        };
1622      if (l) {
1623        if (s.loopAddBlankSlides) {
1624          d(n - (t.slides.length % n)), t.recalcSlides(), t.updateSlides();
1625        } else
1626          g(
1627            "Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may 
1627not function properly. You need to add more slides (or make duplicates, or empty slides)"
1628          );
1629        i();
1630      } else if (o) {
1631        if (s.loopAddBlankSlides) {
1632          d(s.grid.rows - (t.slides.length % s.grid.rows)),
1633            t.recalcSlides(),
1634            t.updateSlides();
1635        } else
1636          g(
1637            "Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)"
1638          );
1639        i();
1640      } else i();
1641      t.loopFix({
1642        slideRealIndex: e,
1643        direction: s.centeredSlides ? void 0 : "next",
1644      });
1645    },
1646    loopFix: function (e) {
1647      let {
1648        slideRealIndex: t,
1649        slideTo: s = !0,
1650        direction: a,
1651        setTranslate: i,
1652        activeSlideIndex: r,
1653        byController: n,
1654        byMousewheel: l,
1655      } = void 0 === e ? {} : e;
1656      const o = this;
1657      if (!o.params.loop) return;
1658      o.emit("beforeLoopFix");
1659      const {
1660          slides: d,
1661          allowSlidePrev: c,
1662          allowSlideNext: p,
1663          slidesEl: u,
1664          params: m,
1665        } = o,
1666        { centeredSlides: h } = m;
1667      if (
1668        ((o.allowSlidePrev = !0),
1669        (o.allowSlideNext = !0),
1670        o.virtual && m.virtual.enabled)
1671      )
1672        return (
1673          s &&
1674            (m.centeredSlides || 0 !== o.snapIndex
1675              ? m.centeredSlides && o.snapIndex < m.slidesPerView
1676                ? o.slideTo(o.virtual.slides.length + o.snapIndex, 0, !1, !0)
1677                : o.snapIndex === o.snapGrid.length - 1 &&
1678                  o.slideTo(o.virtual.slidesBefore, 0, !1, !0)
1679              : o.slideTo(o.virtual.slides.length, 0, !1, !0)),
1680          (o.allowSlidePrev = c),
1681          (o.allowSlideNext = p),
1682          void o.emit("loopFix")
1683        );
1684      let f = m.slidesPerView;
1685      "auto" === f
1686        ? (f = o.slidesPerViewDynamic())
1687        : ((f = Math.ceil(parseFloat(m.slidesPerView, 10))),
1688          h && f % 2 == 0 && (f += 1));
1689      const v = m.slidesPerGroupAuto ? f : m.slidesPerGroup;
1690      let w = v;
1691      w % v != 0 && (w += v - (w % v)),
1692        (w += m.loopAdditionalSlides),
1693        (o.loopedSlides = w);
1694      const b = o.grid && m.grid && m.grid.rows > 1;
1695      d.length < f + w
1696        ? g(
1697            "Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled and not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"
1698          )
1699        : b &&
1700          "row" === m.grid.fill &&
1701          g(
1702            "Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`"
1703          );
1704      const y = [],
1705        E = [];
1706      let x = o.activeIndex;
1707      void 0 === r
1708        ? (r = o.getSlideIndex(
1709            d.find((e) => e.classList.contains(m.slideActiveClass))
1710          ))
1711        : (x = r);
1712      const S = "next" === a || !a,
1713        T = "prev" === a || !a;
1714      let M = 0,
1715        C = 0;
1716      const P = b ? Math.ceil(d.length / m.grid.rows) : d.length,
1717        L = (b ? d[r].column : r) + (h && void 0 === i ? -f / 2 + 0.5 : 0);
1718      if (L < w) {
1719        M = Math.max(w - L, v);
1720        for (let e = 0; e < w - L; e += 1) {
1721          const t = e - Math.floor(e / P) * P;
1722          if (b) {
1723            const e = P - t - 1;
1724            for (let t = d.length - 1; t >= 0; t -= 1)
1725              d[t].column === e && y.push(t);
1726          } else y.push(P - t - 1);
1727        }
1728      } else if (L + f > P - w) {
1729        C = Math.max(L - (P - 2 * w), v);
1730        for (let e = 0; e < C; e += 1) {
1731          const t = e - Math.floor(e / P) * P;
1732          b
1733            ? d.forEach((e, s) => {
1734                e.column === t && E.push(s);
1735              })
1736            : E.push(t);
1737        }
1738      }
1739      if (
1740        ((o.__preventObserver__ = !0),
1741        requestAnimationFrame(() => {
1742          o.__preventObserver__ = !1;
1743        }),
1744        T &&
1745          y.forEach((e) => {
1746            (d[e].swiperLoopMoveDOM = !0),
1747              u.prepend(d[e]),
1748              (d[e].swiperLoopMoveDOM = !1);
1749          }),
1750        S &&
1751          E.forEach((e) => {
1752            (d[e].swiperLoopMoveDOM = !0),
1753              u.append(d[e]),
1754              (d[e].swiperLoopMoveDOM = !1);
1755          }),
1756        o.recalcSlides(),
1757        "auto" === m.slidesPerView
1758          ? o.updateSlides()
1759          : b &&
1760            ((y.length > 0 && T) || (E.length > 0 && S)) &&
1761            o.slides.forEach((e, t) => {
1762              o.grid.updateSlide(t, e, o.slides);
1763            }),
1764        m.watchSlidesProgress && o.updateSlidesOffset(),
1765        s)
1766      )
1767        if (y.length > 0 && T) {
1768          if (void 0 === t) {
1769            const e = o.slidesGrid[x],
1770              t = o.slidesGrid[x + M] - e;
1771            l
1772              ? o.setTranslate(o.translate - t)
1773              : (o.slideTo(x + Math.ceil(M), 0, !1, !0),
1774                i &&
1775                  ((o.touchEventsData.startTranslate =
1776                    o.touchEventsData.startTranslate - t),
1777                  (o.touchEventsData.currentTranslate =
1778                    o.touchEventsData.currentTranslate - t)));
1779          } else if (i) {
1780            const e = b ? y.length / m.grid.rows : y.length;
1781            o.slideTo(o.activeIndex + e, 0, !1, !0),
1782              (o.touchEventsData.currentTranslate = o.translate);
1783          }
1784        } else if (E.length > 0 && S)
1785          if (void 0 === t) {
1786            const e = o.slidesGrid[x],
1787              t = o.slidesGrid[x - C] - e;
1788            l
1789              ? o.setTranslate(o.translate - t)
1790              : (o.slideTo(x - C, 0, !1, !0),
1791                i &&
1792                  ((o.touchEventsData.startTranslate =
1793                    o.touchEventsData.startTranslate - t),
1794                  (o.touchEventsData.currentTranslate =
1795                    o.touchEventsData.currentTranslate - t)));
1796          } else {
1797            const e = b ? E.length / m.grid.rows : E.length;
1798            o.slideTo(o.activeIndex - e, 0, !1, !0);
1799          }
1800      if (
1801        ((o.allowSlidePrev = c),
1802        (o.allowSlideNext = p),
1803        o.controller && o.controller.control && !n)
1804      ) {
1805        const e = {
1806          slideRealIndex: t,
1807          direction: a,
1808          setTranslate: i,
1809          activeSlideIndex: r,
1810          byController: !0,
1811        };
1812        Array.isArray(o.controller.control)
1813          ? o.controller.control.forEach((t) => {
1814              !t.destroyed &&
1815                t.params.loop &&
1816                t.loopFix({
1817                  ...e,
1818                  slideTo: t.params.slidesPerView === m.slidesPerView && s,
1819                });
1820            })
1821          : o.controller.control instanceof o.constructor &&
1822            o.controller.control.params.loop &&
1823            o.controller.control.loopFix({
1824              ...e,
1825              slideTo:
1826                o.controller.control.params.slidesPerView === m.slidesPerView &&
1827                s,
1828            });
1829      }
1830      o.emit("loopFix");
1831    },
1832    loopDestroy: function () {
1833      const e = this,
1834        { params: t, slidesEl: s } = e;
1835      if (!t.loop || (e.virtual && e.params.virtual.enabled)) return;
1836      e.recalcSlides();
1837      const a = [];
1838      e.slides.forEach((e) => {
1839        const t =
1840          void 0 === e.swiperSlideIndex
1841            ? 1 * e.getAttribute("data-swiper-slide-index")
1842            : e.swiperSlideIndex;
1843        a[t] = e;
1844      }),
1845        e.slides.forEach((e) => {
1846          e.removeAttribute("data-swiper-slide-index");
1847        }),
1848        a.forEach((e) => {
1849          s.append(e);
1850        }),
1851        e.recalcSlides(),
1852        e.slideTo(e.realIndex, 0);
1853    },
1854  };
1855  function q(e, t, s) {
1856    const a = r(),
1857      { params: i } = e,
1858      n = i.edgeSwipeDetection,
1859      l = i.edgeSwipeThreshold;
1860    return (
1861      !n ||
1862      !(s <= l || s >= a.innerWidth - l) ||
1863      ("prevent" === n && (t.preventDefault(), !0))
1864    );
1865  }
1866  function F(e) {
1867    const t = this,
1868      s = a();
1869    let i = e;
1870    i.originalEvent && (i = i.originalEvent);
1871    const n = t.touchEventsData;
1872    if ("pointerdown" === i.type) {
1873      if (null !== n.pointerId && n.pointerId !== i.pointerId) return;
1874      n.pointerId = i.pointerId;
1875    } else
1876      "touchstart" === i.type &&
1877        1 === i.targetTouches.length &&
1878        (n.touchId = i.targetTouches[0].identifier);
1879    if ("touchstart" === i.type) return void q(t, i, i.targetTouches[0].pageX);
1880    const { params: l, touches: d, enabled: c } = t;
1881    if (!c) return;
1882    if (!l.simulateTouch && "mouse" === i.pointerType) return;
1883    if (t.animating && l.preventInteractionOnTransition) return;
1884    !t.animating && l.cssMode && l.loop && t.loopFix();
1885    let p = i.target;
1886    if (
1887      "wrapper" === l.touchEventsTarget &&
1888      !(function (e, t) {
1889        const s = r();
1890        let a = t.contains(e);
1891        !a &&
1892          s.HTMLSlotElement &&
1893          t instanceof HTMLSlotElement &&
1894          ((a = [...t.assignedElements()].includes(e)),
1895          a ||
1896            (a = (function (e, t) {
1897              const s = [t];
1898              for (; s.length > 0; ) {
1899                const t = s.shift();
1900                if (e === t) return !0;
1901                s.push(
1902                  ...t.children,
1903                  ...(t.shadowRoot?.children || []),
1904                  ...(t.assignedElements?.() || [])
1905                );
1906              }
1907            })(e, t)));
1908        return a;
1909      })(p, t.wrapperEl)
1910    )
1911      return;
1912    if ("which" in i && 3 === i.which) return;
1913    if ("button" in i && i.button > 0) return;
1914    if (n.isTouched && n.isMoved) return;
1915    const u = !!l.noSwipingClass && "" !== l.noSwipingClass,
1916      m = i.composedPath ? i.composedPath() : i.path;
1917    u && i.target && i.target.shadowRoot && m && (p = m[0]);
1918    const h = l.noSwipingSelector
1919        ? l.noSwipingSelector
1920        : `.${l.noSwipingClass}`,
1921      f = !(!i.target || !i.target.shadowRoot);
1922    if (
1923      l.noSwiping &&
1924      (f
1925        ? (function (e, t) {
1926            return (
1927              void 0 === t && (t = this),
1928              (function t(s) {
1929                if (!s || s === a() || s === r()) return null;
1930                s.assignedSlot && (s = s.assignedSlot);
1931                const i = s.closest(e);
1932                return i || s.getRootNode ? i || t(s.getRootNode().host) : null;
1933              })(t)
1934            );
1935          })(h, p)
1936        : p.closest(h))
1937    )
1938      return void (t.allowClick = !0);
1939    if (l.swipeHandler && !p.closest(l.swipeHandler)) return;
1940    (d.currentX = i.pageX), (d.currentY = i.pageY);
1941    const g = d.currentX,
1942      v = d.currentY;
1943    if (!q(t, i, g)) return;
1944    Object.assign(n, {
1945      isTouched: !0,
1946      isMoved: !1,
1947      allowTouchCallbacks: !0,
1948      isScrolling: void 0,
1949      startMoving: void 0,
1950    }),
1951      (d.startX = g),
1952      (d.startY = v),
1953      (n.touchStartTime = o()),
1954      (t.allowClick = !0),
1955      t.updateSize(),
1956      (t.swipeDirection = void 0),
1957      l.threshold > 0 && (n.allowThresholdMove = !1);
1958    let w = !0;
1959    p.matches(n.focusableElements) &&
1960      ((w = !1), "SELECT" === p.nodeName && (n.isTouched = !1)),
1961      s.activeElement &&
1962        s.activeElement.matches(n.focusableElements) &&
1963        s.activeElement !== p &&
1964        ("mouse" === i.pointerType ||
1965          ("mouse" !== i.pointerType && !p.matches(n.focusableElements))) &&
1966        s.activeElement.blur();
1967    const b = w && t.allowTouchMove && l.touchStartPreventDefault;
1968    (!l.touchStartForcePreventDefault && !b) ||
1969      p.isContentEditable ||
1970      i.preventDefault(),
1971      l.freeMode &&
1972        l.freeMode.enabled &&
1973        t.freeMode &&
1974        t.animating &&
1975        !l.cssMode &&
1976        t.freeMode.onTouchStart(),
1977      t.emit("touchStart", i);
1978  }
1979  function V(e) {
1980    const t = a(),
1981      s = this,
1982      i = s.touchEventsData,
1983      { params: r, touches: n, rtlTranslate: l, enabled: d } = s;
1984    if (!d) return;
1985    if (!r.simulateTouch && "mouse" === e.pointerType) return;
1986    let c,
1987      p = e;
1988    if ((p.originalEvent && (p = p.originalEvent), "pointermove" === p.type)) {
1989      if (null !== i.touchId) return;
1990      if (p.pointerId !== i.pointerId) return;
1991    }
1992    if ("touchmove" === p.type) {
1993      if (
1994        ((c = [...p.changedTouches].find((e) => e.identifier === i.touchId)),
1995        !c || c.identifier !== i.touchId)
1996      )
1997        return;
1998    } else c = p;
1999    if (!i.isTouched)
2000      return void (
2001        i.startMoving &&
2002        i.isScrolling &&
2003        s.emit("touchMoveOpposite", p)
2004      );
2005    const u = c.pageX,
2006      m = c.pageY;
2007    if (p.preventedByNestedSwiper) return (n.startX = u), void (n.startY = m);
2008    if (!s.allowTouchMove)
2009      return (
2010        p.target.matches(i.focusableElements) || (s.allowClick = !1),
2011        void (
2012          i.isTouched &&
2013          (Object.assign(n, { startX: u, startY: m, currentX: u, currentY: m }),
2014          (i.touchStartTime = o()))
2015        )
2016      );
2017    if (r.touchReleaseOnEdges && !r.loop)
2018      if (s.isVertical()) {
2019        if (
2020          (m < n.startY && s.translate <= s.maxTranslate()) ||
2021          (m > n.startY && s.translate >= s.minTranslate())
2022        )
2023          return (i.isTouched = !1), void (i.isMoved = !1);
2024      } else if (
2025        (u < n.startX && s.translate <= s.maxTranslate()) ||
2026        (u > n.startX && s.translate >= s.minTranslate())
2027      )
2028        return;
2029    if (
2030      (t.activeElement &&
2031        t.activeElement.matches(i.focusableElements) &&
2032        t.activeElement !== p.target &&
2033        "mouse" !== p.pointerType &&
2034        t.activeElement.blur(),
2035      t.activeElement &&
2036        p.target === t.activeElement &&
2037        p.target.matches(i.focusableElements))
2038    )
2039      return (i.isMoved = !0), void (s.allowClick = !1);
2040    i.allowTouchCallbacks && s.emit("touchMove", p),
2041      (n.previousX = n.currentX),
2042      (n.previousY = n.currentY),
2043      (n.currentX = u),
2044      (n.currentY = m);
2045    const h = n.currentX - n.startX,
2046      f = n.currentY - n.startY;
2047    if (s.params.threshold && Math.sqrt(h ** 2 + f ** 2) < s.params.threshold)
2048      return;
2049    if (void 0 === i.isScrolling) {
2050      let e;
2051      (s.isHorizontal() && n.currentY === n.startY) ||
2052      (s.isVertical() && n.currentX === n.startX)
2053        ? (i.isScrolling = !1)
2054        : h * h + f * f >= 25 &&
2055          ((e = (180 * Math.atan2(Math.abs(f), Math.abs(h))) / Math.PI),
2056          (i.isScrolling = s.isHorizontal()
2057            ? e > r.touchAngle
2058            : 90 - e > r.touchAngle));
2059    }
2060    if (
2061      (i.isScrolling && s.emit("touchMoveOpposite", p),
2062      void 0 === i.startMoving &&
2063        ((n.currentX === n.startX && n.currentY === n.startY) ||
2064          (i.startMoving = !0)),
2065      i.isScrolling ||
2066        ("touchmove" === p.type && i.preventTouchMoveFromPointerMove))
2067    )
2068      return void (i.isTouched = !1);
2069    if (!i.startMoving) return;
2070    (s.allowClick = !1),
2071      !r.cssMode && p.cancelable && p.preventDefault(),
2072      r.touchMoveStopPropagation && !r.nested && p.stopPropagation();
2073    let g = s.isHorizontal() ? h : f,
2074      v = s.isHorizontal()
2075        ? n.currentX - n.previousX
2076        : n.currentY - n.previousY;
2077    r.oneWayMovement &&
2078      ((g = Math.abs(g) * (l ? 1 : -1)), (v = Math.abs(v) * (l ? 1 : -1))),
2079      (n.diff = g),
2080      (g *= r.touchRatio),
2081      l && ((g = -g), (v = -v));
2082    const w = s.touchesDirection;
2083    (s.swipeDirection = g > 0 ? "prev" : "next"),
2084      (s.touchesDirection = v > 0 ? "prev" : "next");
2085    const b = s.params.loop && !r.cssMode,
2086      y =
2087        ("next" === s.touchesDirection && s.allowSlideNext) ||
2088        ("prev" === s.touchesDirection && s.allowSlidePrev);
2089    if (!i.isMoved) {
2090      if (
2091        (b && y && s.loopFix({ direction: s.swipeDirection }),
2092        (i.startTranslate = s.getTranslate()),
2093        s.setTransition(0),
2094        s.animating)
2095      ) {
2096        const e = new window.CustomEvent("transitionend", {
2097          bubbles: !0,
2098          cancelable: !0,
2099          detail: { bySwiperTouchMove: !0 },
2100        });
2101        s.wrapperEl.dispatchEvent(e);
2102      }
2103      (i.allowMomentumBounce = !1),
2104        !r.grabCursor ||
2105          (!0 !== s.allowSlideNext && !0 !== s.allowSlidePrev) ||
2106          s.setGrabCursor(!0),
2107        s.emit("sliderFirstMove", p);
2108    }
2109    if (
2110      (new Date().getTime(),
2111      i.isMoved &&
2112        i.allowThresholdMove &&
2113        w !== s.touchesDirection &&
2114        b &&
2115        y &&
2116        Math.abs(g) >= 1)
2117    )
2118      return (
2119        Object.assign(n, {
2120          startX: u,
2121          startY: m,
2122          currentX: u,
2123          currentY: m,
2124          startTranslate: i.currentTranslate,
2125        }),
2126        (i.loopSwapReset = !0),
2127        void (i.startTranslate = i.currentTranslate)
2128      );
2129    s.emit("sliderMove", p),
2130      (i.isMoved = !0),
2131      (i.currentTranslate = g + i.startTranslate);
2132    let E = !0,
2133      x = r.resistanceRatio;
2134    if (
2135      (r.touchReleaseOnEdges && (x = 0),
2136      g > 0
2137        ? (b &&
2138            y &&
2139            i.allowThresholdMove &&
2140            i.currentTranslate >
2141              (r.centeredSlides
2142                ? s.minTranslate() -
2143                  s.slidesSizesGrid[s.activeIndex + 1] -
2144                  ("auto" !== r.slidesPerView &&
2145                  s.slides.length - r.slidesPerView >= 2
2146                    ? s.slidesSizesGrid[s.activeIndex + 1] +
2147                      s.params.spaceBetween
2148                    : 0) -
2149                  s.params.spaceBetween
2150                : s.minTranslate()) &&
2151            s.loopFix({
2152              direction: "prev",
2153              setTranslate: !0,
2154              activeSlideIndex: 0,
2155            }),
2156          i.currentTranslate > s.minTranslate() &&
2157            ((E = !1),
2158            r.resistance &&
2159              (i.currentTranslate =
2160                s.minTranslate() -
2161                1 +
2162                (-s.minTranslate() + i.startTranslate + g) ** x)))
2163        : g < 0 &&
2164          (b &&
2165            y &&
2166            i.allowThresholdMove &&
2167            i.currentTranslate <
2168              (r.centeredSlides
2169                ? s.maxTranslate() +
2170                  s.slidesSizesGrid[s.slidesSizesGrid.length - 1] +
2171                  s.params.spaceBetween +
2172                  ("auto" !== r.slidesPerView &&
2173                  s.slides.length - r.slidesPerView >= 2
2174                    ? s.slidesSizesGrid[s.slidesSizesGrid.length - 1] +
2175                      s.params.spaceBetween
2176                    : 0)
2177                : s.maxTranslate()) &&
2178            s.loopFix({
2179              direction: "next",
2180              setTranslate: !0,
2181              activeSlideIndex:
2182                s.slides.length -
2183                ("auto" === r.slidesPerView
2184                  ? s.slidesPerViewDynamic()
2185                  : Math.ceil(parseFloat(r.slidesPerView, 10))),
2186            }),
2187          i.currentTranslate < s.maxTranslate() &&
2188            ((E = !1),
2189            r.resistance &&
2190              (i.currentTranslate =
2191                s.maxTranslate() +
2192                1 -
2193                (s.maxTranslate() - i.startTranslate - g) ** x))),
2194      E && (p.preventedByNestedSwiper = !0),
2195      !s.allowSlideNext &&
2196        "next" === s.swipeDirection &&
2197        i.currentTranslate < i.startTranslate &&
2198        (i.currentTranslate = i.startTranslate),
2199      !s.allowSlidePrev &&
2200        "prev" === s.swipeDirection &&
2201        i.currentTranslate > i.startTranslate &&
2202        (i.currentTranslate = i.startTranslate),
2203      s.allowSlidePrev ||
2204        s.allowSlideNext ||
2205        (i.currentTranslate = i.startTranslate),
2206      r.threshold > 0)
2207    ) {
2208      if (!(Math.abs(g) > r.threshold || i.allowThresholdMove))
2209        return void (i.currentTranslate = i.startTranslate);
2210      if (!i.allowThresholdMove)
2211        return (
2212          (i.allowThresholdMove = !0),
2213          (n.startX = n.currentX),
2214          (n.startY = n.currentY),
2215          (i.currentTranslate = i.startTranslate),
2216          void (n.diff = s.isHorizontal()
2217            ? n.currentX - n.startX
2218            : n.currentY - n.startY)
2219        );
2220    }
2221    r.followFinger &&
2222      !r.cssMode &&
2223      (((r.freeMode && r.freeMode.enabled && s.freeMode) ||
2224        r.watchSlidesProgress) &&
2225        (s.updateActiveIndex(), s.updateSlidesClasses()),
2226      r.freeMode &&
2227        r.freeMode.enabled &&
2228        s.freeMode &&
2229        s.freeMode.onTouchMove(),
2230      s.updateProgress(i.currentTranslate),
2231      s.setTranslate(i.currentTranslate));
2232  }
2233  function _(e) {
2234    const t = this,
2235      s = t.touchEventsData;
2236    let a,
2237      i = e;
2238    i.originalEvent && (i = i.originalEvent);
2239    if ("touchend" === i.type || "touchcancel" === i.type) {
2240      if (
2241        ((a = [...i.changedTouches].find((e) => e.identifier === s.touchId)),
2242        !a || a.identifier !== s.touchId)
2243      )
2244        return;
2245    } else {
2246      if (null !== s.touchId) return;
2247      if (i.pointerId !== s.pointerId) return;
2248      a = i;
2249    }
2250    if (
2251      ["pointercancel", "pointerout", "pointerleave", "contextmenu"].includes(
2252        i.type
2253      )
2254    ) {
2255      if (
2256        !(
2257          ["pointercancel", "contextmenu"].includes(i.type) &&
2258          (t.browser.isSafari || t.browser.isWebView)
2259        )
2260      )
2261        return;
2262    }
2263    (s.pointerId = null), (s.touchId = null);
2264    const {
2265      params: r,
2266      touches: n,
2267      rtlTranslate: d,
2268      slidesGrid: c,
2269      enabled: p,
2270    } = t;
2271    if (!p) return;
2272    if (!r.simulateTouch && "mouse" === i.pointerType) return;
2273    if (
2274      (s.allowTouchCallbacks && t.emit("touchEnd", i),
2275      (s.allowTouchCallbacks = !1),
2276      !s.isTouched)
2277    )
2278      return (
2279        s.isMoved && r.grabCursor && t.setGrabCursor(!1),
2280        (s.isMoved = !1),
2281        void (s.startMoving = !1)
2282      );
2283    r.grabCursor &&
2284      s.isMoved &&
2285      s.isTouched &&
2286      (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) &&
2287      t.setGrabCursor(!1);
2288    const u = o(),
2289      m = u - s.touchStartTime;
2290    if (t.allowClick) {
2291      const e = i.path || (i.composedPath && i.composedPath());
2292      t.updateClickedSlide((e && e[0]) || i.target, e),
2293        t.emit("tap click", i),
2294        m < 300 &&
2295          u - s.lastClickTime < 300 &&
2296          t.emit("doubleTap doubleClick", i);
2297    }
2298    if (
2299      ((s.lastClickTime = o()),
2300      l(() => {
2301        t.destroyed || (t.allowClick = !0);
2302      }),
2303      !s.isTouched ||
2304        !s.isMoved ||
2305        !t.swipeDirection ||
2306        (0 === n.diff && !s.loopSwapReset) ||
2307        (s.currentTranslate === s.startTranslate && !s.loopSwapReset))
2308    )
2309      return (s.isTouched = !1), (s.isMoved = !1), void (s.startMoving = !1);
2310    let h;
2311    if (
2312      ((s.isTouched = !1),
2313      (s.isMoved = !1),
2314      (s.startMoving = !1),
2315      (h = r.followFinger
2316        ? d
2317          ? t.translate
2318          : -t.translate
2319        : -s.currentTranslate),
2320      r.cssMode)
2321    )
2322      return;
2323    if (r.freeMode && r.freeMode.enabled)
2324      return void t.freeMode.onTouchEnd({ currentPos: h });
2325    const f = h >= -t.maxTranslate() && !t.params.loop;
2326    let g = 0,
2327      v = t.slidesSizesGrid[0];
2328    for (
2329      let e = 0;
2330      e < c.length;
2331      e += e < r.slidesPerGroupSkip ? 1 : r.slidesPerGroup
2332    ) {
2333      const t = e < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup;
2334      void 0 !== c[e + t]
2335        ? (f || (h >= c[e] && h < c[e + t])) && ((g = e), (v = c[e + t] - c[e]))
2336        : (f || h >= c[e]) &&
2337          ((g = e), (v = c[c.length - 1] - c[c.length - 2]));
2338    }
2339    let w = null,
2340      b = null;
2341    r.rewind &&
2342      (t.isBeginning
2343        ? (b =
2344            r.virtual && r.virtual.enabled && t.virtual
2345              ? t.virtual.slides.length - 1
2346              : t.slides.length - 1)
2347        : t.isEnd && (w = 0));
2348    const y = (h - c[g]) / v,
2349      E = g < r.slidesPerGroupSkip - 1 ? 1 : r.slidesPerGroup;
2350    if (m > r.longSwipesMs) {
2351      if (!r.longSwipes) return void t.slideTo(t.activeIndex);
2352      "next" === t.swipeDirection &&
2353        (y >= r.longSwipesRatio
2354          ? t.slideTo(r.rewind && t.isEnd ? w : g + E)
2355          : t.slideTo(g)),
2356        "prev" === t.swipeDirection &&
2357          (y > 1 - r.longSwipesRatio
2358            ? t.slideTo(g + E)
2359            : null !== b && y < 0 && Math.abs(y) > r.longSwipesRatio
2360            ? t.slideTo(b)
2361            : t.slideTo(g));
2362    } else {
2363      if (!r.shortSwipes) return void t.slideTo(t.activeIndex);
2364      t.navigation &&
2365      (i.target === t.navigation.nextEl || i.target === t.navigation.prevEl)
2366        ? i.target === t.navigation.nextEl
2367          ? t.slideTo(g + E)
2368          : t.slideTo(g)
2369        : ("next" === t.swipeDirection && t.slideTo(null !== w ? w : g + E),
2370          "prev" === t.swipeDirection && t.slideTo(null !== b ? b : g));
2371    }
2372  }
2373  function W() {
2374    const e = this,
2375      { params: t, el: s } = e;
2376    if (s && 0 === s.offsetWidth) return;
2377    t.breakpoints && e.setBreakpoint();
2378    const { allowSlideNext: a, allowSlidePrev: i, snapGrid: r } = e,
2379      n = e.virtual && e.params.virtual.enabled;
2380    (e.allowSlideNext = !0),
2381      (e.allowSlidePrev = !0),
2382      e.updateSize(),
2383      e.updateSlides(),
2384      e.updateSlidesClasses();
2385    const l = n && t.loop;
2386    !("auto" === t.slidesPerView || t.slidesPerView > 1) ||
2387    !e.isEnd ||
2388    e.isBeginning ||
2389    e.params.centeredSlides ||
2390    l
2391      ? e.params.loop && !n
2392        ? e.slideToLoop(e.realIndex, 0, !1, !0)
2393        : e.slideTo(e.activeIndex, 0, !1, !0)
2394      : e.slideTo(e.slides.length - 1, 0, !1, !0),
2395      e.autoplay &&
2396        e.autoplay.running &&
2397        e.autoplay.paused &&
2398        (clearTimeout(e.autoplay.resizeTimeout),
2399        (e.autoplay.resizeTimeout = setTimeout(() => {
2400          e.autoplay &&
2401            e.autoplay.running &&
2402            e.autoplay.paused &&
2403            e.autoplay.resume();
2404        }, 500))),
2405      (e.allowSlidePrev = i),
2406      (e.allowSlideNext = a),
2407      e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow();
2408  }
2409  function j(e) {
2410    const t = this;
2411    t.enabled &&
2412      (t.allowClick ||
2413        (t.params.preventClicks && e.preventDefault(),
2414        t.params.preventClicksPropagation &&
2415          t.animating &&
2416          (e.stopPropagation(), e.stopImmediatePropagation())));
2417  }
2418  function U() {
2419    const e = this,
2420      { wrapperEl: t, rtlTranslate: s, enabled: a } = e;
2421    if (!a) return;
2422    let i;
2423    (e.previousTranslate = e.translate),
2424      e.isHorizontal()
2425        ? (e.translate = -t.scrollLeft)
2426        : (e.translate = -t.scrollTop),
2427      0 === e.translate && (e.translate = 0),
2428      e.updateActiveIndex(),
2429      e.updateSlidesClasses();
2430    const r = e.maxTranslate() - e.minTranslate();
2431    (i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r),
2432      i !== e.progress && e.updateProgress(s ? -e.translate : e.translate),
2433      e.emit("setTranslate", e.translate, !1);
2434  }
2435  function K(e) {
2436    const t = this;
2437    D(t, e.target),
2438      t.params.cssMode ||
2439        ("auto" !== t.params.slidesPerView && !t.params.autoHeight) ||
2440        t.update();
2441  }
2442  function Z() {
2443    const e = this;
2444    e.documentTouchHandlerProceeded ||
2445      ((e.documentTouchHandlerProceeded = !0),
2446      e.params.touchReleaseOnEdges && (e.el.style.touchAction = "auto"));
2447  }
2448  const Q = (e, t) => {
2449    const s = a(),
2450      { params: i, el: r, wrapperEl: n, device: l } = e,
2451      o = !!i.nested,
2452      d = "on" === t ? "addEventListener" : "removeEventListener",
2453      c = t;
2454    r &&
2455      "string" != typeof r &&
2456      (s[d]("touchstart", e.onDocumentTouchStart, { passive: !1, capture: o }),
2457      r[d]("touchstart", e.onTouchStart, { passive: !1 }),
2458      r[d]("pointerdown", e.onTouchStart, { passive: !1 }),
2459      s[d]("touchmove", e.onTouchMove, { passive: !1, capture: o }),
2460      s[d]("pointermove", e.onTouchMove, { passive: !1, capture: o }),
2461      s[d]("touchend", e.onTouchEnd, { passive: !0 }),
2462      s[d]("pointerup", e.onTouchEnd, { passive: !0 }),
2463      s[d]("pointercancel", e.onTouchEnd, { passive: !0 }),
2464      s[d]("touchcancel", e.onTouchEnd, { passive: !0 }),
2465      s[d]("pointerout", e.onTouchEnd, { passive: !0 }),
2466      s[d]("pointerleave", e.onTouchEnd, { passive: !0 }),
2467      s[d]("contextmenu", e.onTouchEnd, { passive: !0 }),
2468      (i.preventClicks || i.preventClicksPropagation) &&
2469        r[d]("click", e.onClick, !0),
2470      i.cssMode && n[d]("scroll", e.onScroll),
2471      i.updateOnWindowResize
2472        ? e[c](
2473            l.ios || l.android
2474              ? "resize orientationchange observerUpdate"
2475              : "resize observerUpdate",
2476            W,
2477            !0
2478          )
2479        : e[c]("observerUpdate", W, !0),
2480      r[d]("load", e.onLoad, { capture: !0 }));
2481  };
2482  const J = (e, t) => e.grid && t.grid && t.grid.rows > 1;
2483  var ee = {
2484    init: !0,
2485    direction: "horizontal",
2486    oneWayMovement: !1,
2487    swiperElementNodeName: "SWIPER-CONTAINER",
2488    touchEventsTarget: "wrapper",
2489    initialSlide: 0,
2490    speed: 300,
2491    cssMode: !1,
2492    updateOnWindowResize: !0,
2493    resizeObserver: !0,
2494    nested: !1,
2495    createElements: !1,
2496    eventsPrefix: "swiper",
2497    enabled: !0,
2498    focusableElements: "input, select, option, textarea, button, video, label",
2499    width: null,
2500    height: null,
2501    preventInteractionOnTransition: !1,
2502    userAgent: null,
2503    url: null,
2504    edgeSwipeDetection: !1,
2505    edgeSwipeThreshold: 20,
2506    autoHeight: !1,
2507    setWrapperSize: !1,
2508    virtualTranslate: !1,
2509    effect: "slide",
2510    breakpoints: void 0,
2511    breakpointsBase: "window",
2512    spaceBetween: 0,
2513    slidesPerView: 1,
2514    slidesPerGroup: 1,
2515    slidesPerGroupSkip: 0,
2516    slidesPerGroupAuto: !1,
2517    centeredSlides: !1,
2518    centeredSlidesBounds: !1,
2519    slidesOffsetBefore: 0,
2520    slidesOffsetAfter: 0,
2521    normalizeSlideIndex: !0,
2522    centerInsufficientSlides: !1,
2523    watchOverflow: !0,
2524    roundLengths: !1,
2525    touchRatio: 1,
2526    touchAngle: 45,
2527    simulateTouch: !0,
2528    shortSwipes: !0,
2529    longSwipes: !0,
2530    longSwipesRatio: 0.5,
2531    longSwipesMs: 300,
2532    followFinger: !0,
2533    allowTouchMove: !0,
2534    threshold: 5,
2535    touchMoveStopPropagation: !1,
2536    touchStartPreventDefault: !0,
2537    touchStartForcePreventDefault: !1,
2538    touchReleaseOnEdges: !1,
2539    uniqueNavElements: !0,
2540    resistance: !0,
2541    resistanceRatio: 0.85,
2542    watchSlidesProgress: !1,
2543    grabCursor: !1,
2544    preventClicks: !0,
2545    preventClicksPropagation: !0,
2546    slideToClickedSlide: !1,
2547    loop: !1,
2548    loopAddBlankSlides: !0,
2549    loopAdditionalSlides: 0,
2550    loopPreventsSliding: !0,
2551    rewind: !1,
2552    allowSlidePrev: !0,
2553    allowSlideNext: !0,
2554    swipeHandler: null,
2555    noSwiping: !0,
2556    noSwipingClass: "swiper-no-swiping",
2557    noSwipingSelector: null,
2558    passiveListeners: !0,
2559    maxBackfaceHiddenSlides: 10,
2560    containerModifierClass: "swiper-",
2561    slideClass: "swiper-slide",
2562    slideBlankClass: "swiper-slide-blank",
2563    slideActiveClass: "swiper-slide-active",
2564    slideVisibleClass: "swiper-slide-visible",
2565    slideFullyVisibleClass: "swiper-slide-fully-visible",
2566    slideNextClass: "swiper-slide-next",
2567    slidePrevClass: "swiper-slide-prev",
2568    wrapperClass: "swiper-wrapper",
2569    lazyPreloaderClass: "swiper-lazy-preloader",
2570    lazyPreloadPrevNext: 0,
2571    runCallbacksOnInit: !0,
2572    _emitClasses: !1,
2573  };
2574  function te(e, t) {
2575    return function (s) {
2576      void 0 === s && (s = {});
2577      const a = Object.keys(s)[0],
2578        i = s[a];
2579      "object" == typeof i && null !== i
2580        ? (!0 === e[a] && (e[a] = { enabled: !0 }),
2581          "navigation" === a &&
2582            e[a] &&
2583            e[a].enabled &&
2584            !e[a].prevEl &&
2585            !e[a].nextEl &&
2586            (e[a].auto = !0),
2587          ["pagination", "scrollbar"].indexOf(a) >= 0 &&
2588            e[a] &&
2589            e[a].enabled &&
2590            !e[a].el &&
2591            (e[a].auto = !0),
2592          a in e && "enabled" in i
2593            ? ("object" != typeof e[a] ||
2594                "enabled" in e[a] ||
2595                (e[a].enabled = !0),
2596              e[a] || (e[a] = { enabled: !1 }),
2597              p(t, s))
2598            : p(t, s))
2599        : p(t, s);
2600    };
2601  }
2602  const se = {
2603      eventsEmitter: $,
2604      update: X,
2605      translate: B,
2606      transition: {
2607        setTransition: function (e, t) {
2608          const s = this;
2609          s.params.cssMode ||
2610            ((s.wrapperEl.style.transitionDuration = `${e}ms`),
2611            (s.wrapperEl.style.transitionDelay = 0 === e ? "0ms" : "")),
2612            s.emit("setTransition", e, t);
2613        },
2614        transitionStart: function (e, t) {
2615          void 0 === e && (e = !0);
2616          const s = this,
2617            { params: a } = s;
2618          a.cssMode ||
2619            (a.autoHeight && s.updateAutoHeight(),
2620            Y({ swiper: s, runCallbacks: e, direction: t, step: "Start" }));
2621        },
2622        transitionEnd: function (e, t) {
2623          void 0 === e && (e = !0);
2624          const s = this,
2625            { params: a } = s;
2626          (s.animating = !1),
2627            a.cssMode ||
2628              (s.setTransition(0),
2629              Y({ swiper: s, runCallbacks: e, direction: t, step: "End" }));
2630        },
2631      },
2632      slide: N,
2633      loop: R,
2634      grabCursor: {
2635        setGrabCursor: function (e) {
2636          const t = this;
2637          if (
2638            !t.params.simulateTouch ||
2639            (t.params.watchOverflow && t.isLocked) ||
2640            t.params.cssMode
2641          )
2642            return;
2643          const s =
2644            "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl;
2645          t.isElement && (t.__preventObserver__ = !0),
2646            (s.style.cursor = "move"),
2647            (s.style.cursor = e ? "grabbing" : "grab"),
2648            t.isElement &&
2649              requestAnimationFrame(() => {
2650                t.__preventObserver__ = !1;
2651              });
2652        },
2653        unsetGrabCursor: function () {
2654          const e = this;
2655          (e.params.watchOverflow && e.isLocked) ||
2656            e.params.cssMode ||
2657            (e.isElement && (e.__preventObserver__ = !0),
2658            (e[
2659              "container" === e.params.touchEventsTarget ? "el" : "wrapperEl"
2660            ].style.cursor = ""),
2661            e.isElement &&
2662              requestAnimationFrame(() => {
2663                e.__preventObserver__ = !1;
2664              }));
2665        },
2666      },
2667      events: {
2668        attachEvents: function () {
2669          const e = this,
2670            { params: t } = e;
2671          (e.onTouchStart = F.bind(e)),
2672            (e.onTouchMove = V.bind(e)),
2673            (e.onTouchEnd = _.bind(e)),
2674            (e.onDocumentTouchStart = Z.bind(e)),
2675            t.cssMode && (e.onScroll = U.bind(e)),
2676            (e.onClick = j.bind(e)),
2677            (e.onLoad = K.bind(e)),
2678            Q(e, "on");
2679        },
2680        detachEvents: function () {
2681          Q(this, "off");
2682        },
2683      },
2684      breakpoints: {
2685        setBreakpoint: function () {
2686          const e = this,
2687            { realIndex: t, initialized: s, params: i, el: r } = e,
2688            n = i.breakpoints;
2689          if (!n || (n && 0 === Object.keys(n).length)) return;
2690          const l = a(),
2691            o =
2692              "window" !== i.breakpointsBase && i.breakpointsBase
2693                ? "container"
2694                : i.breakpointsBase,
2695            d =
2696              ["window", "container"].includes(i.breakpointsBase) ||
2697              !i.breakpointsBase
2698                ? e.el
2699                : l.querySelector(i.breakpointsBase),
2700            c = e.getBreakpoint(n, o, d);
2701          if (!c || e.currentBreakpoint === c) return;
2702          const u = (c in n ? n[c] : void 0) || e.originalParams,
2703            m = J(e, i),
2704            h = J(e, u),
2705            f = e.params.grabCursor,
2706            g = u.grabCursor,
2707            v = i.enabled;
2708          m && !h
2709            ? (r.classList.remove(
2710                `${i.containerModifierClass}grid`,
2711                `${i.containerModifierClass}grid-column`
2712              ),
2713              e.emitContainerClasses())
2714            : !m &&
2715              h &&
2716              (r.classList.add(`${i.containerModifierClass}grid`),
2717              ((u.grid.fill && "column" === u.grid.fill) ||
2718                (!u.grid.fill && "column" === i.grid.fill)) &&
2719                r.classList.add(`${i.containerModifierClass}grid-column`),
2720              e.emitContainerClasses()),
2721            f && !g ? e.unsetGrabCursor() : !f && g && e.setGrabCursor(),
2722            ["navigation", "pagination", "scrollbar"].forEach((t) => {
2723              if (void 0 === u[t]) return;
2724              const s = i[t] && i[t].enabled,
2725                a = u[t] && u[t].enabled;
2726              s && !a && e[t].disable(), !s && a && e[t].enable();
2727            });
2728          const w = u.direction && u.direction !== i.direction,
2729            b = i.loop && (u.slidesPerView !== i.slidesPerView || w),
2730            y = i.loop;
2731          w && s && e.changeDirection(), p(e.params, u);
2732          const E = e.params.enabled,
2733            x = e.params.loop;
2734          Object.assign(e, {
2735            allowTouchMove: e.params.allowTouchMove,
2736            allowSlideNext: e.params.allowSlideNext,
2737            allowSlidePrev: e.params.allowSlidePrev,
2738          }),
2739            v && !E ? e.disable() : !v && E && e.enable(),
2740            (e.currentBreakpoint = c),
2741            e.emit("_beforeBreakpoint", u),
2742            s &&
2743              (b
2744                ? (e.loopDestroy(), e.loopCreate(t), e.updateSlides())
2745                : !y && x
2746                ? (e.loopCreate(t), e.updateSlides())
2747                : y && !x && e.loopDestroy()),
2748            e.emit("breakpoint", u);
2749        },
2750        getBreakpoint: function (e, t, s) {
2751          if ((void 0 === t && (t = "window"), !e || ("container" === t && !s)))
2752            return;
2753          let a = !1;
2754          const i = r(),
2755            n = "window" === t ? i.innerHeight : s.clientHeight,
2756            l = Object.keys(e).map((e) => {
2757              if ("string" == typeof e && 0 === e.indexOf("@")) {
2758                const t = parseFloat(e.substr(1));
2759                return { value: n * t, point: e };
2760              }
2761              return { value: e, point: e };
2762            });
2763          l.sort((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10));
2764          for (let e = 0; e < l.length; e += 1) {
2765            const { point: r, value: n } = l[e];
2766            "window" === t
2767              ? i.matchMedia(`(min-width: ${n}px)`).matches && (a = r)
2768              : n <= s.clientWidth && (a = r);
2769          }
2770          return a || "max";
2771        },
2772      },
2773      checkOverflow: {
2774        checkOverflow: function () {
2775          const e = this,
2776            { isLocked: t, params: s } = e,
2777            { slidesOffsetBefore: a } = s;
2778          if (a) {
2779            const t = e.slides.length - 1,
2780              s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a;
2781            e.isLocked = e.size > s;
2782          } else e.isLocked = 1 === e.snapGrid.length;
2783          !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked),
2784            !0 === s.allowSlidePrev && (e.allowSlidePrev = !e.isLocked),
2785            t && t !== e.isLocked && (e.isEnd = !1),
2786            t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock");
2787        },
2788      },
2789      classes: {
2790        addClasses: function () {
2791          const e = this,
2792            { classNames: t, params: s, rtl: a, el: i, device: r } = e,
2793            n = (function (e, t) {
2794              const s = [];
2795              return (
2796                e.forEach((e) => {
2797                  "object" == typeof e
2798                    ? Object.keys(e).forEach((a) => {
2799                        e[a] && s.push(t + a);
2800                      })
2801                    : "string" == typeof e && s.push(t + e);
2802                }),
2803                s
2804              );
2805            })(
2806              [
2807                "initialized",
2808                s.direction,
2809                { "free-mode": e.params.freeMode && s.freeMode.enabled },
2810                { autoheight: s.autoHeight },
2811                { rtl: a },
2812                { grid: s.grid && s.grid.rows > 1 },
2813                {
2814                  "grid-column":
2815                    s.grid && s.grid.rows > 1 && "column" === s.grid.fill,
2816                },
2817                { android: r.android },
2818                { ios: r.ios },
2819                { "css-mode": s.cssMode },
2820                { centered: s.cssMode && s.centeredSlides },
2821                { "watch-progress": s.watchSlidesProgress },
2822              ],
2823              s.containerModifierClass
2824            );
2825          t.push(...n), i.classList.add(...t), e.emitContainerClasses();
2826        },
2827        removeClasses: function () {
2828          const { el: e, classNames: t } = this;
2829          e &&
2830            "string" != typeof e &&
2831            (e.classList.remove(...t), this.emitContainerClasses());
2832        },
2833      },
2834    },
2835    ae = {};
2836  class ie {
2837    constructor() {
2838      let e, t;
2839      for (var s = arguments.length, i = new Array(s), r = 0; r < s; r++)
2840        i[r] = arguments[r];
2841      1 === i.length &&
2842      i[0].constructor &&
2843      "Object" === Object.prototype.toString.call(i[0]).slice(8, -1)
2844        ? (t = i[0])
2845        : ([e, t] = i),
2846        t || (t = {}),
2847        (t = p({}, t)),
2848        e && !t.el && (t.el = e);
2849      const n = a();
2850      if (
2851        t.el &&
2852        "string" == typeof t.el &&
2853        n.querySelectorAll(t.el).length > 1
2854      ) {
2855        const e = [];
2856        return (
2857          n.querySelectorAll(t.el).forEach((s) => {
2858            const a = p({}, t, { el: s });
2859            e.push(new ie(a));
2860          }),
2861          e
2862        );
2863      }
2864      const l = this;
2865      (l.__swiper__ = !0),
2866        (l.support = I()),
2867        (l.device = z({ userAgent: t.userAgent })),
2868        (l.browser = A()),
2869        (l.eventsListeners = {}),
2870        (l.eventsAnyListeners = []),
2871        (l.modules = [...l.__modules__]),
2872        t.modules && Array.isArray(t.modules) && l.modules.push(...t.modules);
2873      const o = {};
2874      l.modules.forEach((e) => {
2875        e({
2876          params: t,
2877          swiper: l,
2878          extendParams: te(t, o),
2879          on: l.on.bind(l),
2880          once: l.once.bind(l),
2881          off: l.off.bind(l),
2882          emit: l.emit.bind(l),
2883        });
2884      });
2885      const d = p({}, ee, o);
2886      return (
2887        (l.params = p({}, d, ae, t)),
2888        (l.originalParams = p({}, l.params)),
2889        (l.passedParams = p({}, t)),
2890        l.params &&
2891          l.params.on &&
2892          Object.keys(l.params.on).forEach((e) => {
2893            l.on(e, l.params.on[e]);
2894          }),
2895        l.params && l.params.onAny && l.onAny(l.params.onAny),
2896        Object.assign(l, {
2897          enabled: l.params.enabled,
2898          el: e,
2899          classNames: [],
2900          slides: [],
2901          slidesGrid: [],
2902          snapGrid: [],
2903          slidesSizesGrid: [],
2904          isHorizontal: () => "horizontal" === l.params.direction,
2905          isVertical: () => "vertical" === l.params.direction,
2906          activeIndex: 0,
2907          realIndex: 0,
2908          isBeginning: !0,
2909          isEnd: !1,
2910          translate: 0,
2911          previousTranslate: 0,
2912          progress: 0,
2913          velocity: 0,
2914          animating: !1,
2915          cssOverflowAdjustment() {
2916            return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;
2917          },
2918          allowSlideNext: l.params.allowSlideNext,
2919          allowSlidePrev: l.params.allowSlidePrev,
2920          touchEventsData: {
2921            isTouched: void 0,
2922            isMoved: void 0,
2923            allowTouchCallbacks: void 0,
2924            touchStartTime: void 0,
2925            isScrolling: void 0,
2926            currentTranslate: void 0,
2927            startTranslate: void 0,
2928            allowThresholdMove: void 0,
2929            focusableElements: l.params.focusableElements,
2930            lastClickTime: 0,
2931            clickTimeout: void 0,
2932            velocities: [],
2933            allowMomentumBounce: void 0,
2934            startMoving: void 0,
2935            pointerId: null,
2936            touchId: null,
2937          },
2938          allowClick: !0,
2939          allowTouchMove: l.params.allowTouchMove,
2940          touches: { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0 },
2941          imagesToLoad: [],
2942          imagesLoaded: 0,
2943        }),
2944        l.emit("_swiper"),
2945        l.params.init && l.init(),
2946        l
2947      );
2948    }
2949    getDirectionLabel(e) {
2950      return this.isHorizontal()
2951        ? e
2952        : {
2953            width: "height",
2954            "margin-top": "margin-left",
2955            "margin-bottom ": "margin-right",
2956            "margin-left": "margin-top",
2957            "margin-right": "margin-bottom",
2958            "padding-left": "padding-top",
2959            "padding-right": "padding-bottom",
2960            marginRight: "marginBottom",
2961          }[e];
2962    }
2963    getSlideIndex(e) {
2964      const { slidesEl: t, params: s } = this,
2965        a = y(f(t, `.${s.slideClass}, swiper-slide`)[0]);
2966      return y(e) - a;
2967    }
2968    getSlideIndexByData(e) {
2969      return this.getSlideIndex(
2970        this.slides.find(
2971          (t) => 1 * t.getAttribute("data-swiper-slide-index") === e
2972        )
2973      );
2974    }
2975    recalcSlides() {
2976      const { slidesEl: e, params: t } = this;
2977      this.slides = f(e, `.${t.slideClass}, swiper-slide`);
2978    }
2979    enable() {
2980      const e = this;
2981      e.enabled ||
2982        ((e.enabled = !0),
2983        e.params.grabCursor && e.setGrabCursor(),
2984        e.emit("enable"));
2985    }
2986    disable() {
2987      const e = this;
2988      e.enabled &&
2989        ((e.enabled = !1),
2990        e.params.grabCursor && e.unsetGrabCursor(),
2991        e.emit("disable"));
2992    }
2993    setProgress(e, t) {
2994      const s = this;
2995      e = Math.min(Math.max(e, 0), 1);
2996      const a = s.minTranslate(),
2997        i = (s.maxTranslate() - a) * e + a;
2998      s.translateTo(i, void 0 === t ? 0 : t),
2999        s.updateActiveIndex(),
3000        s.updateSlidesClasses();
3001    }
3002    emitContainerClasses() {
3003      const e = this;
3004      if (!e.params._emitClasses || !e.el) return;
3005      const t = e.el.className
3006        .split(" ")
3007        .filter(
3008          (t) =>
3009            0 === t.indexOf("swiper") ||
3010            0 === t.indexOf(e.params.containerModifierClass)
3011        );
3012      e.emit("_containerClasses", t.join(" "));
3013    }
3014    getSlideClasses(e) {
3015      const t = this;
3016      return t.destroyed
3017        ? ""
3018        : e.className
3019            .split(" ")
3020            .filter(
3021              (e) =>
3022                0 === e.indexOf("swiper-slide") ||
3023                0 === e.indexOf(t.params.slideClass)
3024            )
3025            .join(" ");
3026    }
3027    emitSlidesClasses() {
3028      const e = this;
3029      if (!e.params._emitClasses || !e.el) return;
3030      const t = [];
3031      e.slides.forEach((s) => {
3032        const a = e.getSlideClasses(s);
3033        t.push({ slideEl: s, classNames: a }), e.emit("_slideClass", s, a);
3034      }),
3035        e.emit("_slideClasses", t);
3036    }
3037    slidesPerViewDynamic(e, t) {
3038      void 0 === e && (e = "current"), void 0 === t && (t = !1);
3039      const {
3040        params: s,
3041        slides: a,
3042        slidesGrid: i,
3043        slidesSizesGrid: r,
3044        size: n,
3045        activeIndex: l,
3046      } = this;
3047      let o = 1;
3048      if ("number" == typeof s.slidesPerView) return s.slidesPerView;
3049      if (s.centeredSlides) {
3050        let e,
3051          t = a[l] ? Math.ceil(a[l].swiperSlideSize) : 0;
3052        for (let s = l + 1; s < a.length; s += 1)
3053          a[s] &&
3054            !e &&
3055            ((t += Math.ceil(a[s].swiperSlideSize)),
3056            (o += 1),
3057            t > n && (e = !0));
3058        for (let s = l - 1; s >= 0; s -= 1)
3059          a[s] &&
3060            !e &&
3061            ((t += a[s].swiperSlideSize), (o += 1), t > n && (e = !0));
3062      } else if ("current" === e)
3063        for (let e = l + 1; e < a.length; e += 1) {
3064          (t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1);
3065        }
3066      else
3067        for (let e = l - 1; e >= 0; e -= 1) {
3068          i[l] - i[e] < n && (o += 1);
3069        }
3070      return o;
3071    }
3072    update() {
3073      const e = this;
3074      if (!e || e.destroyed) return;
3075      const { snapGrid: t, params: s } = e;
3076      function a() {
3077        const t = e.rtlTranslate ? -1 * e.translate : e.translate,
3078          s = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
3079        e.setTranslate(s), e.updateActiveIndex(), e.updateSlidesClasses();
3080      }
3081      let i;
3082      if (
3083        (s.breakpoints && e.setBreakpoint(),
3084        [...e.el.querySelectorAll('[loading="lazy"]')].forEach((t) => {
3085          t.complete && D(e, t);
3086        }),
3087        e.updateSize(),
3088        e.updateSlides(),
3089        e.updateProgress(),
3090        e.updateSlidesClasses(),
3091        s.freeMode && s.freeMode.enabled && !s.cssMode)
3092      )
3093        a(), s.autoHeight && e.updateAutoHeight();
3094      else {
3095        if (
3096          ("auto" === s.slidesPerView || s.slidesPerView > 1) &&
3097          e.isEnd &&
3098          !s.centeredSlides
3099        ) {
3100          const t =
3101            e.virtual && s.virtual.enabled ? e.virtual.slides : e.slides;
3102          i = e.slideTo(t.length - 1, 0, !1, !0);
3103        } else i = e.slideTo(e.activeIndex, 0, !1, !0);
3104        i || a();
3105      }
3106      s.watchOverflow && t !== e.snapGrid && e.checkOverflow(),
3107        e.emit("update");
3108    }
3109    changeDirection(e, t) {
3110      void 0 === t && (t = !0);
3111      const s = this,
3112        a = s.params.direction;
3113      return (
3114        e || (e = "horizontal" === a ? "vertical" : "horizontal"),
3115        e === a ||
3116          ("horizontal" !== e && "vertical" !== e) ||
3117          (s.el.classList.remove(`${s.params.containerModifierClass}${a}`),
3118          s.el.classList.add(`${s.params.containerModifierClass}${e}`),
3119          s.emitContainerClasses(),
3120          (s.params.direction = e),
3121          s.slides.forEach((t) => {
3122            "vertical" === e ? (t.style.width = "") : (t.style.height = "");
3123          }),
3124          s.emit("changeDirection"),
3125          t && s.update()),
3126        s
3127      );
3128    }
3129    changeLanguageDirection(e) {
3130      const t = this;
3131      (t.rtl && "rtl" === e) ||
3132        (!t.rtl && "ltr" === e) ||
3133        ((t.rtl = "rtl" === e),
3134        (t.rtlTranslate = "horizontal" === t.params.direction && t.rtl),
3135        t.rtl
3136          ? (t.el.classList.add(`${t.params.containerModifierClass}rtl`),
3137            (t.el.dir = "rtl"))
3138          : (t.el.classList.remove(`${t.params.containerModifierClass}rtl`),
3139            (t.el.dir = "ltr")),
3140        t.update());
3141    }
3142    mount(e) {
3143      const t = this;
3144      if (t.mounted) return !0;
3145      let s = e || t.params.el;
3146      if (("string" == typeof s && (s = document.querySelector(s)), !s))
3147        return !1;
3148      (s.swiper = t),
3149        s.parentNode &&
3150          s.parentNode.host &&
3151          s.parentNode.host.nodeName ===
3152            t.params.swiperElementNodeName.toUpperCase() &&
3153          (t.isElement = !0);
3154      const a = () =>
3155        `.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`;
3156      let i = (() => {
3157        if (s && s.shadowRoot && s.shadowRoot.querySelector) {
3158          return s.shadowRoot.querySelector(a());
3159        }
3160        return f(s, a())[0];
3161      })();
3162      return (
3163        !i &&
3164          t.params.createElements &&
3165          ((i = v("div", t.params.wrapperClass)),
3166          s.append(i),
3167          f(s, `.${t.params.slideClass}`).forEach((e) => {
3168            i.append(e);
3169          })),
3170        Object.assign(t, {
3171          el: s,
3172          wrapperEl: i,
3173          slidesEl:
3174            t.isElement && !s.parentNode.host.slideSlots
3175              ? s.parentNode.host
3176              : i,
3177          hostEl: t.isElement ? s.parentNode.host : s,
3178          mounted: !0,
3179          rtl: "rtl" === s.dir.toLowerCase() || "rtl" === b(s, "direction"),
3180          rtlTranslate:
3181            "horizontal" === t.params.direction &&
3182            ("rtl" === s.dir.toLowerCase() || "rtl" === b(s, "direction")),
3183          wrongRTL: "-webkit-box" === b(i, "display"),
3184        }),
3185        !0
3186      );
3187    }
3188    init(e) {
3189      const t = this;
3190      if (t.initialized) return t;
3191      if (!1 === t.mount(e)) return t;
3192      t.emit("beforeInit"),
3193        t.params.breakpoints && t.setBreakpoint(),
3194        t.addClasses(),
3195        t.updateSize(),
3196        t.updateSlides(),
3197        t.params.watchOverflow && t.checkOverflow(),
3198        t.params.grabCursor && t.enabled && t.setGrabCursor(),
3199        t.params.loop && t.virtual && t.params.virtual.enabled
3200          ? t.slideTo(
3201              t.params.initialSlide + t.virtual.slidesBefore,
3202              0,
3203              t.params.runCallbacksOnInit,
3204              !1,
3205              !0
3206            )
3207          : t.slideTo(
3208              t.params.initialSlide,
3209              0,
3210              t.params.runCallbacksOnInit,
3211              !1,
3212              !0
3213            ),
3214        t.params.loop && t.loopCreate(),
3215        t.attachEvents();
3216      const s = [...t.el.querySelectorAll('[loading="lazy"]')];
3217      return (
3218        t.isElement && s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),
3219        s.forEach((e) => {
3220          e.complete
3221            ? D(t, e)
3222            : e.addEventListener("load", (e) => {
3223                D(t, e.target);
3224              });
3225        }),
3226        H(t),
3227        (t.initialized = !0),
3228        H(t),
3229        t.emit("init"),
3230        t.emit("afterInit"),
3231        t
3232      );
3233    }
3234    destroy(e, t) {
3235      void 0 === e && (e = !0), void 0 === t && (t = !0);
3236      const s = this,
3237        { params: a, el: i, wrapperEl: r, slides: n } = s;
3238      return (
3239        void 0 === s.params ||
3240          s.destroyed ||
3241          (s.emit("beforeDestroy"),
3242          (s.initialized = !1),
3243          s.detachEvents(),
3244          a.loop && s.loopDestroy(),
3245          t &&
3246            (s.removeClasses(),
3247            i && "string" != typeof i && i.removeAttribute("style"),
3248            r && r.removeAttribute("style"),
3249            n &&
3250              n.length &&
3251              n.forEach((e) => {
3252                e.classList.remove(
3253                  a.slideVisibleClass,
3254                  a.slideFullyVisibleClass,
3255                  a.slideActiveClass,
3256                  a.slideNextClass,
3257                  a.slidePrevClass
3258                ),
3259                  e.removeAttribute("style"),
3260                  e.removeAttribute("data-swiper-slide-index");
3261              })),
3262          s.emit("destroy"),
3263          Object.keys(s.eventsListeners).forEach((e) => {
3264            s.off(e);
3265          }),
3266          !1 !== e &&
3267            (s.el && "string" != typeof s.el && (s.el.swiper = null),
3268            (function (e) {
3269              const t = e;
3270              Object.keys(t).forEach((e) => {
3271                try {
3272                  t[e] = null;
3273                } catch (e) {}
3274                try {
3275                  delete t[e];
3276                } catch (e) {}
3277              });
3278            })(s)),
3279          (s.destroyed = !0)),
3280        null
3281      );
3282    }
3283    static extendDefaults(e) {
3284      p(ae, e);
3285    }
3286    static get extendedDefaults() {
3287      return ae;
3288    }
3289    static get defaults() {
3290      return ee;
3291    }
3292    static installModule(e) {
3293      ie.prototype.__modules__ || (ie.prototype.__modules__ = []);
3294      const t = ie.prototype.__modules__;
3295      "function" == typeof e && t.indexOf(e) < 0 && t.push(e);
3296    }
3297    static use(e) {
3298      return Array.isArray(e)
3299        ? (e.forEach((e) => ie.installModule(e)), ie)
3300        : (ie.installModule(e), ie);
3301    }
3302  }
3303  function re(e, t, s, a) {
3304    return (
3305      e.params.createElements &&
3306        Object.keys(a).forEach((i) => {
3307          if (!s[i] && !0 === s.auto) {
3308            let r = f(e.el, `.${a[i]}`)[0];
3309            r || ((r = v("div", a[i])), (r.className = a[i]), e.el.append(r)),
3310              (s[i] = r),
3311              (t[i] = r);
3312          }
3313        }),
3314      s
3315    );
3316  }
3317  function ne(e) {
3318    return (
3319      void 0 === e && (e = ""),
3320      `.${e
3321        .trim()
3322        .replace(/([\.:!+\/])/g, "\\$1")
3323        .replace(/ /g, ".")}`
3324    );
3325  }
3326  function le(e) {
3327    const t = this,
3328      { params: s, slidesEl: a } = t;
3329    s.loop && t.loopDestroy();
3330    const i = (e) => {
3331      if ("string" == typeof e) {
3332        const t = document.createElement("div");
3333        (t.innerHTML = e), a.append(t.children[0]), (t.innerHTML = "");
3334      } else a.append(e);
3335    };
3336    if ("object" == typeof e && "length" in e)
3337      for (let t = 0; t < e.length; t += 1) e[t] && i(e[t]);
3338    else i(e);
3339    t.recalcSlides(),
3340      s.loop && t.loopCreate(),
3341      (s.observer && !t.isElement) || t.update();
3342  }
3343  function oe(e) {
3344    const t = this,
3345      { params: s, activeIndex: a, slidesEl: i } = t;
3346    s.loop && t.loopDestroy();
3347    let r = a + 1;
3348    const n = (e) => {
3349      if ("string" == typeof e) {
3350        const t = document.createElement("div");
3351        (t.innerHTML = e), i.prepend(t.children[0]), (t.innerHTML = "");
3352      } else i.prepend(e);
3353    };
3354    if ("object" == typeof e && "length" in e) {
3355      for (let t = 0; t < e.length; t += 1) e[t] && n(e[t]);
3356      r = a + e.length;
3357    } else n(e);
3358    t.recalcSlides(),
3359      s.loop && t.loopCreate(),
3360      (s.observer && !t.isElement) || t.update(),
3361      t.slideTo(r, 0, !1);
3362  }
3363  function de(e, t) {
3364    const s = this,
3365      { params: a, activeIndex: i, slidesEl: r } = s;
3366    let n = i;
3367    a.loop && ((n -= s.loopedSlides), s.loopDestroy(), s.recalcSlides());
3368    const l = s.slides.length;
3369    if (e <= 0) return void s.prependSlide(t);
3370    if (e >= l) return void s.appendSlide(t);
3371    let o = n > e ? n + 1 : n;
3372    const d = [];
3373    for (let t = l - 1; t >= e; t -= 1) {
3374      const e = s.slides[t];
3375      e.remove(), d.unshift(e);
3376    }
3377    if ("object" == typeof t && "length" in t) {
3378      for (let e = 0; e < t.length; e += 1) t[e] && r.append(t[e]);
3379      o = n > e ? n + t.length : n;
3380    } else r.append(t);
3381    for (let e = 0; e < d.length; e += 1) r.append(d[e]);
3382    s.recalcSlides(),
3383      a.loop && s.loopCreate(),
3384      (a.observer && !s.isElement) || s.update(),
3385      a.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1);
3386  }
3387  function ce(e) {
3388    const t = this,
3389      { params: s, activeIndex: a } = t;
3390    let i = a;
3391    s.loop && ((i -= t.loopedSlides), t.loopDestroy());
3392    let r,
3393      n = i;
3394    if ("object" == typeof e && "length" in e) {
3395      for (let s = 0; s < e.length; s += 1)
3396        (r = e[s]), t.slides[r] && t.slides[r].remove(), r < n && (n -= 1);
3397      n = Math.max(n, 0);
3398    } else
3399      (r = e),
3400        t.slides[r] && t.slides[r].remove(),
3401        r < n && (n -= 1),
3402        (n = Math.max(n, 0));
3403    t.recalcSlides(),
3404      s.loop && t.loopCreate(),
3405      (s.observer && !t.isElement) || t.update(),
3406      s.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1);
3407  }
3408  function pe() {
3409    const e = this,
3410      t = [];
3411    for (let s = 0; s < e.slides.length; s += 1) t.push(s);
3412    e.removeSlide(t);
3413  }
3414  function ue(e) {
3415    const {
3416      effect: t,
3417      swiper: s,
3418      on: a,
3419      setTranslate: i,
3420      setTransition: r,
3421      overwriteParams: n,
3422      perspective: l,
3423      recreateShadows: o,
3424      getEffectParams: d,
3425    } = e;
3426    let c;
3427    a("beforeInit", () => {
3428      if (s.params.effect !== t) return;
3429      s.classNames.push(`${s.params.containerModifierClass}${t}`),
3430        l && l() && s.classNames.push(`${s.params.containerModifierClass}3d`);
3431      const e = n ? n() : {};
3432      Object.assign(s.params, e), Object.assign(s.originalParams, e);
3433    }),
3434      a("setTranslate", () => {
3435        s.params.effect === t && i();
3436      }),
3437      a("setTransition", (e, a) => {
3438        s.params.effect === t && r(a);
3439      }),
3440      a("transitionEnd", () => {
3441        if (s.params.effect === t && o) {
3442          if (!d || !d().slideShadows) return;
3443          s.slides.forEach((e) => {
3444            e.querySelectorAll(
3445              ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
3446            ).forEach((e) => e.remove());
3447          }),
3448            o();
3449        }
3450      }),
3451      a("virtualUpdate", () => {
3452        s.params.effect === t &&
3453          (s.slides.length || (c = !0),
3454          requestAnimationFrame(() => {
3455            c && s.slides && s.slides.length && (i(), (c = !1));
3456          }));
3457      });
3458  }
3459  function me(e, t) {
3460    const s = h(t);
3461    return (
3462      s !== t &&
3463        ((s.style.backfaceVisibility = "hidden"),
3464        (s.style["-webkit-backface-visibility"] = "hidden")),
3465      s
3466    );
3467  }
3468  function he(e) {
3469    let { swiper: t, duration: s, transformElements: a, allSlides: i } = e;
3470    const { activeIndex: r } = t;
3471    if (t.params.virtualTranslate && 0 !== s) {
3472      let e,
3473        s = !1;
3474      (e = i
3475        ? a
3476        : a.filter((e) => {
3477            const s = e.classList.contains("swiper-slide-transform")
3478              ? ((e) => {
3479                  if (!e.parentElement)
3480                    return t.slides.find(
3481                      (t) => t.shadowRoot && t.shadowRoot === e.parentNode
3482                    );
3483                  return e.parentElement;
3484                })(e)
3485              : e;
3486            return t.getSlideIndex(s) === r;
3487          })),
3488        e.forEach((e) => {
3489          x(e, () => {
3490            if (s) return;
3491            if (!t || t.destroyed) return;
3492            (s = !0), (t.animating = !1);
3493            const e = new window.CustomEvent("transitionend", {
3494              bubbles: !0,
3495              cancelable: !0,
3496            });
3497            t.wrapperEl.dispatchEvent(e);
3498          });
3499        });
3500    }
3501  }
3502  function fe(e, t, s) {
3503    const a = `swiper-slide-shadow${s ? `-${s}` : ""}${
3504        e ? ` swiper-slide-shadow-${e}` : ""
3505      }`,
3506      i = h(t);
3507    let r = i.querySelector(`.${a.split(" ").join(".")}`);
3508    return r || ((r = v("div", a.split(" "))), i.append(r)), r;
3509  }
3510  Object.keys(se).forEach((e) => {
3511    Object.keys(se[e]).forEach((t) => {
3512      ie.prototype[t] = se[e][t];
3513    });
3514  }),
3515    ie.use([
3516      function (e) {
3517        let { swiper: t, on: s, emit: a } = e;
3518        const i = r();
3519        let n = null,
3520          l = null;
3521        const o = () => {
3522            t &&
3523              !t.destroyed &&
3524              t.initialized &&
3525              (a("beforeResize"), a("resize"));
3526          },
3527          d = () => {
3528            t && !t.destroyed && t.initialized && a("orientationchange");
3529          };
3530        s("init", () => {
3531          t.params.resizeObserver && void 0 !== i.ResizeObserver
3532            ? t &&
3533              !t.destroyed &&
3534              t.initialized &&
3535              ((n = new ResizeObserver((e) => {
3536                l = i.requestAnimationFrame(() => {
3537                  const { width: s, height: a } = t;
3538                  let i = s,
3539                    r = a;
3540                  e.forEach((e) => {
3541                    let { contentBoxSize: s, contentRect: a, target: n } = e;
3542                    (n && n !== t.el) ||
3543                      ((i = a ? a.width : (s[0] || s).inlineSize),
3544                      (r = a ? a.height : (s[0] || s).blockSize));
3545                  }),
3546                    (i === s && r === a) || o();
3547                });
3548              })),
3549              n.observe(t.el))
3550            : (i.addEventListener("resize", o),
3551              i.addEventListener("orientationchange", d));
3552        }),
3553          s("destroy", () => {
3554            l && i.cancelAnimationFrame(l),
3555              n && n.unobserve && t.el && (n.unobserve(t.el), (n = null)),
3556              i.removeEventListener("resize", o),
3557              i.removeEventListener("orientationchange", d);
3558          });
3559      },
3560      function (e) {
3561        let { swiper: t, extendParams: s, on: a, emit: i } = e;
3562        const n = [],
3563          l = r(),
3564          o = function (e, s) {
3565            void 0 === s && (s = {});
3566            const a = new (l.MutationObserver || l.WebkitMutationObserver)(
3567              (e) => {
3568                if (t.__preventObserver__) return;
3569                if (1 === e.length) return void i("observerUpdate", e[0]);
3570                const s = function () {
3571                  i("observerUpdate", e[0]);
3572                };
3573                l.requestAnimationFrame
3574                  ? l.requestAnimationFrame(s)
3575                  : l.setTimeout(s, 0);
3576              }
3577            );
3578            a.observe(e, {
3579              attributes: void 0 === s.attributes || s.attributes,
3580              childList: t.isElement || (void 0 === s.childList || s).childList,
3581              characterData: void 0 === s.characterData || s.characterData,
3582            }),
3583              n.push(a);
3584          };
3585        s({ observer: !1, observeParents: !1, observeSlideChildren: !1 }),
3586          a("init", () => {
3587            if (t.params.observer) {
3588              if (t.params.observeParents) {
3589                const e = E(t.hostEl);
3590                for (let t = 0; t < e.length; t += 1) o(e[t]);
3591              }
3592              o(t.hostEl, { childList: t.params.observeSlideChildren }),
3593                o(t.wrapperEl, { attributes: !1 });
3594            }
3595          }),
3596          a("destroy", () => {
3597            n.forEach((e) => {
3598              e.disconnect();
3599            }),
3600              n.splice(0, n.length);
3601          });
3602      },
3603    ]);
3604  const ge = [
3605    function (e) {
3606      let t,
3607        { swiper: s, extendParams: i, on: r, emit: n } = e;
3608      i({
3609        virtual: {
3610          enabled: !1,
3611          slides: [],
3612          cache: !0,
3613          renderSlide: null,
3614          renderExternal: null,
3615          renderExternalUpdate: !0,
3616          addSlidesBefore: 0,
3617          addSlidesAfter: 0,
3618        },
3619      });
3620      const l = a();
3621      s.virtual = {
3622        cache: {},
3623        from: void 0,
3624        to: void 0,
3625        slides: [],
3626        offset: 0,
3627        slidesGrid: [],
3628      };
3629      const o = l.createElement("div");
3630      function d(e, t) {
3631        const a = s.params.virtual;
3632        if (a.cache && s.virtual.cache[t]) return s.virtual.cache[t];
3633        let i;
3634        return (
3635          a.renderSlide
3636            ? ((i = a.renderSlide.call(s, e, t)),
3637              "string" == typeof i && ((o.innerHTML = i), (i = o.children[0])))
3638            : (i = s.isElement
3639                ? v("swiper-slide")
3640                : v("div", s.params.slideClass)),
3641          i.setAttribute("data-swiper-slide-index", t),
3642          a.renderSlide || (i.innerHTML = e),
3643          a.cache && (s.virtual.cache[t] = i),
3644          i
3645        );
3646      }
3647      function c(e, t) {
3648        const {
3649          slidesPerView: a,
3650          slidesPerGroup: i,
3651          centeredSlides: r,
3652          loop: l,
3653          initialSlide: o,
3654        } = s.params;
3655        if (t && !l && o > 0) return;
3656        const { addSlidesBefore: c, addSlidesAfter: p } = s.params.virtual,
3657          { from: u, to: m, slides: h, slidesGrid: g, offset: v } = s.virtual;
3658        s.params.cssMode || s.updateActiveIndex();
3659        const w = s.activeIndex || 0;
3660        let b, y, E;
3661        (b = s.rtlTranslate ? "right" : s.isHorizontal() ? "left" : "top"),
3662          r
3663            ? ((y = Math.floor(a / 2) + i + p), (E = Math.floor(a / 2) + i + c))
3664            : ((y = a + (i - 1) + p), (E = (l ? a : i) + c));
3665        let x = w - E,
3666          S = w + y;
3667        l || ((x = Math.max(x, 0)), (S = Math.min(S, h.length - 1)));
3668        let T = (s.slidesGrid[x] || 0) - (s.slidesGrid[0] || 0);
3669        function M() {
3670          s.updateSlides(),
3671            s.updateProgress(),
3672            s.updateSlidesClasses(),
3673            n("virtualUpdate");
3674        }
3675        if (
3676          (l && w >= E
3677            ? ((x -= E), r || (T += s.slidesGrid[0]))
3678            : l && w < E && ((x = -E), r && (T += s.slidesGrid[0])),
3679          Object.assign(s.virtual, {
3680            from: x,
3681            to: S,
3682            offset: T,
3683            slidesGrid: s.slidesGrid,
3684            slidesBefore: E,
3685            slidesAfter: y,
3686          }),
3687          u === x && m === S && !e)
3688        )
3689          return (
3690            s.slidesGrid !== g &&
3691              T !== v &&
3692              s.slides.forEach((e) => {
3693                e.style[b] = T - Math.abs(s.cssOverflowAdjustment()) + "px";
3694              }),
3695            s.updateProgress(),
3696            void n("virtualUpdate")
3697          );
3698        if (s.params.virtual.renderExternal)
3699          return (
3700            s.params.virtual.renderExternal.call(s, {
3701              offset: T,
3702              from: x,
3703              to: S,
3704              slides: (function () {
3705                const e = [];
3706                for (let t = x; t <= S; t += 1) e.push(h[t]);
3707                return e;
3708              })(),
3709            }),
3710            void (s.params.virtual.renderExternalUpdate
3711              ? M()
3712              : n("virtualUpdate"))
3713          );
3714        const C = [],
3715          P = [],
3716          L = (e) => {
3717            let t = e;
3718            return (
3719              e < 0 ? (t = h.length + e) : t >= h.length && (t -= h.length), t
3720            );
3721          };
3722        if (e)
3723          s.slides
3724            .filter((e) => e.matches(`.${s.params.slideClass}, swiper-slide`))
3725            .forEach((e) => {
3726              e.remove();
3727            });
3728        else
3729          for (let e = u; e <= m; e += 1)
3730            if (e < x || e > S) {
3731              const t = L(e);
3732              s.slides
3733                .filter((e) =>
3734                  e.matches(
3735                    `.${s.params.slideClass}[data-swiper-slide-index="${t}"], swiper-slide[data-swiper-slide-index="${t}"]`
3736                  )
3737                )
3738                .forEach((e) => {
3739                  e.remove();
3740                });
3741            }
3742        const I = l ? -h.length : 0,
3743          z = l ? 2 * h.length : h.length;
3744        for (let t = I; t < z; t += 1)
3745          if (t >= x && t <= S) {
3746            const s = L(t);
3747            void 0 === m || e
3748              ? P.push(s)
3749              : (t > m && P.push(s), t < u && C.push(s));
3750          }
3751        if (
3752          (P.forEach((e) => {
3753            s.slidesEl.append(d(h[e], e));
3754          }),
3755          l)
3756        )
3757          for (let e = C.length - 1; e >= 0; e -= 1) {
3758            const t = C[e];
3759            s.slidesEl.prepend(d(h[t], t));
3760          }
3761        else
3762          C.sort((e, t) => t - e),
3763            C.forEach((e) => {
3764              s.slidesEl.prepend(d(h[e], e));
3765            });
3766        f(s.slidesEl, ".swiper-slide, swiper-slide").forEach((e) => {
3767          e.style[b] = T - Math.abs(s.cssOverflowAdjustment()) + "px";
3768        }),
3769          M();
3770      }
3771      r("beforeInit", () => {
3772        if (!s.params.virtual.enabled) return;
3773        let e;
3774        if (void 0 === s.passedParams.virtual.slides) {
3775          const t = [...s.slidesEl.children].filter((e) =>
3776            e.matches(`.${s.params.slideClass}, swiper-slide`)
3777          );
3778          t &&
3779            t.length &&
3780            ((s.virtual.slides = [...t]),
3781            (e = !0),
3782            t.forEach((e, t) => {
3783              e.setAttribute("data-swiper-slide-index", t),
3784                (s.virtual.cache[t] = e),
3785                e.remove();
3786            }));
3787        }
3788        e || (s.virtual.slides = s.params.virtual.slides),
3789          s.classNames.push(`${s.params.containerModifierClass}virtual`),
3790          (s.params.watchSlidesProgress = !0),
3791          (s.originalParams.watchSlidesProgress = !0),
3792          c(!1, !0);
3793      }),
3794        r("setTranslate", () => {
3795          s.params.virtual.enabled &&
3796            (s.params.cssMode && !s._immediateVirtual
3797              ? (clearTimeout(t),
3798                (t = setTimeout(() => {
3799                  c();
3800                }, 100)))
3801              : c());
3802        }),
3803        r("init update resize", () => {
3804          s.params.virtual.enabled &&
3805            s.params.cssMode &&
3806            u(s.wrapperEl, "--swiper-virtual-size", `${s.virtualSize}px`);
3807        }),
3808        Object.assign(s.virtual, {
3809          appendSlide: function (e) {
3810            if ("object" == typeof e && "length" in e)
3811              for (let t = 0; t < e.length; t += 1)
3812                e[t] && s.virtual.slides.push(e[t]);
3813            else s.virtual.slides.push(e);
3814            c(!0);
3815          },
3816          prependSlide: function (e) {
3817            const t = s.activeIndex;
3818            let a = t + 1,
3819              i = 1;
3820            if (Array.isArray(e)) {
3821              for (let t = 0; t < e.length; t += 1)
3822                e[t] && s.virtual.slides.unshift(e[t]);
3823              (a = t + e.length), (i = e.length);
3824            } else s.virtual.slides.unshift(e);
3825            if (s.params.virtual.cache) {
3826              const e = s.virtual.cache,
3827                t = {};
3828              Object.keys(e).forEach((s) => {
3829                const a = e[s],
3830                  r = a.getAttribute("data-swiper-slide-index");
3831                r &&
3832                  a.setAttribute(
3833                    "data-swiper-slide-index",
3834                    parseInt(r, 10) + i
3835                  ),
3836                  (t[parseInt(s, 10) + i] = a);
3837              }),
3838                (s.virtual.cache = t);
3839            }
3840            c(!0), s.slideTo(a, 0);
3841          },
3842          removeSlide: function (e) {
3843            if (null == e) return;
3844            let t = s.activeIndex;
3845            if (Array.isArray(e))
3846              for (let a = e.length - 1; a >= 0; a -= 1)
3847                s.params.virtual.cache &&
3848                  (delete s.virtual.cache[e[a]],
3849                  Object.keys(s.virtual.cache).forEach((t) => {
3850                    t > e &&
3851                      ((s.virtual.cache[t - 1] = s.virtual.cache[t]),
3852                      s.virtual.cache[t - 1].setAttribute(
3853                        "data-swiper-slide-index",
3854                        t - 1
3855                      ),
3856                      delete s.virtual.cache[t]);
3857                  })),
3858                  s.virtual.slides.splice(e[a], 1),
3859                  e[a] < t && (t -= 1),
3860                  (t = Math.max(t, 0));
3861            else
3862              s.params.virtual.cache &&
3863                (delete s.virtual.cache[e],
3864                Object.keys(s.virtual.cache).forEach((t) => {
3865                  t > e &&
3866                    ((s.virtual.cache[t - 1] = s.virtual.cache[t]),
3867                    s.virtual.cache[t - 1].setAttribute(
3868                      "data-swiper-slide-index",
3869                      t - 1
3870                    ),
3871                    delete s.virtual.cache[t]);
3872                })),
3873                s.virtual.slides.splice(e, 1),
3874                e < t && (t -= 1),
3875                (t = Math.max(t, 0));
3876            c(!0), s.slideTo(t, 0);
3877          },
3878          removeAllSlides: function () {
3879            (s.virtual.slides = []),
3880              s.params.virtual.cache && (s.virtual.cache = {}),
3881              c(!0),
3882              s.slideTo(0, 0);
3883          },
3884          update: c,
3885        });
3886    },
3887    function (e) {
3888      let { swiper: t, extendParams: s, on: i, emit: n } = e;
3889      const l = a(),
3890        o = r();
3891      function d(e) {
3892        if (!t.enabled) return;
3893        const { rtlTranslate: s } = t;
3894        let a = e;
3895        a.originalEvent && (a = a.originalEvent);
3896        const i = a.keyCode || a.charCode,
3897          r = t.params.keyboard.pageUpDown,
3898          d = r && 33 === i,
3899          c = r && 34 === i,
3900          p = 37 === i,
3901          u = 39 === i,
3902          m = 38 === i,
3903          h = 40 === i;
3904        if (
3905          !t.allowSlideNext &&
3906          ((t.isHorizontal() && u) || (t.isVertical() && h) || c)
3907        )
3908          return !1;
3909        if (
3910          !t.allowSlidePrev &&
3911          ((t.isHorizontal() && p) || (t.isVertical() && m) || d)
3912        )
3913          return !1;
3914        if (
3915          !(
3916            a.shiftKey ||
3917            a.altKey ||
3918            a.ctrlKey ||
3919            a.metaKey ||
3920            (l.activeElement &&
3921              l.activeElement.nodeName &&
3922              ("input" === l.activeElement.nodeName.toLowerCase() ||
3923                "textarea" === l.activeElement.nodeName.toLowerCase()))
3924          )
3925        ) {
3926          if (
3927            t.params.keyboard.onlyInViewport &&
3928            (d || c || p || u || m || h)
3929          ) {
3930            let e = !1;
3931            if (
3932              E(t.el, `.${t.params.slideClass}, swiper-slide`).length > 0 &&
3933              0 === E(t.el, `.${t.params.slideActiveClass}`).length
3934            )
3935              return;
3936            const a = t.el,
3937              i = a.clientWidth,
3938              r = a.clientHeight,
3939              n = o.innerWidth,
3940              l = o.innerHeight,
3941              d = w(a);
3942            s && (d.left -= a.scrollLeft);
3943            const c = [
3944              [d.left, d.top],
3945              [d.left + i, d.top],
3946              [d.left, d.top + r],
3947              [d.left + i, d.top + r],
3948            ];
3949            for (let t = 0; t < c.length; t += 1) {
3950              const s = c[t];
3951              if (s[0] >= 0 && s[0] <= n && s[1] >= 0 && s[1] <= l) {
3952                if (0 === s[0] && 0 === s[1]) continue;
3953                e = !0;
3954              }
3955            }
3956            if (!e) return;
3957          }
3958          t.isHorizontal()
3959            ? ((d || c || p || u) &&
3960                (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)),
3961              (((c || u) && !s) || ((d || p) && s)) && t.slideNext(),
3962              (((d || p) && !s) || ((c || u) && s)) && t.slidePrev())
3963            : ((d || c || m || h) &&
3964                (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)),
3965              (c || h) && t.slideNext(),
3966              (d || m) && t.slidePrev()),
3967            n("keyPress", i);
3968        }
3969      }
3970      function c() {
3971        t.keyboard.enabled ||
3972          (l.addEventListener("keydown", d), (t.keyboard.enabled = !0));
3973      }
3974      function p() {
3975        t.keyboard.enabled &&
3976          (l.removeEventListener("keydown", d), (t.keyboard.enabled = !1));
3977      }
3978      (t.keyboard = { enabled: !1 }),
3979        s({ keyboard: { enabled: !1, onlyInViewport: !0, pageUpDown: !0 } }),
3980        i("init", () => {
3981          t.params.keyboard.enabled && c();
3982        }),
3983        i("destroy", () => {
3984          t.keyboard.enabled && p();
3985        }),
3986        Object.assign(t.keyboard, { enable: c, disable: p });
3987    },
3988    function (e) {
3989      let { swiper: t, extendParams: s, on: a, emit: i } = e;
3990      const n = r();
3991      let d;
3992      s({
3993        mousewheel: {
3994          enabled: !1,
3995          releaseOnEdges: !1,
3996          invert: !1,
3997          forceToAxis: !1,
3998          sensitivity: 1,
3999          eventsTarget: "container",
4000          thresholdDelta: null,
4001          thresholdTime: null,
4002          noMousewheelClass: "swiper-no-mousewheel",
4003        },
4004      }),
4005        (t.mousewheel = { enabled: !1 });
4006      let c,
4007        p = o();
4008      const u = [];
4009      function m() {
4010        t.enabled && (t.mouseEntered = !0);
4011      }
4012      function h() {
4013        t.enabled && (t.mouseEntered = !1);
4014      }
4015      function f(e) {
4016        return (
4017          !(
4018            t.params.mousewheel.thresholdDelta &&
4019            e.delta < t.params.mousewheel.thresholdDelta
4020          ) &&
4021          !(
4022            t.params.mousewheel.thresholdTime &&
4023            o() - p < t.params.mousewheel.thresholdTime
4024          ) &&
4025          ((e.delta >= 6 && o() - p < 60) ||
4026            (e.direction < 0
4027              ? (t.isEnd && !t.params.loop) ||
4028                t.animating ||
4029                (t.slideNext(), i("scroll", e.raw))
4030              : (t.isBeginning && !t.params.loop) ||
4031                t.animating ||
4032                (t.slidePrev(), i("scroll", e.raw)),
4033            (p = new n.Date().getTime()),
4034            !1))
4035        );
4036      }
4037      function g(e) {
4038        let s = e,
4039          a = !0;
4040        if (!t.enabled) return;
4041        if (e.target.closest(`.${t.params.mousewheel.noMousewheelClass}`))
4042          return;
4043        const r = t.params.mousewheel;
4044        t.params.cssMode && s.preventDefault();
4045        let n = t.el;
4046        "container" !== t.params.mousewheel.eventsTarget &&
4047          (n = document.querySelector(t.params.mousewheel.eventsTarget));
4048        const p = n && n.contains(s.target);
4049        if (!t.mouseEntered && !p && !r.releaseOnEdges) return !0;
4050        s.originalEvent && (s = s.originalEvent);
4051        let m = 0;
4052        const h = t.rtlTranslate ? -1 : 1,
4053          g = (function (e) {
4054            let t = 0,
4055              s = 0,
4056              a = 0,
4057              i = 0;
4058            return (
4059              "detail" in e && (s = e.detail),
4060              "wheelDelta" in e && (s = -e.wheelDelta / 120),
4061              "wheelDeltaY" in e && (s = -e.wheelDeltaY / 120),
4062              "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120),
4063              "axis" in e && e.axis === e.HORIZONTAL_AXIS && ((t = s), (s = 0)),
4064              (a = 10 * t),
4065              (i = 10 * s),
4066              "deltaY" in e && (i = e.deltaY),
4067              "deltaX" in e && (a = e.deltaX),
4068              e.shiftKey && !a && ((a = i), (i = 0)),
4069              (a || i) &&
4070                e.deltaMode &&
4071                (1 === e.deltaMode
4072                  ? ((a *= 40), (i *= 40))
4073                  : ((a *= 800), (i *= 800))),
4074              a && !t && (t = a < 1 ? -1 : 1),
4075              i && !s && (s = i < 1 ? -1 : 1),
4076              { spinX: t, spinY: s, pixelX: a, pixelY: i }
4077            );
4078          })(s);
4079        if (r.forceToAxis)
4080          if (t.isHorizontal()) {
4081            if (!(Math.abs(g.pixelX) > Math.abs(g.pixelY))) return !0;
4082            m = -g.pixelX * h;
4083          } else {
4084            if (!(Math.abs(g.pixelY) > Math.abs(g.pixelX))) return !0;
4085            m = -g.pixelY;
4086          }
4087        else
4088          m =
4089            Math.abs(g.pixelX) > Math.abs(g.pixelY) ? -g.pixelX * h : -g.pixelY;
4090        if (0 === m) return !0;
4091        r.invert && (m = -m);
4092        let v = t.getTranslate() + m * r.sensitivity;
4093        if (
4094          (v >= t.minTranslate() && (v = t.minTranslate()),
4095          v <= t.maxTranslate() && (v = t.maxTranslate()),
4096          (a =
4097            !!t.params.loop ||
4098            !(v === t.minTranslate() || v === t.maxTranslate())),
4099          a && t.params.nested && s.stopPropagation(),
4100          t.params.freeMode && t.params.freeMode.enabled)
4101        ) {
4102          const e = { time: o(), delta: Math.abs(m), direction: Math.sign(m) },
4103            a =
4104              c &&
4105              e.time < c.time + 500 &&
4106              e.delta <= c.delta &&
4107              e.direction === c.direction;
4108          if (!a) {
4109            c = void 0;
4110            let n = t.getTranslate() + m * r.sensitivity;
4111            const o = t.isBeginning,
4112              p = t.isEnd;
4113            if (
4114              (n >= t.minTranslate() && (n = t.minTranslate()),
4115              n <= t.maxTranslate() && (n = t.maxTranslate()),
4116              t.setTransition(0),
4117              t.setTranslate(n),
4118              t.updateProgress(),
4119              t.updateActiveIndex(),
4120              t.updateSlidesClasses(),
4121              ((!o && t.isBeginning) || (!p && t.isEnd)) &&
4122                t.updateSlidesClasses(),
4123              t.params.loop &&
4124                t.loopFix({
4125                  direction: e.direction < 0 ? "next" : "prev",
4126                  byMousewheel: !0,
4127                }),
4128              t.params.freeMode.sticky)
4129            ) {
4130              clearTimeout(d), (d = void 0), u.length >= 15 && u.shift();
4131              const s = u.length ? u[u.length - 1] : void 0,
4132                a = u[0];
4133              if (
4134                (u.push(e),
4135                s && (e.delta > s.delta || e.direction !== s.direction))
4136              )
4137                u.splice(0);
4138              else if (
4139                u.length >= 15 &&
4140                e.time - a.time < 500 &&
4141                a.delta - e.delta >= 1 &&
4142                e.delta <= 6
4143              ) {
4144                const s = m > 0 ? 0.8 : 0.2;
4145                (c = e),
4146                  u.splice(0),
4147                  (d = l(() => {
4148                    !t.destroyed &&
4149                      t.params &&
4150                      t.slideToClosest(t.params.speed, !0, void 0, s);
4151                  }, 0));
4152              }
4153              d ||
4154                (d = l(() => {
4155                  if (t.destroyed || !t.params) return;
4156                  (c = e),
4157                    u.splice(0),
4158                    t.slideToClosest(t.params.speed, !0, void 0, 0.5);
4159                }, 500));
4160            }
4161            if (
4162              (a || i("scroll", s),
4163              t.params.autoplay &&
4164                t.params.autoplay.disableOnInteraction &&
4165                t.autoplay.stop(),
4166              r.releaseOnEdges &&
4167                (n === t.minTranslate() || n === t.maxTranslate()))
4168            )
4169              return !0;
4170          }
4171        } else {
4172          const s = {
4173            time: o(),
4174            delta: Math.abs(m),
4175            direction: Math.sign(m),
4176            raw: e,
4177          };
4178          u.length >= 2 && u.shift();
4179          const a = u.length ? u[u.length - 1] : void 0;
4180          if (
4181            (u.push(s),
4182            a
4183              ? (s.direction !== a.direction ||
4184                  s.delta > a.delta ||
4185                  s.time > a.time + 150) &&
4186                f(s)
4187              : f(s),
4188            (function (e) {
4189              const s = t.params.mousewheel;
4190              if (e.direction < 0) {
4191                if (t.isEnd && !t.params.loop && s.releaseOnEdges) return !0;
4192              } else if (t.isBeginning && !t.params.loop && s.releaseOnEdges)
4193                return !0;
4194              return !1;
4195            })(s))
4196          )
4197            return !0;
4198        }
4199        return s.preventDefault ? s.preventDefault() : (s.returnValue = !1), !1;
4200      }
4201      function v(e) {
4202        let s = t.el;
4203        "container" !== t.params.mousewheel.eventsTarget &&
4204          (s = document.querySelector(t.params.mousewheel.eventsTarget)),
4205          s[e]("mouseenter", m),
4206          s[e]("mouseleave", h),
4207          s[e]("wheel", g);
4208      }
4209      function w() {
4210        return t.params.cssMode
4211          ? (t.wrapperEl.removeEventListener("wheel", g), !0)
4212          : !t.mousewheel.enabled &&
4213              (v("addEventListener"), (t.mousewheel.enabled = !0), !0);
4214      }
4215      function b() {
4216        return t.params.cssMode
4217          ? (t.wrapperEl.addEventListener(event, g), !0)
4218          : !!t.mousewheel.enabled &&
4219              (v("removeEventListener"), (t.mousewheel.enabled = !1), !0);
4220      }
4221      a("init", () => {
4222        !t.params.mousewheel.enabled && t.params.cssMode && b(),
4223          t.params.mousewheel.enabled && w();
4224      }),
4225        a("destroy", () => {
4226          t.params.cssMode && w(), t.mousewheel.enabled && b();
4227        }),
4228        Object.assign(t.mousewheel, { enable: w, disable: b });
4229    },
4230    function (e) {
4231      let { swiper: t, extendParams: s, on: a, emit: i } = e;
4232      function r(e) {
4233        let s;
4234        return e &&
4235          "string" == typeof e &&
4236          t.isElement &&
4237          ((s = t.el.querySelector(e) || t.hostEl.querySelector(e)), s)
4238          ? s
4239          : (e &&
4240              ("string" == typeof e && (s = [...document.querySelectorAll(e)]),
4241              t.params.uniqueNavElements &&
4242              "string" == typeof e &&
4243              s &&
4244              s.length > 1 &&
4245              1 === t.el.querySelectorAll(e).length
4246                ? (s = t.el.querySelector(e))
4247                : s && 1 === s.length && (s = s[0])),
4248            e && !s ? e : s);
4249      }
4250      function n(e, s) {
4251        const a = t.params.navigation;
4252        (e = T(e)).forEach((e) => {
4253          e &&
4254            (e.classList[s ? "add" : "remove"](...a.disabledClass.split(" ")),
4255            "BUTTON" === e.tagName && (e.disabled = s),
4256            t.params.watchOverflow &&
4257              t.enabled &&
4258              e.classList[t.isLocked ? "add" : "remove"](a.lockClass));
4259        });
4260      }
4261      function l() {
4262        const { nextEl: e, prevEl: s } = t.navigation;
4263        if (t.params.loop) return n(s, !1), void n(e, !1);
4264        n(s, t.isBeginning && !t.params.rewind),
4265          n(e, t.isEnd && !t.params.rewind);
4266      }
4267      function o(e) {
4268        e.preventDefault(),
4269          (!t.isBeginning || t.params.loop || t.params.rewind) &&
4270            (t.slidePrev(), i("navigationPrev"));
4271      }
4272      function d(e) {
4273        e.preventDefault(),
4274          (!t.isEnd || t.params.loop || t.params.rewind) &&
4275            (t.slideNext(), i("navigationNext"));
4276      }
4277      function c() {
4278        const e = t.params.navigation;
4279        if (
4280          ((t.params.navigation = re(
4281            t,
4282            t.originalParams.navigation,
4283            t.params.navigation,
4284            { nextEl: "swiper-button-next", prevEl: "swiper-button-prev" }
4285          )),
4286          !e.nextEl && !e.prevEl)
4287        )
4288          return;
4289        let s = r(e.nextEl),
4290          a = r(e.prevEl);
4291        Object.assign(t.navigation, { nextEl: s, prevEl: a }),
4292          (s = T(s)),
4293          (a = T(a));
4294        const i = (s, a) => {
4295          s && s.addEventListener("click", "next" === a ? d : o),
4296            !t.enabled && s && s.classList.add(...e.lockClass.split(" "));
4297        };
4298        s.forEach((e) => i(e, "next")), a.forEach((e) => i(e, "prev"));
4299      }
4300      function p() {
4301        let { nextEl: e, prevEl: s } = t.navigation;
4302        (e = T(e)), (s = T(s));
4303        const a = (e, s) => {
4304          e.removeEventListener("click", "next" === s ? d : o),
4305            e.classList.remove(...t.params.navigation.disabledClass.split(" "));
4306        };
4307        e.forEach((e) => a(e, "next")), s.forEach((e) => a(e, "prev"));
4308      }
4309      s({
4310        navigation: {
4311          nextEl: null,
4312          prevEl: null,
4313          hideOnClick: !1,
4314          disabledClass: "swiper-button-disabled",
4315          hiddenClass: "swiper-button-hidden",
4316          lockClass: "swiper-button-lock",
4317          navigationDisabledClass: "swiper-navigation-disabled",
4318        },
4319      }),
4320        (t.navigation = { nextEl: null, prevEl: null }),
4321        a("init", () => {
4322          !1 === t.params.navigation.enabled ? u() : (c(), l());
4323        }),
4324        a("toEdge fromEdge lock unlock", () => {
4325          l();
4326        }),
4327        a("destroy", () => {
4328          p();
4329        }),
4330        a("enable disable", () => {
4331          let { nextEl: e, prevEl: s } = t.navigation;
4332          (e = T(e)),
4333            (s = T(s)),
4334            t.enabled
4335              ? l()
4336              : [...e, ...s]
4337                  .filter((e) => !!e)
4338                  .forEach((e) =>
4339                    e.classList.add(t.params.navigation.lockClass)
4340                  );
4341        }),
4342        a("click", (e, s) => {
4343          let { nextEl: a, prevEl: r } = t.navigation;
4344          (a = T(a)), (r = T(r));
4345          const n = s.target;
4346          let l = r.includes(n) || a.includes(n);
4347          if (t.isElement && !l) {
4348            const e = s.path || (s.composedPath && s.composedPath());
4349            e && (l = e.find((e) => a.includes(e) || r.includes(e)));
4350          }
4351          if (t.params.navigation.hideOnClick && !l) {
4352            if (
4353              t.pagination &&
4354              t.params.pagination &&
4355              t.params.pagination.clickable &&
4356              (t.pagination.el === n || t.pagination.el.contains(n))
4357            )
4358              return;
4359            let e;
4360            a.length
4361              ? (e = a[0].classList.contains(t.params.navigation.hiddenClass))
4362              : r.length &&
4363                (e = r[0].classList.contains(t.params.navigation.hiddenClass)),
4364              i(!0 === e ? "navigationShow" : "navigationHide"),
4365              [...a, ...r]
4366                .filter((e) => !!e)
4367                .forEach((e) =>
4368                  e.classList.toggle(t.params.navigation.hiddenClass)
4369                );
4370          }
4371        });
4372      const u = () => {
4373        t.el.classList.add(
4374          ...t.params.navigation.navigationDisabledClass.split(" ")
4375        ),
4376          p();
4377      };
4378      Object.assign(t.navigation, {
4379        enable: () => {
4380          t.el.classList.remove(
4381            ...t.params.navigation.navigationDisabledClass.split(" ")
4382          ),
4383            c(),
4384            l();
4385        },
4386        disable: u,
4387        update: l,
4388        init: c,
4389        destroy: p,
4390      });
4391    },
4392    function (e) {
4393      let { swiper: t, extendParams: s, on: a, emit: i } = e;
4394      const r = "swiper-pagination";
4395      let n;
4396      s({
4397        pagination: {
4398          el: null,
4399          bulletElement: "span",
4400          clickable: !1,
4401          hideOnClick: !1,
4402          renderBullet: null,
4403          renderProgressbar: null,
4404          renderFraction: null,
4405          renderCustom: null,
4406          progressbarOpposite: !1,
4407          type: "bullets",
4408          dynamicBullets: !1,
4409          dynamicMainBullets: 1,
4410          formatFractionCurrent: (e) => e,
4411          formatFractionTotal: (e) => e,
4412          bulletClass: `${r}-bullet`,
4413          bulletActiveClass: `${r}-bullet-active`,
4414          modifierClass: `${r}-`,
4415          currentClass: `${r}-current`,
4416          totalClass: `${r}-total`,
4417          hiddenClass: `${r}-hidden`,
4418          progressbarFillClass: `${r}-progressbar-fill`,
4419          progressbarOppositeClass: `${r}-progressbar-opposite`,
4420          clickableClass: `${r}-clickable`,
4421          lockClass: `${r}-lock`,
4422          horizontalClass: `${r}-horizontal`,
4423          verticalClass: `${r}-vertical`,
4424          paginationDisabledClass: `${r}-disabled`,
4425        },
4426      }),
4427        (t.pagination = { el: null, bullets: [] });
4428      let l = 0;
4429      function o() {
4430        return (
4431          !t.params.pagination.el ||
4432          !t.pagination.el ||
4433          (Array.isArray(t.pagination.el) && 0 === t.pagination.el.length)
4434        );
4435      }
4436      function d(e, s) {
4437        const { bulletActiveClass: a } = t.params.pagination;
4438        e &&
4439          (e = e[("prev" === s ? "previous" : "next") + "ElementSibling"]) &&
4440          (e.classList.add(`${a}-${s}`),
4441          (e = e[("prev" === s ? "previous" : "next") + "ElementSibling"]) &&
4442            e.classList.add(`${a}-${s}-${s}`));
4443      }
4444      function c(e) {
4445        const s = e.target.closest(ne(t.params.pagination.bulletClass));
4446        if (!s) return;
4447        e.preventDefault();
4448        const a = y(s) * t.params.slidesPerGroup;
4449        if (t.params.loop) {
4450          if (t.realIndex === a) return;
4451          const e =
4452            ((i = t.realIndex),
4453            (r = a),
4454            (n = t.slides.length),
4455            (r %= n) == 1 + (i %= n)
4456              ? "next"
4457              : r === i - 1
4458              ? "previous"
4459              : void 0);
4460          "next" === e
4461            ? t.slideNext()
4462            : "previous" === e
4463            ? t.slidePrev()
4464            : t.slideToLoop(a);
4465        } else t.slideTo(a);
4466        var i, r, n;
4467      }
4468      function p() {
4469        const e = t.rtl,
4470          s = t.params.pagination;
4471        if (o()) return;
4472        let a,
4473          r,
4474          c = t.pagination.el;
4475        c = T(c);
4476        const p =
4477            t.virtual && t.params.virtual.enabled
4478              ? t.virtual.slides.length
4479              : t.slides.length,
4480          u = t.params.loop
4481            ? Math.ceil(p / t.params.slidesPerGroup)
4482            : t.snapGrid.length;
4483        if (
4484          (t.params.loop
4485            ? ((r = t.previousRealIndex || 0),
4486              (a =
4487                t.params.slidesPerGroup > 1
4488                  ? Math.floor(t.realIndex / t.params.slidesPerGroup)
4489                  : t.realIndex))
4490            : void 0 !== t.snapIndex
4491            ? ((a = t.snapIndex), (r = t.previousSnapIndex))
4492            : ((r = t.previousIndex || 0), (a = t.activeIndex || 0)),
4493          "bullets" === s.type &&
4494            t.pagination.bullets &&
4495            t.pagination.bullets.length > 0)
4496        ) {
4497          const i = t.pagination.bullets;
4498          let o, p, u;
4499          if (
4500            (s.dynamicBullets &&
4501              ((n = S(i[0], t.isHorizontal() ? "width" : "height", !0)),
4502              c.forEach((e) => {
4503                e.style[t.isHorizontal() ? "width" : "height"] =
4504                  n * (s.dynamicMainBullets + 4) + "px";
4505              }),
4506              s.dynamicMainBullets > 1 &&
4507                void 0 !== r &&
4508                ((l += a - (r || 0)),
4509                l > s.dynamicMainBullets - 1
4510                  ? (l = s.dynamicMainBullets - 1)
4511                  : l < 0 && (l = 0)),
4512              (o = Math.max(a - l, 0)),
4513              (p = o + (Math.min(i.length, s.dynamicMainBullets) - 1)),
4514              (u = (p + o) / 2)),
4515            i.forEach((e) => {
4516              const t = [
4517                ...[
4518                  "",
4519                  "-next",
4520                  "-next-next",
4521                  "-prev",
4522                  "-prev-prev",
4523                  "-main",
4524                ].map((e) => `${s.bulletActiveClass}${e}`),
4525              ]
4526                .map((e) =>
4527                  "string" == typeof e && e.includes(" ") ? e.split(" ") : e
4528                )
4529                .flat();
4530              e.classList.remove(...t);
4531            }),
4532            c.length > 1)
4533          )
4534            i.forEach((e) => {
4535              const i = y(e);
4536              i === a
4537                ? e.classList.add(...s.bulletActiveClass.split(" "))
4538                : t.isElement && e.setAttribute("part", "bullet"),
4539                s.dynamicBullets &&
4540                  (i >= o &&
4541                    i <= p &&
4542                    e.classList.add(
4543                      ...`${s.bulletActiveClass}-main`.split(" ")
4544                    ),
4545                  i === o && d(e, "prev"),
4546                  i === p && d(e, "next"));
4547            });
4548          else {
4549            const e = i[a];
4550            if (
4551              (e && e.classList.add(...s.bulletActiveClass.split(" ")),
4552              t.isElement &&
4553                i.forEach((e, t) => {
4554                  e.setAttribute("part", t === a ? "bullet-active" : "bullet");
4555                }),
4556              s.dynamicBullets)
4557            ) {
4558              const e = i[o],
4559                t = i[p];
4560              for (let e = o; e <= p; e += 1)
4561                i[e] &&
4562                  i[e].classList.add(
4563                    ...`${s.bulletActiveClass}-main`.split(" ")
4564                  );
4565              d(e, "prev"), d(t, "next");
4566            }
4567          }
4568          if (s.dynamicBullets) {
4569            const a = Math.min(i.length, s.dynamicMainBullets + 4),
4570              r = (n * a - n) / 2 - u * n,
4571              l = e ? "right" : "left";
4572            i.forEach((e) => {
4573              e.style[t.isHorizontal() ? l : "top"] = `${r}px`;
4574            });
4575          }
4576        }
4577        c.forEach((e, r) => {
4578          if (
4579            ("fraction" === s.type &&
4580              (e.querySelectorAll(ne(s.currentClass)).forEach((e) => {
4581                e.textContent = s.formatFractionCurrent(a + 1);
4582              }),
4583              e.querySelectorAll(ne(s.totalClass)).forEach((e) => {
4584                e.textContent = s.formatFractionTotal(u);
4585              })),
4586            "progressbar" === s.type)
4587          ) {
4588            let i;
4589            i = s.progressbarOpposite
4590              ? t.isHorizontal()
4591                ? "vertical"
4592                : "horizontal"
4593              : t.isHorizontal()
4594              ? "horizontal"
4595              : "vertical";
4596            const r = (a + 1) / u;
4597            let n = 1,
4598              l = 1;
4599            "horizontal" === i ? (n = r) : (l = r),
4600              e.querySelectorAll(ne(s.progressbarFillClass)).forEach((e) => {
4601                (e.style.transform = `translate3d(0,0,0) scaleX(${n}) scaleY(${l})`),
4602                  (e.style.transitionDuration = `${t.params.speed}ms`);
4603              });
4604          }
4605          "custom" === s.type && s.renderCustom
4606            ? ((e.innerHTML = s.renderCustom(t, a + 1, u)),
4607              0 === r && i("paginationRender", e))
4608            : (0 === r && i("paginationRender", e), i("paginationUpdate", e)),
4609            t.params.watchOverflow &&
4610              t.enabled &&
4611              e.classList[t.isLocked ? "add" : "remove"](s.lockClass);
4612        });
4613      }
4614      function u() {
4615        const e = t.params.pagination;
4616        if (o()) return;
4617        const s =
4618          t.virtual && t.params.virtual.enabled
4619            ? t.virtual.slides.length
4620            : t.grid && t.params.grid.rows > 1
4621            ? t.slides.length / Math.ceil(t.params.grid.rows)
4622            : t.slides.length;
4623        let a = t.pagination.el;
4624        a = T(a);
4625        let r = "";
4626        if ("bullets" === e.type) {
4627          let a = t.params.loop
4628            ? Math.ceil(s / t.params.slidesPerGroup)
4629            : t.snapGrid.length;
4630          t.params.freeMode && t.params.freeMode.enabled && a > s && (a = s);
4631          for (let s = 0; s < a; s += 1)
4632            e.renderBullet
4633              ? (r += e.renderBullet.call(t, s, e.bulletClass))
4634              : (r += `<${e.bulletElement} ${
4635                  t.isElement ? 'part="bullet"' : ""
4636                } class="${e.bulletClass}"></${e.bulletElement}>`);
4637        }
4638        "fraction" === e.type &&
4639          (r = e.renderFraction
4640            ? e.renderFraction.call(t, e.currentClass, e.totalClass)
4641            : `<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`),
4642          "progressbar" === e.type &&
4643            (r = e.renderProgressbar
4644              ? e.renderProgressbar.call(t, e.progressbarFillClass)
4645              : `<span class="${e.progressbarFillClass}"></span>`),
4646          (t.pagination.bullets = []),
4647          a.forEach((s) => {
4648            "custom" !== e.type && (s.innerHTML = r || ""),
4649              "bullets" === e.type &&
4650                t.pagination.bullets.push(
4651                  ...s.querySelectorAll(ne(e.bulletClass))
4652                );
4653          }),
4654          "custom" !== e.type && i("paginationRender", a[0]);
4655      }
4656      function m() {
4657        t.params.pagination = re(
4658          t,
4659          t.originalParams.pagination,
4660          t.params.pagination,
4661          { el: "swiper-pagination" }
4662        );
4663        const e = t.params.pagination;
4664        if (!e.el) return;
4665        let s;
4666        "string" == typeof e.el &&
4667          t.isElement &&
4668          (s = t.el.querySelector(e.el)),
4669          s ||
4670            "string" != typeof e.el ||
4671            (s = [...document.querySelectorAll(e.el)]),
4672          s || (s = e.el),
4673          s &&
4674            0 !== s.length &&
4675            (t.params.uniqueNavElements &&
4676              "string" == typeof e.el &&
4677              Array.isArray(s) &&
4678              s.length > 1 &&
4679              ((s = [...t.el.querySelectorAll(e.el)]),
4680              s.length > 1 && (s = s.find((e) => E(e, ".swiper")[0] === t.el))),
4681            Array.isArray(s) && 1 === s.length && (s = s[0]),
4682            Object.assign(t.pagination, { el: s }),
4683            (s = T(s)),
4684            s.forEach((s) => {
4685              "bullets" === e.type &&
4686                e.clickable &&
4687                s.classList.add(...(e.clickableClass || "").split(" ")),
4688                s.classList.add(e.modifierClass + e.type),
4689                s.classList.add(
4690                  t.isHorizontal() ? e.horizontalClass : e.verticalClass
4691                ),
4692                "bullets" === e.type &&
4693                  e.dynamicBullets &&
4694                  (s.classList.add(`${e.modifierClass}${e.type}-dynamic`),
4695                  (l = 0),
4696                  e.dynamicMainBullets < 1 && (e.dynamicMainBullets = 1)),
4697                "progressbar" === e.type &&
4698                  e.progressbarOpposite &&
4699                  s.classList.add(e.progressbarOppositeClass),
4700                e.clickable && s.addEventListener("click", c),
4701                t.enabled || s.classList.add(e.lockClass);
4702            }));
4703      }
4704      function h() {
4705        const e = t.params.pagination;
4706        if (o()) return;
4707        let s = t.pagination.el;
4708        s &&
4709          ((s = T(s)),
4710          s.forEach((s) => {
4711            s.classList.remove(e.hiddenClass),
4712              s.classList.remove(e.modifierClass + e.type),
4713              s.classList.remove(
4714                t.isHorizontal() ? e.horizontalClass : e.verticalClass
4715              ),
4716              e.clickable &&
4717                (s.classList.remove(...(e.clickableClass || "").split(" ")),
4718                s.removeEventListener("click", c));
4719          })),
4720          t.pagination.bullets &&
4721            t.pagination.bullets.forEach((t) =>
4722              t.classList.remove(...e.bulletActiveClass.split(" "))
4723            );
4724      }
4725      a("changeDirection", () => {
4726        if (!t.pagination || !t.pagination.el) return;
4727        const e = t.params.pagination;
4728        let { el: s } = t.pagination;
4729        (s = T(s)),
4730          s.forEach((s) => {
4731            s.classList.remove(e.horizontalClass, e.verticalClass),
4732              s.classList.add(
4733                t.isHorizontal() ? e.horizontalClass : e.verticalClass
4734              );
4735          });
4736      }),
4737        a("init", () => {
4738          !1 === t.params.pagination.enabled ? f() : (m(), u(), p());
4739        }),
4740        a("activeIndexChange", () => {
4741          void 0 === t.snapIndex && p();
4742        }),
4743        a("snapIndexChange", () => {
4744          p();
4745        }),
4746        a("snapGridLengthChange", () => {
4747          u(), p();
4748        }),
4749        a("destroy", () => {
4750          h();
4751        }),
4752        a("enable disable", () => {
4753          let { el: e } = t.pagination;
4754          e &&
4755            ((e = T(e)),
4756            e.forEach((e) =>
4757              e.classList[t.enabled ? "remove" : "add"](
4758                t.params.pagination.lockClass
4759              )
4760            ));
4761        }),
4762        a("lock unlock", () => {
4763          p();
4764        }),
4765        a("click", (e, s) => {
4766          const a = s.target,
4767            r = T(t.pagination.el);
4768          if (
4769            t.params.pagination.el &&
4770            t.params.pagination.hideOnClick &&
4771            r &&
4772            r.length > 0 &&
4773            !a.classList.contains(t.params.pagination.bulletClass)
4774          ) {
4775            if (
4776              t.navigation &&
4777              ((t.navigation.nextEl && a === t.navigation.nextEl) ||
4778                (t.navigation.prevEl && a === t.navigation.prevEl))
4779            )
4780              return;
4781            const e = r[0].classList.contains(t.params.pagination.hiddenClass);
4782            i(!0 === e ? "paginationShow" : "paginationHide"),
4783              r.forEach((e) =>
4784                e.classList.toggle(t.params.pagination.hiddenClass)
4785              );
4786          }
4787        });
4788      const f = () => {
4789        t.el.classList.add(t.params.pagination.paginationDisabledClass);
4790        let { el: e } = t.pagination;
4791        e &&
4792          ((e = T(e)),
4793          e.forEach((e) =>
4794            e.classList.add(t.params.pagination.paginationDisabledClass)
4795          )),
4796          h();
4797      };
4798      Object.assign(t.pagination, {
4799        enable: () => {
4800          t.el.classList.remove(t.params.pagination.paginationDisabledClass);
4801          let { el: e } = t.pagination;
4802          e &&
4803            ((e = T(e)),
4804            e.forEach((e) =>
4805              e.classList.remove(t.params.pagination.paginationDisabledClass)
4806            )),
4807            m(),
4808            u(),
4809            p();
4810        },
4811        disable: f,
4812        render: u,
4813        update: p,
4814        init: m,
4815        destroy: h,
4816      });
4817    },
4818    function (e) {
4819      let { swiper: t, extendParams: s, on: i, emit: r }
4819 = e;
4820      const o = a();
4821      let d,
4822        c,
4823        p,
4824        u,
4825        m = !1,
4826        h = null,
4827        f = null;
4828      function g() {
4829        if (!t.params.scrollbar.el || !t.scrollbar.el) return;
4830        const { scrollbar: e, rtlTranslate: s } = t,
4831          { dragEl: a, el: i } = e,
4832          r = t.params.scrollbar,
4833          n = t.params.loop ? t.progressLoop : t.progress;
4834        let l = c,
4835          o = (p - c) * n;
4836        s
4837          ? ((o = -o),
4838            o > 0 ? ((l = c - o), (o = 0)) : -o + c > p && (l = p + o))
4839          : o < 0
4840          ? ((l = c + o), (o = 0))
4841          : o + c > p && (l = p - o),
4842          t.isHorizontal()
4843            ? ((a.style.transform = `translate3d(${o}px, 0, 0)`),
4844              (a.style.width = `${l}px`))
4845            : ((a.style.transform = `translate3d(0px, ${o}px, 0)`),
4846              (a.style.height = `${l}px`)),
4847          r.hide &&
4848            (clearTimeout(h),
4849            (i.style.opacity = 1),
4850            (h = setTimeout(() => {
4851              (i.style.opacity = 0), (i.style.transitionDuration = "400ms");
4852            }, 1e3)));
4853      }
4854      function b() {
4855        if (!t.params.scrollbar.el || !t.scrollbar.el) return;
4856        const { scrollbar: e } = t,
4857          { dragEl: s, el: a } = e;
4858        (s.style.width = ""),
4859          (s.style.height = ""),
4860          (p = t.isHorizontal() ? a.offsetWidth : a.offsetHeight),
4861          (u =
4862            t.size /
4863            (t.virtualSize +
4864              t.params.slidesOffsetBefore -
4865              (t.params.centeredSlides ? t.snapGrid[0] : 0))),
4866          (c =
4867            "auto" === t.params.scrollbar.dragSize
4868              ? p * u
4869              : parseInt(t.params.scrollbar.dragSize, 10)),
4870          t.isHorizontal()
4871            ? (s.style.width = `${c}px`)
4872            : (s.style.height = `${c}px`),
4873          (a.style.display = u >= 1 ? "none" : ""),
4874          t.params.scrollbar.hide && (a.style.opacity = 0),
4875          t.params.watchOverflow &&
4876            t.enabled &&
4877            e.el.classList[t.isLocked ? "add" : "remove"](
4878              t.params.scrollbar.lockClass
4879            );
4880      }
4881      function y(e) {
4882        return t.isHorizontal() ? e.clientX : e.clientY;
4883      }
4884      function E(e) {
4885        const { scrollbar: s, rtlTranslate: a } = t,
4886          { el: i } = s;
4887        let r;
4888        (r =
4889          (y(e) -
4890            w(i)[t.isHorizontal() ? "left" : "top"] -
4891            (null !== d ? d : c / 2)) /
4892          (p - c)),
4893          (r = Math.max(Math.min(r, 1), 0)),
4894          a && (r = 1 - r);
4895        const n = t.minTranslate() + (t.maxTranslate() - t.minTranslate()) * r;
4896        t.updateProgress(n),
4897          t.setTranslate(n),
4898          t.updateActiveIndex(),
4899          t.updateSlidesClasses();
4900      }
4901      function x(e) {
4902        const s = t.params.scrollbar,
4903          { scrollbar: a, wrapperEl: i } = t,
4904          { el: n, dragEl: l } = a;
4905        (m = !0),
4906          (d =
4907            e.target === l
4908              ? y(e) -
4909                e.target.getBoundingClientRect()[
4910                  t.isHorizontal() ? "left" : "top"
4911                ]
4912              : null),
4913          e.preventDefault(),
4914          e.stopPropagation(),
4915          (i.style.transitionDuration = "100ms"),
4916          (l.style.transitionDuration = "100ms"),
4917          E(e),
4918          clearTimeout(f),
4919          (n.style.transitionDuration = "0ms"),
4920          s.hide && (n.style.opacity = 1),
4921          t.params.cssMode && (t.wrapperEl.style["scroll-snap-type"] = "none"),
4922          r("scrollbarDragStart", e);
4923      }
4924      function S(e) {
4925        const { scrollbar: s, wrapperEl: a } = t,
4926          { el: i, dragEl: n } = s;
4927        m &&
4928          (e.preventDefault && e.cancelable
4929            ? e.preventDefault()
4930            : (e.returnValue = !1),
4931          E(e),
4932          (a.style.transitionDuration = "0ms"),
4933          (i.style.transitionDuration = "0ms"),
4934          (n.style.transitionDuration = "0ms"),
4935          r("scrollbarDragMove", e));
4936      }
4937      function M(e) {
4938        const s = t.params.scrollbar,
4939          { scrollbar: a, wrapperEl: i } = t,
4940          { el: n } = a;
4941        m &&
4942          ((m = !1),
4943          t.params.cssMode &&
4944            ((t.wrapperEl.style["scroll-snap-type"] = ""),
4945            (i.style.transitionDuration = "")),
4946          s.hide &&
4947            (clearTimeout(f),
4948            (f = l(() => {
4949              (n.style.opacity = 0), (n.style.transitionDuration = "400ms");
4950            }, 1e3))),
4951          r("scrollbarDragEnd", e),
4952          s.snapOnRelease && t.slideToClosest());
4953      }
4954      function C(e) {
4955        const { scrollbar: s, params: a } = t,
4956          i = s.el;
4957        if (!i) return;
4958        const r = i,
4959          n = !!a.passiveListeners && { passive: !1, capture: !1 },
4960          l = !!a.passiveListeners && { passive: !0, capture: !1 };
4961        if (!r) return;
4962        const d = "on" === e ? "addEventListener" : "removeEventListener";
4963        r[d]("pointerdown", x, n),
4964          o[d]("pointermove", S, n),
4965          o[d]("pointerup", M, l);
4966      }
4967      function P() {
4968        const { scrollbar: e, el: s } = t;
4969        t.params.scrollbar = re(
4970          t,
4971          t.originalParams.scrollbar,
4972          t.params.scrollbar,
4973          { el: "swiper-scrollbar" }
4974        );
4975        const a = t.params.scrollbar;
4976        if (!a.el) return;
4977        let i, r;
4978        if (
4979          ("string" == typeof a.el &&
4980            t.isElement &&
4981            (i = t.el.querySelector(a.el)),
4982          i || "string" != typeof a.el)
4983        )
4984          i || (i = a.el);
4985        else if (((i = o.querySelectorAll(a.el)), !i.length)) return;
4986        t.params.uniqueNavElements &&
4987          "string" == typeof a.el &&
4988          i.length > 1 &&
4989          1 === s.querySelectorAll(a.el).length &&
4990          (i = s.querySelector(a.el)),
4991          i.length > 0 && (i = i[0]),
4992          i.classList.add(
4993            t.isHorizontal() ? a.horizontalClass : a.verticalClass
4994          ),
4995          i &&
4996            ((r = i.querySelector(ne(t.params.scrollbar.dragClass))),
4997            r || ((r = v("div", t.params.scrollbar.dragClass)), i.append(r))),
4998          Object.assign(e, { el: i, dragEl: r }),
4999          a.draggable && t.params.scrollbar.el && t.scrollbar.el && C("on"),
5000          i &&
5001            i.classList[t.enabled ? "remove" : "add"](
5002              ...n(t.params.scrollbar.lockClass)
5003            );
5004      }
5005      function L() {
5006        const e = t.params.scrollbar,
5007          s = t.scrollbar.el;
5008        s &&
5009          s.classList.remove(
5010            ...n(t.isHorizontal() ? e.horizontalClass : e.verticalClass)
5011          ),
5012          t.params.scrollbar.el && t.scrollbar.el && C("off");
5013      }
5014      s({
5015        scrollbar: {
5016          el: null,
5017          dragSize: "auto",
5018          hide: !1,
5019          draggable: !1,
5020          snapOnRelease: !0,
5021          lockClass: "swiper-scrollbar-lock",
5022          dragClass: "swiper-scrollbar-drag",
5023          scrollbarDisabledClass: "swiper-scrollbar-disabled",
5024          horizontalClass: "swiper-scrollbar-horizontal",
5025          verticalClass: "swiper-scrollbar-vertical",
5026        },
5027      }),
5028        (t.scrollbar = { el: null, dragEl: null }),
5029        i("changeDirection", () => {
5030          if (!t.scrollbar || !t.scrollbar.el) return;
5031          const e = t.params.scrollbar;
5032          let { el: s } = t.scrollbar;
5033          (s = T(s)),
5034            s.forEach((s) => {
5035              s.classList.remove(e.horizontalClass, e.verticalClass),
5036                s.classList.add(
5037                  t.isHorizontal() ? e.horizontalClass : e.verticalClass
5038                );
5039            });
5040        }),
5041        i("init", () => {
5042          !1 === t.params.scrollbar.enabled ? I() : (P(), b(), g());
5043        }),
5044        i("update resize observerUpdate lock unlock changeDirection", () => {
5045          b();
5046        }),
5047        i("setTranslate", () => {
5048          g();
5049        }),
5050        i("setTransition", (e, s) => {
5051          !(function (e) {
5052            t.params.scrollbar.el &&
5053              t.scrollbar.el &&
5054              (t.scrollbar.dragEl.style.transitionDuration = `${e}ms`);
5055          })(s);
5056        }),
5057        i("enable disable", () => {
5058          const { el: e } = t.scrollbar;
5059          e &&
5060            e.classList[t.enabled ? "remove" : "add"](
5061              ...n(t.params.scrollbar.lockClass)
5062            );
5063        }),
5064        i("destroy", () => {
5065          L();
5066        });
5067      const I = () => {
5068        t.el.classList.add(...n(t.params.scrollbar.scrollbarDisabledClass)),
5069          t.scrollbar.el &&
5070            t.scrollbar.el.classList.add(
5071              ...n(t.params.scrollbar.scrollbarDisabledClass)
5072            ),
5073          L();
5074      };
5075      Object.assign(t.scrollbar, {
5076        enable: () => {
5077          t.el.classList.remove(
5078            ...n(t.params.scrollbar.scrollbarDisabledClass)
5079          ),
5080            t.scrollbar.el &&
5081              t.scrollbar.el.classList.remove(
5082                ...n(t.params.scrollbar.scrollbarDisabledClass)
5083              ),
5084            P(),
5085            b(),
5086            g();
5087        },
5088        disable: I,
5089        updateSize: b,
5090        setTranslate: g,
5091        init: P,
5092        destroy: L,
5093      });
5094    },
5095    function (e) {
5096      let { swiper: t, extendParams: s, on: a } = e;
5097      s({ parallax: { enabled: !1 } });
5098      const i =
5099          "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",
5100        r = (e, s) => {
5101          const { rtl: a } = t,
5102            i = a ? -1 : 1,
5103            r = e.getAttribute("data-swiper-parallax") || "0";
5104          let n = e.getAttribute("data-swiper-parallax-x"),
5105            l = e.getAttribute("data-swiper-parallax-y");
5106          const o = e.getAttribute("data-swiper-parallax-scale"),
5107            d = e.getAttribute("data-swiper-parallax-opacity"),
5108            c = e.getAttribute("data-swiper-parallax-rotate");
5109          if (
5110            (n || l
5111              ? ((n = n || "0"), (l = l || "0"))
5112              : t.isHorizontal()
5113              ? ((n = r), (l = "0"))
5114              : ((l = r), (n = "0")),
5115            (n =
5116              n.indexOf("%") >= 0
5117                ? parseInt(n, 10) * s * i + "%"
5118                : n * s * i + "px"),
5119            (l =
5120              l.indexOf("%") >= 0 ? parseInt(l, 10) * s + "%" : l * s + "px"),
5121            null != d)
5122          ) {
5123            const t = d - (d - 1) * (1 - Math.abs(s));
5124            e.style.opacity = t;
5125          }
5126          let p = `translate3d(${n}, ${l}, 0px)`;
5127          if (null != o) {
5128            p += ` scale(${o - (o - 1) * (1 - Math.abs(s))})`;
5129          }
5130          if (c && null != c) {
5131            p += ` rotate(${c * s * -1}deg)`;
5132          }
5133          e.style.transform = p;
5134        },
5135        n = () => {
5136          const {
5137              el: e,
5138              slides: s,
5139              progress: a,
5140              snapGrid: n,
5141              isElement: l,
5142            } = t,
5143            o = f(e, i);
5144          t.isElement && o.push(...f(t.hostEl, i)),
5145            o.forEach((e) => {
5146              r(e, a);
5147            }),
5148            s.forEach((e, s) => {
5149              let l = e.progress;
5150              t.params.slidesPerGroup > 1 &&
5151                "auto" !== t.params.slidesPerView &&
5152                (l += Math.ceil(s / 2) - a * (n.length - 1)),
5153                (l = Math.min(Math.max(l, -1), 1)),
5154                e
5155                  .querySelectorAll(`${i}, [data-swiper-parallax-rotate]`)
5156                  .forEach((e) => {
5157                    r(e, l);
5158                  });
5159            });
5160        };
5161      a("beforeInit", () => {
5162        t.params.parallax.enabled &&
5163          ((t.params.watchSlidesProgress = !0),
5164          (t.originalParams.watchSlidesProgress = !0));
5165      }),
5166        a("init", () => {
5167          t.params.parallax.enabled && n();
5168        }),
5169        a("setTranslate", () => {
5170          t.params.parallax.enabled && n();
5171        }),
5172        a("setTransition", (e, s) => {
5173          t.params.parallax.enabled &&
5174            (function (e) {
5175              void 0 === e && (e = t.params.speed);
5176              const { el: s, hostEl: a } = t,
5177                r = [...s.querySelectorAll(i)];
5178              t.isElement && r.push(...a.querySelectorAll(i)),
5179                r.forEach((t) => {
5180                  let s =
5181                    parseInt(
5182                      t.getAttribute("data-swiper-parallax-duration"),
5183                      10
5184                    ) || e;
5185                  0 === e && (s = 0), (t.style.transitionDuration = `${s}ms`);
5186                });
5187            })(s);
5188        });
5189    },
5190    function (e) {
5191      let { swiper: t, extendParams: s, on: a, emit: i } = e;
5192      const n = r();
5193      s({
5194        zoom: {
5195          enabled: !1,
5196          limitToOriginalSize: !1,
5197          maxRatio: 3,
5198          minRatio: 1,
5199          panOnMouseMove: !1,
5200          toggle: !0,
5201          containerClass: "swiper-zoom-container",
5202          zoomedSlideClass: "swiper-slide-zoomed",
5203        },
5204      }),
5205        (t.zoom = { enabled: !1 });
5206      let l = 1,
5207        o = !1,
5208        c = !1,
5209        p = { x: 0, y: 0 };
5210      const u = -3;
5211      let m, h;
5212      const g = [],
5213        v = {
5214          originX: 0,
5215          originY: 0,
5216          slideEl: void 0,
5217          slideWidth: void 0,
5218          slideHeight: void 0,
5219          imageEl: void 0,
5220          imageWrapEl: void 0,
5221          maxRatio: 3,
5222        },
5223        b = {
5224          isTouched: void 0,
5225          isMoved: void 0,
5226          currentX: void 0,
5227          currentY: void 0,
5228          minX: void 0,
5229          minY: void 0,
5230          maxX: void 0,
5231          maxY: void 0,
5232          width: void 0,
5233          height: void 0,
5234          startX: void 0,
5235          startY: void 0,
5236          touchesStart: {},
5237          touchesCurrent: {},
5238        },
5239        y = {
5240          x: void 0,
5241          y: void 0,
5242          prevPositionX: void 0,
5243          prevPositionY: void 0,
5244          prevTime: void 0,
5245        };
5246      let x,
5247        S = 1;
5248      function T() {
5249        if (g.length < 2) return 1;
5250        const e = g[0].pageX,
5251          t = g[0].pageY,
5252          s = g[1].pageX,
5253          a = g[1].pageY;
5254        return Math.sqrt((s - e) ** 2 + (a - t) ** 2);
5255      }
5256      function M() {
5257        const e = t.params.zoom,
5258          s = v.imageWrapEl.getAttribute("data-swiper-zoom") || e.maxRatio;
5259        if (e.limitToOriginalSize && v.imageEl && v.imageEl.naturalWidth) {
5260          const e = v.imageEl.naturalWidth / v.imageEl.offsetWidth;
5261          return Math.min(e, s);
5262        }
5263        return s;
5264      }
5265      function C(e) {
5266        const s = t.isElement ? "swiper-slide" : `.${t.params.slideClass}`;
5267        return (
5268          !!e.target.matches(s) ||
5269          t.slides.filter((t) => t.contains(e.target)).length > 0
5270        );
5271      }
5272      function P(e) {
5273        const s = `.${t.params.zoom.containerClass}`;
5274        return (
5275          !!e.target.matches(s) ||
5276          [...t.hostEl.querySelectorAll(s)].filter((t) => t.contains(e.target))
5277            .length > 0
5278        );
5279      }
5280      function L(e) {
5281        if (("mouse" === e.pointerType && g.splice(0, g.length), !C(e))) return;
5282        const s = t.params.zoom;
5283        if (((m = !1), (h = !1), g.push(e), !(g.length < 2))) {
5284          if (((m = !0), (v.scaleStart = T()), !v.slideEl)) {
5285            (v.slideEl = e.target.closest(
5286              `.${t.params.slideClass}, swiper-slide`
5287            )),
5288              v.slideEl || (v.slideEl = t.slides[t.activeIndex]);
5289            let a = v.slideEl.querySelector(`.${s.containerClass}`);
5290            if (
5291              (a &&
5292                (a = a.querySelectorAll(
5293                  "picture, img, svg, canvas, .swiper-zoom-target"
5294                )[0]),
5295              (v.imageEl = a),
5296              (v.imageWrapEl = a
5297                ? E(v.imageEl, `.${s.containerClass}`)[0]
5298                : void 0),
5299              !v.imageWrapEl)
5300            )
5301              return void (v.imageEl = void 0);
5302            v.maxRatio = M();
5303          }
5304          if (v.imageEl) {
5305            const [e, t] = (function () {
5306              if (g.length < 2) return { x: null, y: null };
5307              const e = v.imageEl.getBoundingClientRect();
5308              return [
5309                (g[0].pageX + (g[1].pageX - g[0].pageX) / 2 - e.x - n.scrollX) /
5310                  l,
5311                (g[0].pageY + (g[1].pageY - g[0].pageY) / 2 - e.y - n.scrollY) /
5312                  l,
5313              ];
5314            })();
5315            (v.originX = e),
5316              (v.originY = t),
5317              (v.imageEl.style.transitionDuration = "0ms");
5318          }
5319          o = !0;
5320        }
5321      }
5322      function I(e) {
5323        if (!C(e)) return;
5324        const s = t.params.zoom,
5325          a = t.zoom,
5326          i = g.findIndex((t) => t.pointerId === e.pointerId);
5327        i >= 0 && (g[i] = e),
5328          g.length < 2 ||
5329            ((h = !0),
5330            (v.scaleMove = T()),
5331            v.imageEl &&
5332              ((a.scale = (v.scaleMove / v.scaleStart) * l),
5333              a.scale > v.maxRatio &&
5334                (a.scale = v.maxRatio - 1 + (a.scale - v.maxRatio + 1) ** 0.5),
5335              a.scale < s.minRatio &&
5336                (a.scale = s.minRatio + 1 - (s.minRatio - a.scale + 1) ** 0.5),
5337              (v.imageEl.style.transform = `translate3d(0,0,0) scale(${a.scale})`)));
5338      }
5339      function z(e) {
5340        if (!C(e)) return;
5341        if ("mouse" === e.pointerType && "pointerout" === e.type) return;
5342        const s = t.params.zoom,
5343          a = t.zoom,
5344          i = g.findIndex((t) => t.pointerId === e.pointerId);
5345        i >= 0 && g.splice(i, 1),
5346          m &&
5347            h &&
5348            ((m = !1),
5349            (h = !1),
5350            v.imageEl &&
5351              ((a.scale = Math.max(Math.min(a.scale, v.maxRatio), s.minRatio)),
5352              (v.imageEl.style.transitionDuration = `${t.params.speed}ms`),
5353              (v.imageEl.style.transform = `translate3d(0,0,0) scale(${a.scale})`),
5354              (l = a.scale),
5355              (o = !1),
5356              a.scale > 1 && v.slideEl
5357                ? v.slideEl.classList.add(`${s.zoomedSlideClass}`)
5358                : a.scale <= 1 &&
5359                  v.slideEl &&
5360                  v.slideEl.classList.remove(`${s.zoomedSlideClass}`),
5361              1 === a.scale &&
5362                ((v.originX = 0), (v.originY = 0), (v.slideEl = void 0))));
5363      }
5364      function A() {
5365        t.touchEventsData.preventTouchMoveFromPointerMove = !1;
5366      }
5367      function $(e) {
5368        const s = "mouse" === e.pointerType && t.params.zoom.panOnMouseMove;
5369        if (!C(e) || !P(e)) return;
5370        const a = t.zoom;
5371        if (!v.imageEl) return;
5372        if (!b.isTouched || !v.slideEl) return void (s && O(e));
5373        if (s) return void O(e);
5374        b.isMoved ||
5375          ((b.width = v.imageEl.offsetWidth || v.imageEl.clientWidth),
5376          (b.height = v.imageEl.offsetHeight || v.imageEl.clientHeight),
5377          (b.startX = d(v.imageWrapEl, "x") || 0),
5378          (b.startY = d(v.imageWrapEl, "y") || 0),
5379          (v.slideWidth = v.slideEl.offsetWidth),
5380          (v.slideHeight = v.slideEl.offsetHeight),
5381          (v.imageWrapEl.style.transitionDuration = "0ms"));
5382        const i = b.width * a.scale,
5383          r = b.height * a.scale;
5384        (b.minX = Math.min(v.slideWidth / 2 - i / 2, 0)),
5385          (b.maxX = -b.minX),
5386          (b.minY = Math.min(v.slideHeight / 2 - r / 2, 0)),
5387          (b.maxY = -b.minY),
5388          (b.touchesCurrent.x = g.length > 0 ? g[0].pageX : e.pageX),
5389          (b.touchesCurrent.y = g.length > 0 ? g[0].pageY : e.pageY);
5390        if (
5391          (Math.max(
5392            Math.abs(b.touchesCurrent.x - b.touchesStart.x),
5393            Math.abs(b.touchesCurrent.y - b.touchesStart.y)
5394          ) > 5 && (t.allowClick = !1),
5395          !b.isMoved && !o)
5396        ) {
5397          if (
5398            t.isHorizontal() &&
5399            ((Math.floor(b.minX) === Math.floor(b.startX) &&
5400              b.touchesCurrent.x < b.touchesStart.x) ||
5401              (Math.floor(b.maxX) === Math.floor(b.startX) &&
5402                b.touchesCurrent.x > b.touchesStart.x))
5403          )
5404            return (b.isTouched = !1), void A();
5405          if (
5406            !t.isHorizontal() &&
5407            ((Math.floor(b.minY) === Math.floor(b.startY) &&
5408              b.touchesCurrent.y < b.touchesStart.y) ||
5409              (Math.floor(b.maxY) === Math.floor(b.startY) &&
5410                b.touchesCurrent.y > b.touchesStart.y))
5411          )
5412            return (b.isTouched = !1), void A();
5413        }
5414        e.cancelable && e.preventDefault(),
5415          e.stopPropagation(),
5416          clearTimeout(x),
5417          (t.touchEventsData.preventTouchMoveFromPointerMove = !0),
5418          (x = setTimeout(() => {
5419            t.destroyed || A();
5420          })),
5421          (b.isMoved = !0);
5422        const n = (a.scale - l) / (v.maxRatio - t.params.zoom.minRatio),
5423          { originX: c, originY: p } = v;
5424        (b.currentX =
5425          b.touchesCurrent.x -
5426          b.touchesStart.x +
5427          b.startX +
5428          n * (b.width - 2 * c)),
5429          (b.currentY =
5430            b.touchesCurrent.y -
5431            b.touchesStart.y +
5432            b.startY +
5433            n * (b.height - 2 * p)),
5434          b.currentX < b.minX &&
5435            (b.currentX = b.minX + 1 - (b.minX - b.currentX + 1) ** 0.8),
5436          b.currentX > b.maxX &&
5437            (b.currentX = b.maxX - 1 + (b.currentX - b.maxX + 1) ** 0.8),
5438          b.currentY < b.minY &&
5439            (b.currentY = b.minY + 1 - (b.minY - b.currentY + 1) ** 0.8),
5440          b.currentY > b.maxY &&
5441            (b.currentY = b.maxY - 1 + (b.currentY - b.maxY + 1) ** 0.8),
5442          y.prevPositionX || (y.prevPositionX = b.touchesCurrent.x),
5443          y.prevPositionY || (y.prevPositionY = b.touchesCurrent.y),
5444          y.prevTime || (y.prevTime = Date.now()),
5445          (y.x =
5446            (b.touchesCurrent.x - y.prevPositionX) /
5447            (Date.now() - y.prevTime) /
5448            2),
5449          (y.y =
5450            (b.touchesCurrent.y - y.prevPositionY) /
5451            (Date.now() - y.prevTime) /
5452            2),
5453          Math.abs(b.touchesCurrent.x - y.prevPositionX) < 2 && (y.x = 0),
5454          Math.abs(b.touchesCurrent.y - y.prevPositionY) < 2 && (y.y = 0),
5455          (y.prevPositionX = b.touchesCurrent.x),
5456          (y.prevPositionY = b.touchesCurrent.y),
5457          (y.prevTime = Date.now()),
5458          (v.imageWrapEl.style.transform = `translate3d(${b.currentX}px, ${b.currentY}px,0)`);
5459      }
5460      function k() {
5461        const e = t.zoom;
5462        v.slideEl &&
5463          t.activeIndex !== t.slides.indexOf(v.slideEl) &&
5464          (v.imageEl &&
5465            (v.imageEl.style.transform = "translate3d(0,0,0) scale(1)"),
5466          v.imageWrapEl &&
5467            (v.imageWrapEl.style.transform = "translate3d(0,0,0)"),
5468          v.slideEl.classList.remove(`${t.params.zoom.zoomedSlideClass}`),
5469          (e.scale = 1),
5470          (l = 1),
5471          (v.slideEl = void 0),
5472          (v.imageEl = void 0),
5473          (v.imageWrapEl = void 0),
5474          (v.originX = 0),
5475          (v.originY = 0));
5476      }
5477      function O(e) {
5478        if (l <= 1 || !v.imageWrapEl) return;
5479        if (!C(e) || !P(e)) return;
5480        const t = n.getComputedStyle(v.imageWrapEl).transform,
5481          s = new n.DOMMatrix(t);
5482        if (!c)
5483          return (
5484            (c = !0),
5485            (p.x = e.clientX),
5486            (p.y = e.clientY),
5487            (b.startX = s.e),
5488            (b.startY = s.f),
5489            (b.width = v.imageEl.offsetWidth || v.imageEl.clientWidth),
5490            (b.height = v.imageEl.offsetHeight || v.imageEl.clientHeight),
5491            (v.slideWidth = v.slideEl.offsetWidth),
5492            void (v.slideHeight = v.slideEl.offsetHeight)
5493          );
5494        const a = (e.clientX - p.x) * u,
5495          i = (e.clientY - p.y) * u,
5496          r = b.width * l,
5497          o = b.height * l,
5498          d = v.slideWidth,
5499          m = v.slideHeight,
5500          h = Math.min(d / 2 - r / 2, 0),
5501          f = -h,
5502          g = Math.min(m / 2 - o / 2, 0),
5503          w = -g,
5504          y = Math.max(Math.min(b.startX + a, f), h),
5505          E = Math.max(Math.min(b.startY + i, w), g);
5506        (v.imageWrapEl.style.transitionDuration = "0ms"),
5507          (v.imageWrapEl.style.transform = `translate3d(${y}px, ${E}px, 0)`),
5508          (p.x = e.clientX),
5509          (p.y = e.clientY),
5510          (b.startX = y),
5511          (b.startY = E);
5512      }
5513      function D(e) {
5514        const s = t.zoom,
5515          a = t.params.zoom;
5516        if (!v.slideEl) {
5517          e &&
5518            e.target &&
5519            (v.slideEl = e.target.closest(
5520              `.${t.params.slideClass}, swiper-slide`
5521            )),
5522            v.slideEl ||
5523              (t.params.virtual && t.params.virtual.enabled && t.virtual
5524                ? (v.slideEl = f(
5525                    t.slidesEl,
5526                    `.${t.params.slideActiveClass}`
5527                  )[0])
5528                : (v.slideEl = t.slides[t.activeIndex]));
5529          let s = v.slideEl.querySelector(`.${a.containerClass}`);
5530          s &&
5531            (s = s.querySelectorAll(
5532              "picture, img, svg, canvas, .swiper-zoom-target"
5533            )[0]),
5534            (v.imageEl = s),
5535            (v.imageWrapEl = s
5536              ? E(v.imageEl, `.${a.containerClass}`)[0]
5537              : void 0);
5538        }
5539        if (!v.imageEl || !v.imageWrapEl) return;
5540        let i, r, o, d, c, p, u, m, h, g, y, x, S, T, C, P, L, I;
5541        t.params.cssMode &&
5542          ((t.wrapperEl.style.overflow = "hidden"),
5543          (t.wrapperEl.style.touchAction = "none")),
5544          v.slideEl.classList.add(`${a.zoomedSlideClass}`),
5545          void 0 === b.touchesStart.x && e
5546            ? ((i = e.pageX), (r = e.pageY))
5547            : ((i = b.touchesStart.x), (r = b.touchesStart.y));
5548        const z = "number" == typeof e ? e : null;
5549        1 === l &&
5550          z &&
5551          ((i = void 0),
5552          (r = void 0),
5553          (b.touchesStart.x = void 0),
5554          (b.touchesStart.y = void 0));
5555        const A = M();
5556        (s.scale = z || A),
5557          (l = z || A),
5558          !e || (1 === l && z)
5559            ? ((u = 0), (m = 0))
5560            : ((L = v.slideEl.offsetWidth),
5561              (I = v.slideEl.offsetHeight),
5562              (o = w(v.slideEl).left + n.scrollX),
5563              (d = w(v.slideEl).top + n.scrollY),
5564              (c = o + L / 2 - i),
5565              (p = d + I / 2 - r),
5566              (h = v.imageEl.offsetWidth || v.imageEl.clientWidth),
5567              (g = v.imageEl.offsetHeight || v.imageEl.clientHeight),
5568              (y = h * s.scale),
5569              (x = g * s.scale),
5570              (S = Math.min(L / 2 - y / 2, 0)),
5571              (T = Math.min(I / 2 - x / 2, 0)),
5572              (C = -S),
5573              (P = -T),
5574              (u = c * s.scale),
5575              (m = p * s.scale),
5576              u < S && (u = S),
5577              u > C && (u = C),
5578              m < T && (m = T),
5579              m > P && (m = P)),
5580          z && 1 === s.scale && ((v.originX = 0), (v.originY = 0)),
5581          (v.imageWrapEl.style.transitionDuration = "300ms"),
5582          (v.imageWrapEl.style.transform = `translate3d(${u}px, ${m}px,0)`),
5583          (v.imageEl.style.transitionDuration = "300ms"),
5584          (v.imageEl.style.transform = `translate3d(0,0,0) scale(${s.scale})`);
5585      }
5586      function G() {
5587        const e = t.zoom,
5588          s = t.params.zoom;
5589        if (!v.slideEl) {
5590          t.params.virtual && t.params.virtual.enabled && t.virtual
5591            ? (v.slideEl = f(t.slidesEl, `.${t.params.slideActiveClass}`)[0])
5592            : (v.slideEl = t.slides[t.activeIndex]);
5593          let e = v.slideEl.querySelector(`.${s.containerClass}`);
5594          e &&
5595            (e = e.querySelectorAll(
5596              "picture, img, svg, canvas, .swiper-zoom-target"
5597            )[0]),
5598            (v.imageEl = e),
5599            (v.imageWrapEl = e
5600              ? E(v.imageEl, `.${s.containerClass}`)[0]
5601              : void 0);
5602        }
5603        v.imageEl &&
5604          v.imageWrapEl &&
5605          (t.params.cssMode &&
5606            ((t.wrapperEl.style.overflow = ""),
5607            (t.wrapperEl.style.touchAction = "")),
5608          (e.scale = 1),
5609          (l = 1),
5610          (b.touchesStart.x = void 0),
5611          (b.touchesStart.y = void 0),
5612          (v.imageWrapEl.style.transitionDuration = "300ms"),
5613          (v.imageWrapEl.style.transform = "translate3d(0,0,0)"),
5614          (v.imageEl.style.transitionDuration = "300ms"),
5615          (v.imageEl.style.transform = "translate3d(0,0,0) scale(1)"),
5616          v.slideEl.classList.remove(`${s.zoomedSlideClass}`),
5617          (v.slideEl = void 0),
5618          (v.originX = 0),
5619          (v.originY = 0),
5620          t.params.zoom.panOnMouseMove &&
5621            ((p = { x: 0, y: 0 }),
5622            c && ((c = !1), (b.startX = 0), (b.startY = 0))));
5623      }
5624      function H(e) {
5625        const s = t.zoom;
5626        s.scale && 1 !== s.scale ? G() : D(e);
5627      }
5628      function X() {
5629        return {
5630          passiveListener: !!t.params.passiveListeners && {
5631            passive: !0,
5632            capture: !1,
5633          },
5634          activeListenerWithCapture: !t.params.passiveListeners || {
5635            passive: !1,
5636            capture: !0,
5637          },
5638        };
5639      }
5640      function B() {
5641        const e = t.zoom;
5642        if (e.enabled) return;
5643        e.enabled = !0;
5644        const { passiveListener: s, activeListenerWithCapture: a } = X();
5645        t.wrapperEl.addEventListener("pointerdown", L, s),
5646          t.wrapperEl.addEventListener("pointermove", I, a),
5647          ["pointerup", "pointercancel", "pointerout"].forEach((e) => {
5648            t.wrapperEl.addEventListener(e, z, s);
5649          }),
5650          t.wrapperEl.addEventListener("pointermove", $, a);
5651      }
5652      function Y() {
5653        const e = t.zoom;
5654        if (!e.enabled) return;
5655        e.enabled = !1;
5656        const { passiveListener: s, activeListenerWithCapture: a } = X();
5657        t.wrapperEl.removeEventListener("pointerdown", L, s),
5658          t.wrapperEl.removeEventListener("pointermove", I, a),
5659          ["pointerup", "pointercancel", "pointerout"].forEach((e) => {
5660            t.wrapperEl.removeEventListener(e, z, s);
5661          }),
5662          t.wrapperEl.removeEventListener("pointermove", $, a);
5663      }
5664      Object.defineProperty(t.zoom, "scale", {
5665        get: () => S,
5666        set(e) {
5667          if (S !== e) {
5668            const t = v.imageEl,
5669              s = v.slideEl;
5670            i("zoomChange", e, t, s);
5671          }
5672          S = e;
5673        },
5674      }),
5675        a("init", () => {
5676          t.params.zoom.enabled && B();
5677        }),
5678        a("destroy", () => {
5679          Y();
5680        }),
5681        a("touchStart", (e, s) => {
5682          t.zoom.enabled &&
5683            (function (e) {
5684              const s = t.device;
5685              if (!v.imageEl) return;
5686              if (b.isTouched) return;
5687              s.android && e.cancelable && e.preventDefault(),
5688                (b.isTouched = !0);
5689              const a = g.length > 0 ? g[0] : e;
5690              (b.touchesStart.x = a.pageX), (b.touchesStart.y = a.pageY);
5691            })(s);
5692        }),
5693        a("touchEnd", (e, s) => {
5694          t.zoom.enabled &&
5695            (function () {
5696              const e = t.zoom;
5697              if (((g.length = 0), !v.imageEl)) return;
5698              if (!b.isTouched || !b.isMoved)
5699                return (b.isTouched = !1), void (b.isMoved = !1);
5700              (b.isTouched = !1), (b.isMoved = !1);
5701              let s = 300,
5702                a = 300;
5703              const i = y.x * s,
5704                r = b.currentX + i,
5705                n = y.y * a,
5706                l = b.currentY + n;
5707              0 !== y.x && (s = Math.abs((r - b.currentX) / y.x)),
5708                0 !== y.y && (a = Math.abs((l - b.currentY) / y.y));
5709              const o = Math.max(s, a);
5710              (b.currentX = r), (b.currentY = l);
5711              const d = b.width * e.scale,
5712                c = b.height * e.scale;
5713              (b.minX = Math.min(v.slideWidth / 2 - d / 2, 0)),
5714                (b.maxX = -b.minX),
5715                (b.minY = Math.min(v.slideHeight / 2 - c / 2, 0)),
5716                (b.maxY = -b.minY),
5717                (b.currentX = Math.max(Math.min(b.currentX, b.maxX), b.minX)),
5718                (b.currentY = Math.max(Math.min(b.currentY, b.maxY), b.minY)),
5719                (v.imageWrapEl.style.transitionDuration = `${o}ms`),
5720                (v.imageWrapEl.style.transform = `translate3d(${b.currentX}px, ${b.currentY}px,0)`);
5721            })();
5722        }),
5723        a("doubleTap", (e, s) => {
5724          !t.animating &&
5725            t.params.zoom.enabled &&
5726            t.zoom.enabled &&
5727            t.params.zoom.toggle &&
5728            H(s);
5729        }),
5730        a("transitionEnd", () => {
5731          t.zoom.enabled && t.params.zoom.enabled && k();
5732        }),
5733        a("slideChange", () => {
5734          t.zoom.enabled && t.params.zoom.enabled && t.params.cssMode && k();
5735        }),
5736        Object.assign(t.zoom, {
5737          enable: B,
5738          disable: Y,
5739          in: D,
5740          out: G,
5741          toggle: H,
5742        });
5743    },
5744    function (e) {
5745      let { swiper: t, extendParams: s, on: a } = e;
5746      function i(e, t) {
5747        const s = (function () {
5748          let e, t, s;
5749          return (a, i) => {
5750            for (t = -1, e = a.length; e - t > 1; )
5751              (s = (e + t) >> 1), a[s] <= i ? (t = s) : (e = s);
5752            return e;
5753          };
5754        })();
5755        let a, i;
5756        return (
5757          (this.x = e),
5758          (this.y = t),
5759          (this.lastIndex = e.length - 1),
5760          (this.interpolate = function (e) {
5761            return e
5762              ? ((i = s(this.x, e)),
5763                (a = i - 1),
5764                ((e - this.x[a]) * (this.y[i] - this.y[a])) /
5765                  (this.x[i] - this.x[a]) +
5766                  this.y[a])
5767              : 0;
5768          }),
5769          this
5770        );
5771      }
5772      function r() {
5773        t.controller.control &&
5774          t.controller.spline &&
5775          ((t.controller.spline = void 0), delete t.controller.spline);
5776      }
5777      s({ controller: { control: void 0, inverse: !1, by: "slide" } }),
5778        (t.controller = { control: void 0 }),
5779        a("beforeInit", () => {
5780          if (
5781            "undefined" != typeof window &&
5782            ("string" == typeof t.params.controller.control ||
5783              t.params.controller.control instanceof HTMLElement)
5784          ) {
5785            ("string" == typeof t.params.controller.control
5786              ? [...document.querySelectorAll(t.params.controller.control)]
5787              : [t.params.controller.control]
5788            ).forEach((e) => {
5789              if (
5790                (t.controller.control || (t.controller.control = []),
5791                e && e.swiper)
5792              )
5793                t.controller.control.push(e.swiper);
5794              else if (e) {
5795                const s = `${t.params.eventsPrefix}init`,
5796                  a = (i) => {
5797                    t.controller.control.push(i.detail[0]),
5798                      t.update(),
5799                      e.removeEventListener(s, a);
5800                  };
5801                e.addEventListener(s, a);
5802              }
5803            });
5804          } else t.controller.control = t.params.controller.control;
5805        }),
5806        a("update", () => {
5807          r();
5808        }),
5809        a("resize", () => {
5810          r();
5811        }),
5812        a("observerUpdate", () => {
5813          r();
5814        }),
5815        a("setTranslate", (e, s, a) => {
5816          t.controller.control &&
5817            !t.controller.control.destroyed &&
5818            t.controller.setTranslate(s, a);
5819        }),
5820        a("setTransition", (e, s, a) => {
5821          t.controller.control &&
5822            !t.controller.control.destroyed &&
5823            t.controller.setTransition(s, a);
5824        }),
5825        Object.assign(t.controller, {
5826          setTranslate: function (e, s) {
5827            const a = t.controller.control;
5828            let r, n;
5829            const l = t.constructor;
5830            function o(e) {
5831              if (e.destroyed) return;
5832              const s = t.rtlTranslate ? -t.translate : t.translate;
5833              "slide" === t.params.controller.by &&
5834                (!(function (e) {
5835                  t.controller.spline = t.params.loop
5836                    ? new i(t.slidesGrid, e.slidesGrid)
5837                    : new i(t.snapGrid, e.snapGrid);
5838                })(e),
5839                (n = -t.controller.spline.interpolate(-s))),
5840                (n && "container" !== t.params.controller.by) ||
5841                  ((r =
5842                    (e.maxTranslate() - e.minTranslate()) /
5843                    (t.maxTranslate() - t.minTranslate())),
5844                  (!Number.isNaN(r) && Number.isFinite(r)) || (r = 1),
5845                  (n = (s - t.minTranslate()) * r + e.minTranslate())),
5846                t.params.controller.inverse && (n = e.maxTranslate() - n),
5847                e.updateProgress(n),
5848                e.setTranslate(n, t),
5849                e.updateActiveIndex(),
5850                e.updateSlidesClasses();
5851            }
5852            if (Array.isArray(a))
5853              for (let e = 0; e < a.length; e += 1)
5854                a[e] !== s && a[e] instanceof l && o(a[e]);
5855            else a instanceof l && s !== a && o(a);
5856          },
5857          setTransition: function (e, s) {
5858            const a = t.constructor,
5859              i = t.controller.control;
5860            let r;
5861            function n(s) {
5862              s.destroyed ||
5863                (s.setTransition(e, t),
5864                0 !== e &&
5865                  (s.transitionStart(),
5866                  s.params.autoHeight &&
5867                    l(() => {
5868                      s.updateAutoHeight();
5869                    }),
5870                  x(s.wrapperEl, () => {
5871                    i && s.transitionEnd();
5872                  })));
5873            }
5874            if (Array.isArray(i))
5875              for (r = 0; r < i.length; r += 1)
5876                i[r] !== s && i[r] instanceof a && n(i[r]);
5877            else i instanceof a && s !== i && n(i);
5878          },
5879        });
5880    },
5881    function (e) {
5882      let { swiper: t, extendParams: s, on: i } = e;
5883      s({
5884        a11y: {
5885          enabled: !0,
5886          notificationClass: "swiper-notification",
5887          prevSlideMessage: "Previous slide",
5888          nextSlideMessage: "Next slide",
5889          firstSlideMessage: "This is the first slide",
5890          lastSlideMessage: "This is the last slide",
5891          paginationBulletMessage: "Go to slide {{index}}",
5892          slideLabelMessage: "{{index}} / {{slidesLength}}",
5893          containerMessage: null,
5894          containerRoleDescriptionMessage: null,
5895          containerRole: null,
5896          itemRoleDescriptionMessage: null,
5897          slideRole: "group",
5898          id: null,
5899          scrollOnFocus: !0,
5900        },
5901      }),
5902        (t.a11y = { clicked: !1 });
5903      let r,
5904        n,
5905        l = null,
5906        o = new Date().getTime();
5907      function d(e) {
5908        const t = l;
5909        0 !== t.length && ((t.innerHTML = ""), (t.innerHTML = e));
5910      }
5911      function c(e) {
5912        (e = T(e)).forEach((e) => {
5913          e.setAttribute("tabIndex", "0");
5914        });
5915      }
5916      function p(e) {
5917        (e = T(e)).forEach((e) => {
5918          e.setAttribute("tabIndex", "-1");
5919        });
5920      }
5921      function u(e, t) {
5922        (e = T(e)).forEach((e) => {
5923          e.setAttribute("role", t);
5924        });
5925      }
5926      function m(e, t) {
5927        (e = T(e)).forEach((e) => {
5928          e.setAttribute("aria-roledescription", t);
5929        });
5930      }
5931      function h(e, t) {
5932        (e = T(e)).forEach((e) => {
5933          e.setAttribute("aria-label", t);
5934        });
5935      }
5936      function f(e) {
5937        (e = T(e)).forEach((e) => {
5938          e.setAttribute("aria-disabled", !0);
5939        });
5940      }
5941      function g(e) {
5942        (e = T(e)).forEach((e) => {
5943          e.setAttribute("aria-disabled", !1);
5944        });
5945      }
5946      function w(e) {
5947        if (13 !== e.keyCode && 32 !== e.keyCode) return;
5948        const s = t.params.a11y,
5949          a = e.target;
5950        if (
5951          !t.pagination ||
5952          !t.pagination.el ||
5953          (a !== t.pagination.el && !t.pagination.el.contains(e.target)) ||
5954          e.target.matches(ne(t.params.pagination.bulletClass))
5955        ) {
5956          if (t.navigation && t.navigation.prevEl && t.navigation.nextEl) {
5957            const e = T(t.navigation.prevEl);
5958            T(t.navigation.nextEl).includes(a) &&
5959              ((t.isEnd && !t.params.loop) || t.slideNext(),
5960              t.isEnd ? d(s.lastSlideMessage) : d(s.nextSlideMessage)),
5961              e.includes(a) &&
5962                ((t.isBeginning && !t.params.loop) || t.slidePrev(),
5963                t.isBeginning ? d(s.firstSlideMessage) : d(s.prevSlideMessage));
5964          }
5965          t.pagination &&
5966            a.matches(ne(t.params.pagination.bulletClass)) &&
5967            a.click();
5968        }
5969      }
5970      function b() {
5971        return (
5972          t.pagination && t.pagination.bullets && t.pagination.bullets.length
5973        );
5974      }
5975      function E() {
5976        return b() && t.params.pagination.clickable;
5977      }
5978      const x = (e, t, s) => {
5979          c(e),
5980            "BUTTON" !== e.tagName &&
5981              (u(e, "button"), e.addEventListener("keydown", w)),
5982            h(e, s),
5983            (function (e, t) {
5984              (e = T(e)).forEach((e) => {
5985                e.setAttribute("aria-controls", t);
5986              });
5987            })(e, t);
5988        },
5989        S = (e) => {
5990          n && n !== e.target && !n.contains(e.target) && (r = !0),
5991            (t.a11y.clicked = !0);
5992        },
5993        M = () => {
5994          (r = !1),
5995            requestAnimationFrame(() => {
5996              requestAnimationFrame(() => {
5997                t.destroyed || (t.a11y.clicked = !1);
5998              });
5999            });
6000        },
6001        C = (e) => {
6002          o = new Date().getTime();
6003        },
6004        P = (e) => {
6005          if (t.a11y.clicked || !t.params.a11y.scrollOnFocus) return;
6006          if (new Date().getTime() - o < 100) return;
6007          const s = e.target.closest(`.${t.params.slideClass}, swiper-slide`);
6008          if (!s || !t.slides.includes(s)) return;
6009          n = s;
6010          const a = t.slides.indexOf(s) === t.activeIndex,
6011            i =
6012              t.params.watchSlidesProgress &&
6013              t.visibleSlides &&
6014              t.visibleSlides.includes(s);
6015          a ||
6016            i ||
6017            (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) ||
6018            (t.isHorizontal() ? (t.el.scrollLeft = 0) : (t.el.scrollTop = 0),
6019            requestAnimationFrame(() => {
6020              r ||
6021                (t.params.loop
6022                  ? t.slideToLoop(
6023                      parseInt(s.getAttribute("data-swiper-slide-index")),
6024                      0
6025                    )
6026                  : t.slideTo(t.slides.indexOf(s), 0),
6027                (r = !1));
6028            }));
6029        },
6030        L = () => {
6031          const e = t.params.a11y;
6032          e.itemRoleDescriptionMessage &&
6033            m(t.slides, e.itemRoleDescriptionMessage),
6034            e.slideRole && u(t.slides, e.slideRole);
6035          const s = t.slides.length;
6036          e.slideLabelMessage &&
6037            t.slides.forEach((a, i) => {
6038              const r = t.params.loop
6039                ? parseInt(a.getAttribute("data-swiper-slide-index"), 10)
6040                : i;
6041              h(
6042                a,
6043                e.slideLabelMessage
6044                  .replace(/\{\{index\}\}/, r + 1)
6045                  .replace(/\{\{slidesLength\}\}/, s)
6046              );
6047            });
6048        },
6049        I = () => {
6050          const e = t.params.a11y;
6051          t.el.append(l);
6052          const s = t.el;
6053          e.containerRoleDescriptionMessage &&
6054            m(s, e.containerRoleDescriptionMessage),
6055            e.containerMessage && h(s, e.containerMessage),
6056            e.containerRole && u(s, e.containerRole);
6057          const i = t.wrapperEl,
6058            r =
6059              e.id ||
6060              i.getAttribute("id") ||
6061              `swiper-wrapper-${
6062                ((n = 16),
6063                void 0 === n && (n = 16),
6064                "x"
6065                  .repeat(n)
6066                  .replace(/x/g, () =>
6067                    Math.round(16 * Math.random()).toString(16)
6068                  ))
6069              }`;
6070          var n;
6071          const o =
6072            t.params.autoplay && t.params.autoplay.enabled ? "off" : "polite";
6073          var d;
6074          (d = r),
6075            T(i).forEach((e) => {
6076              e.setAttribute("id", d);
6077            }),
6078            (function (e, t) {
6079              (e = T(e)).forEach((e) => {
6080                e.setAttribute("aria-live", t);
6081              });
6082            })(i, o),
6083            L();
6084          let { nextEl: c, prevEl: p } = t.navigation ? t.navigation : {};
6085          if (
6086            ((c = T(c)),
6087            (p = T(p)),
6088            c && c.forEach((t) => x(t, r, e.nextSlideMessage)),
6089            p && p.forEach((t) => x(t, r, e.prevSlideMessage)),
6090            E())
6091          ) {
6092            T(t.pagination.el).forEach((e) => {
6093              e.addEventListener("keydown", w);
6094            });
6095          }
6096          a().addEventListener("visibilitychange", C),
6097            t.el.addEventListener("focus", P, !0),
6098            t.el.addEventListener("focus", P, !0),
6099            t.el.addEventListener("pointerdown", S, !0),
6100            t.el.addEventListener("pointerup", M, !0);
6101        };
6102      i("beforeInit", () => {
6103        (l = v("span", t.params.a11y.notificationClass)),
6104          l.setAttribute("aria-live", "assertive"),
6105          l.setAttribute("aria-atomic", "true");
6106      }),
6107        i("afterInit", () => {
6108          t.params.a11y.enabled && I();
6109        }),
6110        i(
6111          "slidesLengthChange snapGridLengthChange slidesGridLengthChange",
6112          () => {
6113            t.params.a11y.enabled && L();
6114          }
6115        ),
6116        i("fromEdge toEdge afterInit lock unlock", () => {
6117          t.params.a11y.enabled &&
6118            (function () {
6119              if (t.params.loop || t.params.rewind || !t.navigation) return;
6120              const { nextEl: e, prevEl: s } = t.navigation;
6121              s && (t.isBeginning ? (f(s), p(s)) : (g(s), c(s))),
6122                e && (t.isEnd ? (f(e), p(e)) : (g(e), c(e)));
6123            })();
6124        }),
6125        i("paginationUpdate", () => {
6126          t.params.a11y.enabled &&
6127            (function () {
6128              const e = t.params.a11y;
6129              b() &&
6130                t.pagination.bullets.forEach((s) => {
6131                  t.params.pagination.clickable &&
6132                    (c(s),
6133                    t.params.pagination.renderBullet ||
6134                      (u(s, "button"),
6135                      h(
6136                        s,
6137                        e.paginationBulletMessage.replace(
6138                          /\{\{index\}\}/,
6139                          y(s) + 1
6140                        )
6141                      ))),
6142                    s.matches(ne(t.params.pagination.bulletActiveClass))
6143                      ? s.setAttribute("aria-current", "true")
6144                      : s.removeAttribute("aria-current");
6145                });
6146            })();
6147        }),
6148        i("destroy", () => {
6149          t.params.a11y.enabled &&
6150            (function () {
6151              l && l.remove();
6152              let { nextEl: e, prevEl: s } = t.navigation ? t.navigation : {};
6153              (e = T(e)),
6154                (s = T(s)),
6155                e && e.forEach((e) => e.removeEventListener("keydown", w)),
6156                s && s.forEach((e) => e.removeEventListener("keydown", w)),
6157                E() &&
6158                  T(t.pagination.el).forEach((e) => {
6159                    e.removeEventListener("keydown", w);
6160                  });
6161              a().removeEventListener("visibilitychange", C),
6162                t.el &&
6163                  "string" != typeof t.el &&
6164                  (t.el.removeEventListener("focus", P, !0),
6165                  t.el.removeEventListener("pointerdown", S, !0),
6166                  t.el.removeEventListener("pointerup", M, !0));
6167            })();
6168        });
6169    },
6170    function (e) {
6171      let { swiper: t, extendParams: s, on: a } = e;
6172      s({
6173        history: {
6174          enabled: !1,
6175          root: "",
6176          replaceState: !1,
6177          key: "slides",
6178          keepQuery: !1,
6179        },
6180      });
6181      let i = !1,
6182        n = {};
6183      const l = (e) =>
6184          e
6185            .toString()
6186            .replace(/\s+/g, "-")
6187            .replace(/[^\w-]+/g, "")
6188            .replace(/--+/g, "-")
6189            .replace(/^-+/, "")
6190            .replace(/-+$/, ""),
6191        o = (e) => {
6192          const t = r();
6193          let s;
6194          s = e ? new URL(e) : t.location;
6195          const a = s.pathname
6196              .slice(1)
6197              .split("/")
6198              .filter((e) => "" !== e),
6199            i = a.length;
6200          return { key: a[i - 2], value: a[i - 1] };
6201        },
6202        d = (e, s) => {
6203          const a = r();
6204          if (!i || !t.params.history.enabled) return;
6205          let n;
6206          n = t.params.url ? new URL(t.params.url) : a.location;
6207          const o =
6208            t.virtual && t.params.virtual.enabled
6209              ? t.slidesEl.querySelector(`[data-swiper-slide-index="${s}"]`)
6210              : t.slides[s];
6211          let d = l(o.getAttribute("data-history"));
6212          if (t.params.history.root.length > 0) {
6213            let s = t.params.history.root;
6214            "/" === s[s.length - 1] && (s = s.slice(0, s.length - 1)),
6215              (d = `${s}/${e ? `${e}/` : ""}${d}`);
6216          } else n.pathname.includes(e) || (d = `${e ? `${e}/` : ""}${d}`);
6217          t.params.history.keepQuery && (d += n.search);
6218          const c = a.history.state;
6219          (c && c.value === d) ||
6220            (t.params.history.replaceState
6221              ? a.history.replaceState({ value: d }, null, d)
6222              : a.history.pushState({ value: d }, null, d));
6223        },
6224        c = (e, s, a) => {
6225          if (s)
6226            for (let i = 0, r = t.slides.length; i < r; i += 1) {
6227              const r = t.slides[i];
6228              if (l(r.getAttribute("data-history")) === s) {
6229                const s = t.getSlideIndex(r);
6230                t.slideTo(s, e, a);
6231              }
6232            }
6233          else t.slideTo(0, e, a);
6234        },
6235        p = () => {
6236          (n = o(t.params.url)), c(t.params.speed, n.value, !1);
6237        };
6238      a("init", () => {
6239        t.params.history.enabled &&
6240          (() => {
6241            const e = r();
6242            if (t.params.history) {
6243              if (!e.history || !e.history.pushState)
6244                return (
6245                  (t.params.history.enabled = !1),
6246                  void (t.params.hashNavigation.enabled = !0)
6247                );
6248              (i = !0),
6249                (n = o(t.params.url)),
6250                n.key || n.value
6251                  ? (c(0, n.value, t.params.runCallbacksOnInit),
6252                    t.params.history.replaceState ||
6253                      e.addEventListener("popstate", p))
6254                  : t.params.history.replaceState ||
6255                    e.addEventListener("popstate", p);
6256            }
6257          })();
6258      }),
6259        a("destroy", () => {
6260          t.params.history.enabled &&
6261            (() => {
6262              const e = r();
6263              t.params.history.replaceState ||
6264                e.removeEventListener("popstate", p);
6265            })();
6266        }),
6267        a("transitionEnd _freeModeNoMomentumRelease", () => {
6268          i && d(t.params.history.key, t.activeIndex);
6269        }),
6270        a("slideChange", () => {
6271          i && t.params.cssMode && d(t.params.history.key, t.activeIndex);
6272        });
6273    },
6274    function (e) {
6275      let { swiper: t, extendParams: s, emit: i, on: n } = e,
6276        l = !1;
6277      const o = a(),
6278        d = r();
6279      s({
6280        hashNavigation: {
6281          enabled: !1,
6282          replaceState: !1,
6283          watchState: !1,
6284          getSlideIndex(e, s) {
6285            if (t.virtual && t.params.virtual.enabled) {
6286              const e = t.slides.find((e) => e.getAttribute("data-hash") === s);
6287              if (!e) return 0;
6288              return parseInt(e.getAttribute("data-swiper-slide-index"), 10);
6289            }
6290            return t.getSlideIndex(
6291              f(
6292                t.slidesEl,
6293                `.${t.params.slideClass}[data-hash="${s}"], swiper-slide[data-hash="${s}"]`
6294              )[0]
6295            );
6296          },
6297        },
6298      });
6299      const c = () => {
6300          i("hashChange");
6301          const e = o.location.hash.replace("#", ""),
6302            s =
6303              t.virtual && t.params.virtual.enabled
6304                ? t.slidesEl.querySelector(
6305                    `[data-swiper-slide-index="${t.activeIndex}"]`
6306                  )
6307                : t.slides[t.activeIndex];
6308          if (e !== (s ? s.getAttribute("data-hash") : "")) {
6309            const s = t.params.hashNavigation.getSlideIndex(t, e);
6310            if (void 0 === s || Number.isNaN(s)) return;
6311            t.slideTo(s);
6312          }
6313        },
6314        p = () => {
6315          if (!l || !t.params.hashNavigation.enabled) return;
6316          const e =
6317              t.virtual && t.params.virtual.enabled
6318                ? t.slidesEl.querySelector(
6319                    `[data-swiper-slide-index="${t.activeIndex}"]`
6320                  )
6321                : t.slides[t.activeIndex],
6322            s = e
6323              ? e.getAttribute("data-hash") || e.getAttribute("data-history")
6324              : "";
6325          t.params.hashNavigation.replaceState &&
6326          d.history &&
6327          d.history.replaceState
6328            ? (d.history.replaceState(null, null, `#${s}` || ""), i("hashSet"))
6329            : ((o.location.hash = s || ""), i("hashSet"));
6330        };
6331      n("init", () => {
6332        t.params.hashNavigation.enabled &&
6333          (() => {
6334            if (
6335              !t.params.hashNavigation.enabled ||
6336              (t.params.history && t.params.history.enabled)
6337            )
6338              return;
6339            l = !0;
6340            const e = o.location.hash.replace("#", "");
6341            if (e) {
6342              const s = 0,
6343                a = t.params.hashNavigation.getSlideIndex(t, e);
6344              t.slideTo(a || 0, s, t.params.runCallbacksOnInit, !0);
6345            }
6346            t.params.hashNavigation.watchState &&
6347              d.addEventListener("hashchange", c);
6348          })();
6349      }),
6350        n("destroy", () => {
6351          t.params.hashNavigation.enabled &&
6352            t.params.hashNavigation.watchState &&
6353            d.removeEventListener("hashchange", c);
6354        }),
6355        n("transitionEnd _freeModeNoMomentumRelease", () => {
6356          l && p();
6357        }),
6358        n("slideChange", () => {
6359          l && t.params.cssMode && p();
6360        });
6361    },
6362    function (e) {
6363      let t,
6364        s,
6365        { swiper: i, extendParams: r, on: n, emit: l, params: o } = e;
6366      (i.autoplay = { running: !1, paused: !1, timeLeft: 0 }),
6367        r({
6368          autoplay: {
6369            enabled: !1,
6370            delay: 3e3,
6371            waitForTransition: !0,
6372            disableOnInteraction: !1,
6373            stopOnLastSlide: !1,
6374            reverseDirection: !1,
6375            pauseOnMouseEnter: !1,
6376          },
6377        });
6378      let d,
6379        c,
6380        p,
6381        u,
6382        m,
6383        h,
6384        f,
6385        g,
6386        v = o && o.autoplay ? o.autoplay.delay : 3e3,
6387        w = o && o.autoplay ? o.autoplay.delay : 3e3,
6388        b = new Date().getTime();
6389      function y(e) {
6390        i &&
6391          !i.destroyed &&
6392          i.wrapperEl &&
6393          e.target === i.wrapperEl &&
6394          (i.wrapperEl.removeEventListener("transitionend", y),
6395          g || (e.detail && e.detail.bySwiperTouchMove) || C());
6396      }
6397      const E = () => {
6398          if (i.destroyed || !i.autoplay.running) return;
6399          i.autoplay.paused ? (c = !0) : c && ((w = d), (c = !1));
6400          const e = i.autoplay.paused ? d : b + w - new Date().getTime();
6401          (i.autoplay.timeLeft = e),
6402            l("autoplayTimeLeft", e, e / v),
6403            (s = requestAnimationFrame(() => {
6404              E();
6405            }));
6406        },
6407        x = (e) => {
6408          if (i.destroyed || !i.autoplay.running) return;
6409          cancelAnimationFrame(s), E();
6410          let a = void 0 === e ? i.params.autoplay.delay : e;
6411          (v = i.params.autoplay.delay), (w = i.params.autoplay.delay);
6412          const r = (() => {
6413            let e;
6414            if (
6415              ((e =
6416                i.virtual && i.params.virtual.enabled
6417                  ? i.slides.find((e) =>
6418                      e.classList.contains("swiper-slide-active")
6419                    )
6420                  : i.slides[i.activeIndex]),
6421              !e)
6422            )
6423              return;
6424            return parseInt(e.getAttribute("data-swiper-autoplay"), 10);
6425          })();
6426          !Number.isNaN(r) &&
6427            r > 0 &&
6428            void 0 === e &&
6429            ((a = r), (v = r), (w = r)),
6430            (d = a);
6431          const n = i.params.speed,
6432            o = () => {
6433              i &&
6434                !i.destroyed &&
6435                (i.params.autoplay.reverseDirection
6436                  ? !i.isBeginning || i.params.loop || i.params.rewind
6437                    ? (i.slidePrev(n, !0, !0), l("autoplay"))
6438                    : i.params.autoplay.stopOnLastSlide ||
6439                      (i.slideTo(i.slides.length - 1, n, !0, !0), l("autoplay"))
6440                  : !i.isEnd || i.params.loop || i.params.rewind
6441                  ? (i.slideNext(n, !0, !0), l("autoplay"))
6442                  : i.params.autoplay.stopOnLastSlide ||
6443                    (i.slideTo(0, n, !0, !0), l("autoplay")),
6444                i.params.cssMode &&
6445                  ((b = new Date().getTime()),
6446                  requestAnimationFrame(() => {
6447                    x();
6448                  })));
6449            };
6450          return (
6451            a > 0
6452              ? (clearTimeout(t),
6453                (t = setTimeout(() => {
6454                  o();
6455                }, a)))
6456              : requestAnimationFrame(() => {
6457                  o();
6458                }),
6459            a
6460          );
6461        },
6462        S = () => {
6463          (b = new Date().getTime()),
6464            (i.autoplay.running = !0),
6465            x(),
6466            l("autoplayStart");
6467        },
6468        T = () => {
6469          (i.autoplay.running = !1),
6470            clearTimeout(t),
6471            cancelAnimationFrame(s),
6472            l("autoplayStop");
6473        },
6474        M = (e, s) => {
6475          if (i.destroyed || !i.autoplay.running) return;
6476          clearTimeout(t), e || (f = !0);
6477          const a = () => {
6478            l("autoplayPause"),
6479              i.params.autoplay.waitForTransition
6480                ? i.wrapperEl.addEventListener("transitionend", y)
6481                : C();
6482          };
6483          if (((i.autoplay.paused = !0), s))
6484            return h && (d = i.params.autoplay.delay), (h = !1), void a();
6485          const r = d || i.params.autoplay.delay;
6486          (d = r - (new Date().getTime() - b)),
6487            (i.isEnd && d < 0 && !i.params.loop) || (d < 0 && (d = 0), a());
6488        },
6489        C = () => {
6490          (i.isEnd && d < 0 && !i.params.loop) ||
6491            i.destroyed ||
6492            !i.autoplay.running ||
6493            ((b = new Date().getTime()),
6494            f ? ((f = !1), x(d)) : x(),
6495            (i.autoplay.paused = !1),
6496            l("autoplayResume"));
6497        },
6498        P = () => {
6499          if (i.destroyed || !i.autoplay.running) return;
6500          const e = a();
6501          "hidden" === e.visibilityState && ((f = !0), M(!0)),
6502            "visible" === e.visibilityState && C();
6503        },
6504        L = (e) => {
6505          "mouse" === e.pointerType &&
6506            ((f = !0), (g = !0), i.animating || i.autoplay.paused || M(!0));
6507        },
6508        I = (e) => {
6509          "mouse" === e.pointerType && ((g = !1), i.autoplay.paused && C());
6510        };
6511      n("init", () => {
6512        i.params.autoplay.enabled &&
6513          (i.params.autoplay.pauseOnMouseEnter &&
6514            (i.el.addEventListener("pointerenter", L),
6515            i.el.addEventListener("pointerleave", I)),
6516          a().addEventListener("visibilitychange", P),
6517          S());
6518      }),
6519        n("destroy", () => {
6520          i.el &&
6521            "string" != typeof i.el &&
6522            (i.el.removeEventListener("pointerenter", L),
6523            i.el.removeEventListener("pointerleave", I)),
6524            a().removeEventListener("visibilitychange", P),
6525            i.autoplay.running && T();
6526        }),
6527        n("_freeModeStaticRelease", () => {
6528          (u || f) && C();
6529        }),
6530        n("_freeModeNoMomentumRelease", () => {
6531          i.params.autoplay.disableOnInteraction ? T() : M(!0, !0);
6532        }),
6533        n("beforeTransitionStart", (e, t, s) => {
6534          !i.destroyed &&
6535            i.autoplay.running &&
6536            (s || !i.params.autoplay.disableOnInteraction ? M(!0, !0) : T());
6537        }),
6538        n("sliderFirstMove", () => {
6539          !i.destroyed &&
6540            i.autoplay.running &&
6541            (i.params.autoplay.disableOnInteraction
6542              ? T()
6543              : ((p = !0),
6544                (u = !1),
6545                (f = !1),
6546                (m = setTimeout(() => {
6547                  (f = !0), (u = !0), M(!0);
6548                }, 200))));
6549        }),
6550        n("touchEnd", () => {
6551          if (!i.destroyed && i.autoplay.running && p) {
6552            if (
6553              (clearTimeout(m),
6554              clearTimeout(t),
6555              i.params.autoplay.disableOnInteraction)
6556            )
6557              return (u = !1), void (p = !1);
6558            u && i.params.cssMode && C(), (u = !1), (p = !1);
6559          }
6560        }),
6561        n("slideChange", () => {
6562          !i.destroyed && i.autoplay.running && (h = !0);
6563        }),
6564        Object.assign(i.autoplay, { start: S, stop: T, pause: M, resume: C });
6565    },
6566    function (e) {
6567      let { swiper: t, extendParams: s, on: i } = e;
6568      s({
6569        thumbs: {
6570          swiper: null,
6571          multipleActiveThumbs: !0,
6572          autoScrollOffset: 0,
6573          slideThumbActiveClass: "swiper-slide-thumb-active",
6574          thumbsContainerClass: "swiper-thumbs",
6575        },
6576      });
6577      let r = !1,
6578        n = !1;
6579      function l() {
6580        const e = t.thumbs.swiper;
6581        if (!e || e.destroyed) return;
6582        const s = e.clickedIndex,
6583          a = e.clickedSlide;
6584        if (a && a.classList.contains(t.params.thumbs.slideThumbActiveClass))
6585          return;
6586        if (null == s) return;
6587        let i;
6588        (i = e.params.loop
6589          ? parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"), 10)
6590          : s),
6591          t.params.loop ? t.slideToLoop(i) : t.slideTo(i);
6592      }
6593      function o() {
6594        const { thumbs: e } = t.params;
6595        if (r) return !1;
6596        r = !0;
6597        const s = t.constructor;
6598        if (e.swiper instanceof s)
6599          (t.thumbs.swiper = e.swiper),
6600            Object.assign(t.thumbs.swiper.originalParams, {
6601              watchSlidesProgress: !0,
6602              slideToClickedSlide: !1,
6603            }),
6604            Object.assign(t.thumbs.swiper.params, {
6605              watchSlidesProgress: !0,
6606              slideToClickedSlide: !1,
6607            }),
6608            t.thumbs.swiper.update();
6609        else if (c(e.swiper)) {
6610          const a = Object.assign({}, e.swiper);
6611          Object.assign(a, {
6612            watchSlidesProgress: !0,
6613            slideToClickedSlide: !1,
6614          }),
6615            (t.thumbs.swiper = new s(a)),
6616            (n = !0);
6617        }
6618        return (
6619          t.thumbs.swiper.el.classList.add(
6620            t.params.thumbs.thumbsContainerClass
6621          ),
6622          t.thumbs.swiper.on("tap", l),
6623          !0
6624        );
6625      }
6626      function d(e) {
6627        const s = t.thumbs.swiper;
6628        if (!s || s.destroyed) return;
6629        const a =
6630          "auto" === s.params.slidesPerView
6631            ? s.slidesPerViewDynamic()
6632            : s.params.slidesPerView;
6633        let i = 1;
6634        const r = t.params.thumbs.slideThumbActiveClass;
6635        if (
6636          (t.params.slidesPerView > 1 &&
6637            !t.params.centeredSlides &&
6638            (i = t.params.slidesPerView),
6639          t.params.thumbs.multipleActiveThumbs || (i = 1),
6640          (i = Math.floor(i)),
6641          s.slides.forEach((e) => e.classList.remove(r)),
6642          s.params.loop || (s.params.virtual && s.params.virtual.enabled))
6643        )
6644          for (let e = 0; e < i; e += 1)
6645            f(
6646              s.slidesEl,
6647              `[data-swiper-slide-index="${t.realIndex + e}"]`
6648            ).forEach((e) => {
6649              e.classList.add(r);
6650            });
6651        else
6652          for (let e = 0; e < i; e += 1)
6653            s.slides[t.realIndex + e] &&
6654              s.slides[t.realIndex + e].classList.add(r);
6655        const n = t.params.thumbs.autoScrollOffset,
6656          l = n && !s.params.loop;
6657        if (t.realIndex !== s.realIndex || l) {
6658          const i = s.activeIndex;
6659          let r, o;
6660          if (s.params.loop) {
6661            const e = s.slides.find(
6662              (e) =>
6663                e.getAttribute("data-swiper-slide-index") === `${t.realIndex}`
6664            );
6665            (r = s.slides.indexOf(e)),
6666              (o = t.activeIndex > t.previousIndex ? "next" : "prev");
6667          } else (r = t.realIndex), (o = r > t.previousIndex ? "next" : "prev");
6668          l && (r += "next" === o ? n : -1 * n),
6669            s.visibleSlidesIndexes &&
6670              s.visibleSlidesIndexes.indexOf(r) < 0 &&
6671              (s.params.centeredSlides
6672                ? (r =
6673                    r > i
6674                      ? r - Math.floor(a / 2) + 1
6675                      : r + Math.floor(a / 2) - 1)
6676                : r > i && s.params.slidesPerGroup,
6677              s.slideTo(r, e ? 0 : void 0));
6678        }
6679      }
6680      (t.thumbs = { swiper: null }),
6681        i("beforeInit", () => {
6682          const { thumbs: e } = t.params;
6683          if (e && e.swiper)
6684            if (
6685              "string" == typeof e.swiper ||
6686              e.swiper instanceof HTMLElement
6687            ) {
6688              const s = a(),
6689                i = () => {
6690                  const a =
6691                    "string" == typeof e.swiper
6692                      ? s.querySelector(e.swiper)
6693                      : e.swiper;
6694                  if (a && a.swiper) (e.swiper = a.swiper), o(), d(!0);
6695                  else if (a) {
6696                    const s = `${t.params.eventsPrefix}init`,
6697                      i = (r) => {
6698                        (e.swiper = r.detail[0]),
6699                          a.removeEventListener(s, i),
6700                          o(),
6701                          d(!0),
6702                          e.swiper.update(),
6703                          t.update();
6704                      };
6705                    a.addEventListener(s, i);
6706                  }
6707                  return a;
6708                },
6709                r = () => {
6710                  if (t.destroyed) return;
6711                  i() || requestAnimationFrame(r);
6712                };
6713              requestAnimationFrame(r);
6714            } else o(), d(!0);
6715        }),
6716        i("slideChange update resize observerUpdate", () => {
6717          d();
6718        }),
6719        i("setTransition", (e, s) => {
6720          const a = t.thumbs.swiper;
6721          a && !a.destroyed && a.setTransition(s);
6722        }),
6723        i("beforeDestroy", () => {
6724          const e = t.thumbs.swiper;
6725          e && !e.destroyed && n && e.destroy();
6726        }),
6727        Object.assign(t.thumbs, { init: o, update: d });
6728    },
6729    function (e) {
6730      let { swiper: t, extendParams: s, emit: a, once: i } = e;
6731      s({
6732        freeMode: {
6733          enabled: !1,
6734          momentum: !0,
6735          momentumRatio: 1,
6736          momentumBounce: !0,
6737          momentumBounceRatio: 1,
6738          momentumVelocityRatio: 1,
6739          sticky: !1,
6740          minimumVelocity: 0.02,
6741        },
6742      }),
6743        Object.assign(t, {
6744          freeMode: {
6745            onTouchStart: function () {
6746              if (t.params.cssMode) return;
6747              const e = t.getTranslate();
6748              t.setTranslate(e),
6749                t.setTransition(0),
6750                (t.touchEventsData.velocities.length = 0),
6751                t.freeMode.onTouchEnd({
6752                  currentPos: t.rtl ? t.translate : -t.translate,
6753                });
6754            },
6755            onTouchMove: function () {
6756              if (t.params.cssMode) return;
6757              const { touchEventsData: e, touches: s } = t;
6758              0 === e.velocities.length &&
6759                e.velocities.push({
6760                  position: s[t.isHorizontal() ? "startX" : "startY"],
6761                  time: e.touchStartTime,
6762                }),
6763                e.velocities.push({
6764                  position: s[t.isHorizontal() ? "currentX" : "currentY"],
6765                  time: o(),
6766                });
6767            },
6768            onTouchEnd: function (e) {
6769              let { currentPos: s } = e;
6770              if (t.params.cssMode) return;
6771              const {
6772                  params: r,
6773                  wrapperEl: n,
6774                  rtlTranslate: l,
6775                  snapGrid: d,
6776                  touchEventsData: c,
6777                } = t,
6778                p = o() - c.touchStartTime;
6779              if (s < -t.minTranslate()) t.slideTo(t.activeIndex);
6780              else if (s > -t.maxTranslate())
6781                t.slides.length < d.length
6782                  ? t.slideTo(d.length - 1)
6783                  : t.slideTo(t.slides.length - 1);
6784              else {
6785                if (r.freeMode.momentum) {
6786                  if (c.velocities.length > 1) {
6787                    const e = c.velocities.pop(),
6788                      s = c.velocities.pop(),
6789                      a = e.position - s.position,
6790                      i = e.time - s.time;
6791                    (t.velocity = a / i),
6792                      (t.velocity /= 2),
6793                      Math.abs(t.velocity) < r.freeMode.minimumVelocity &&
6794                        (t.velocity = 0),
6795                      (i > 150 || o() - e.time > 300) && (t.velocity = 0);
6796                  } else t.velocity = 0;
6797                  (t.velocity *= r.freeMode.momentumVelocityRatio),
6798                    (c.velocities.length = 0);
6799                  let e = 1e3 * r.freeMode.momentumRatio;
6800                  const s = t.velocity * e;
6801                  let p = t.translate + s;
6802                  l && (p = -p);
6803                  let u,
6804                    m = !1;
6805                  const h =
6806                    20 * Math.abs(t.velocity) * r.freeMode.momentumBounceRatio;
6807                  let f;
6808                  if (p < t.maxTranslate())
6809                    r.freeMode.momentumBounce
6810                      ? (p + t.maxTranslate() < -h &&
6811                          (p = t.maxTranslate() - h),
6812                        (u = t.maxTranslate()),
6813                        (m = !0),
6814                        (c.allowMomentumBounce = !0))
6815                      : (p = t.maxTranslate()),
6816                      r.loop && r.centeredSlides && (f = !0);
6817                  else if (p > t.minTranslate())
6818                    r.freeMode.momentumBounce
6819                      ? (p - t.minTranslate() > h && (p = t.minTranslate() + h),
6820                        (u = t.minTranslate()),
6821                        (m = !0),
6822                        (c.allowMomentumBounce = !0))
6823                      : (p = t.minTranslate()),
6824                      r.loop && r.centeredSlides && (f = !0);
6825                  else if (r.freeMode.sticky) {
6826                    let e;
6827                    for (let t = 0; t < d.length; t += 1)
6828                      if (d[t] > -p) {
6829                        e = t;
6830                        break;
6831                      }
6832                    (p =
6833                      Math.abs(d[e] - p) < Math.abs(d[e - 1] - p) ||
6834                      "next" === t.swipeDirection
6835                        ? d[e]
6836                        : d[e - 1]),
6837                      (p = -p);
6838                  }
6839                  if (
6840                    (f &&
6841                      i("transitionEnd", () => {
6842                        t.loopFix();
6843                      }),
6844                    0 !== t.velocity)
6845                  ) {
6846                    if (
6847                      ((e = l
6848                        ? Math.abs((-p - t.translate) / t.velocity)
6849                        : Math.abs((p - t.translate) / t.velocity)),
6850                      r.freeMode.sticky)
6851                    ) {
6852                      const s = Math.abs((l ? -p : p) - t.translate),
6853                        a = t.slidesSizesGrid[t.activeIndex];
6854                      e =
6855                        s < a
6856                          ? r.speed
6857                          : s < 2 * a
6858                          ? 1.5 * r.speed
6859                          : 2.5 * r.speed;
6860                    }
6861                  } else if (r.freeMode.sticky) return void t.slideToClosest();
6862                  r.freeMode.momentumBounce && m
6863                    ? (t.updateProgress(u),
6864                      t.setTransition(e),
6865                      t.setTranslate(p),
6866                      t.transitionStart(!0, t.swipeDirection),
6867                      (t.animating = !0),
6868                      x(n, () => {
6869                        t &&
6870                          !t.destroyed &&
6871                          c.allowMomentumBounce &&
6872                          (a("momentumBounce"),
6873                          t.setTransition(r.speed),
6874                          setTimeout(() => {
6875                            t.setTranslate(u),
6876                              x(n, () => {
6877                                t && !t.destroyed && t.transitionEnd();
6878                              });
6879                          }, 0));
6880                      }))
6881                    : t.velocity
6882                    ? (a("_freeModeNoMomentumRelease"),
6883                      t.updateProgress(p),
6884                      t.setTransition(e),
6885                      t.setTranslate(p),
6886                      t.transitionStart(!0, t.swipeDirection),
6887                      t.animating ||
6888                        ((t.animating = !0),
6889                        x(n, () => {
6890                          t && !t.destroyed && t.transitionEnd();
6891                        })))
6892                    : t.updateProgress(p),
6893                    t.updateActiveIndex(),
6894                    t.updateSlidesClasses();
6895                } else {
6896                  if (r.freeMode.sticky) return void t.slideToClosest();
6897                  r.freeMode && a("_freeModeNoMomentumRelease");
6898                }
6899                (!r.freeMode.momentum || p >= r.longSwipesMs) &&
6900                  (a("_freeModeStaticRelease"),
6901                  t.updateProgress(),
6902                  t.updateActiveIndex(),
6903                  t.updateSlidesClasses());
6904              }
6905            },
6906          },
6907        });
6908    },
6909    function (e) {
6910      let t,
6911        s,
6912        a,
6913        i,
6914        { swiper: r, extendParams: n, on: l } = e;
6915      n({ grid: { rows: 1, fill: "column" } });
6916      const o = () => {
6917        let e = r.params.spaceBetween;
6918        return (
6919          "string" == typeof e && e.indexOf("%") >= 0
6920            ? (e = (parseFloat(e.replace("%", "")) / 100) * r.size)
6921            : "string" == typeof e && (e = parseFloat(e)),
6922          e
6923        );
6924      };
6925      l("init", () => {
6926        i = r.params.grid && r.params.grid.rows > 1;
6927      }),
6928        l("update", () => {
6929          const { params: e, el: t } = r,
6930            s = e.grid && e.grid.rows > 1;
6931          i && !s
6932            ? (t.classList.remove(
6933                `${e.containerModifierClass}grid`,
6934                `${e.containerModifierClass}grid-column`
6935              ),
6936              (a = 1),
6937              r.emitContainerClasses())
6938            : !i &&
6939              s &&
6940              (t.classList.add(`${e.containerModifierClass}grid`),
6941              "column" === e.grid.fill &&
6942                t.classList.add(`${e.containerModifierClass}grid-column`),
6943              r.emitContainerClasses()),
6944            (i = s);
6945        }),
6946        (r.grid = {
6947          initSlides: (e) => {
6948            const { slidesPerView: i } = r.params,
6949              { rows: n, fill: l } = r.params.grid,
6950              o =
6951                r.virtual && r.params.virtual.enabled
6952                  ? r.virtual.slides.length
6953                  : e.length;
6954            (a = Math.floor(o / n)),
6955              (t = Math.floor(o / n) === o / n ? o : Math.ceil(o / n) * 
6955n),
6956              "auto" !== i && "row" === l && (t = Math.max(t, i * n)),
6957              (s = t / n);
6958          },
6959          unsetSlides: () => {
6960            r.slides &&
6961              r.slides.forEach((e) => {
6962                e.swiperSlideGridSet &&
6963                  ((e.style.height = ""),
6964                  (e.style[r.getDirectionLabel("margin-top")] = ""));
6965              });
6966          },
6967          updateSlide: (e, i, n) => {
6968            const { slidesPerGroup: l } = r.params,
6969              d = o(),
6970              { rows: c, fill: p } = r.params.grid,
6971              u =
6972                r.virtual && r.params.virtual.enabled
6973                  ? r.virtual.slides.length
6974                  : n.length;
6975            let m, h, f;
6976            if ("row" === p && l > 1) {
6977              const s = Math.floor(e / (l * c)),
6978                a = e - c * l * s,
6979                r = 0 === s ? l : Math.min(Math.ceil((u - s * c * l) / c), l);
6980              (f = Math.floor(a / r)),
6981                (h = a - f * r + s * l),
6982                (m = h + (f * t) / c),
6983                (i.style.order = m);
6984            } else
6985              "column" === p
6986                ? ((h = Math.floor(e / c)),
6987                  (f = e - h * c),
6988                  (h > a || (h === a && f === c - 1)) &&
6989                    ((f += 1), f >= c && ((f = 0), (h += 1))))
6990                : ((f = Math.floor(e / s)), (h = e - f * s));
6991            (i.row = f),
6992              (i.column = h),
6993              (i.style.height = `calc((100% - ${(c - 1) * d}px) / ${c})`),
6994              (i.style[r.getDirectionLabel("margin-top")] =
6995                0 !== f ? d && `${d}px` : ""),
6996              (i.swiperSlideGridSet = !0);
6997          },
6998          updateWrapperSize: (e, s) => {
6999            const { centeredSlides: a, roundLengths: i } = r.params,
7000              n = o(),
7001              { rows: l } = r.params.grid;
7002            if (
7003              ((r.virtualSize = (e + n) * t),
7004              (r.virtualSize = Math.ceil(r.virtualSize / l) - n),
7005              r.params.cssMode ||
7006                (r.wrapperEl.style[r.getDirectionLabel("width")] = `${
7007                  r.virtualSize + n
7008                }px`),
7009              a)
7010            ) {
7011              const e = [];
7012              for (let t = 0; t < s.length; t += 1) {
7013                let a = s[t];
7014                i && (a = Math.floor(a)),
7015                  s[t] < r.virtualSize + s[0] && e.push(a);
7016              }
7017              s.splice(0, s.length), s.push(...e);
7018            }
7019          },
7020        });
7021    },
7022    function (e) {
7023      let { swiper: t } = e;
7024      Object.assign(t, {
7025        appendSlide: le.bind(t),
7026        prependSlide: oe.bind(t),
7027        addSlide: de.bind(t),
7028        removeSlide: ce.bind(t),
7029        removeAllSlides: pe.bind(t),
7030      });
7031    },
7032    function (e) {
7033      let { swiper: t, extendParams: s, on: a } = e;
7034      s({ fadeEffect: { crossFade: !1 } }),
7035        ue({
7036          effect: "fade",
7037          swiper: t,
7038          on: a,
7039          setTranslate: () => {
7040            const { slides: e } = t;
7041            t.params.fadeEffect;
7042            for (let s = 0; s < e.length; s += 1) {
7043              const e = t.slides[s];
7044              let a = -e.swiperSlideOffset;
7045              t.params.virtualTranslate || (a -= t.translate);
7046              let i = 0;
7047              t.isHorizontal() || ((i = a), (a = 0));
7048              const r = t.params.fadeEffect.crossFade
7049                  ? Math.max(1 - Math.abs(e.progress), 0)
7050                  : 1 + Math.min(Math.max(e.progress, -1), 0),
7051                n = me(0, e);
7052              (n.style.opacity = r),
7053                (n.style.transform = `translate3d(${a}px, ${i}px, 0px)`);
7054            }
7055          },
7056          setTransition: (e) => {
7057            const s = t.slides.map((e) => h(e));
7058            s.forEach((t) => {
7059              t.style.transitionDuration = `${e}ms`;
7060            }),
7061              he({
7062                swiper: t,
7063                duration: e,
7064                transformElements: s,
7065                allSlides: !0,
7066              });
7067          },
7068          overwriteParams: () => ({
7069            slidesPerView: 1,
7070            slidesPerGroup: 1,
7071            watchSlidesProgress: !0,
7072            spaceBetween: 0,
7073            virtualTranslate: !t.params.cssMode,
7074          }),
7075        });
7076    },
7077    function (e) {
7078      let { swiper: t, extendParams: s, on: a } = e;
7079      s({
7080        cubeEffect: {
7081          slideShadows: !0,
7082          shadow: !0,
7083          shadowOffset: 20,
7084          shadowScale: 0.94,
7085        },
7086      });
7087      const i = (e, t, s) => {
7088        let a = s
7089            ? e.querySelector(".swiper-slide-shadow-left")
7090            : e.querySelector(".swiper-slide-shadow-top"),
7091          i = s
7092            ? e.querySelector(".swiper-slide-shadow-right")
7093            : e.querySelector(".swiper-slide-shadow-bottom");
7094        a ||
7095          ((a = v(
7096            "div",
7097            (
7098              "swiper-slide-shadow-cube swiper-slide-shadow-" +
7099              (s ? "left" : "top")
7100            ).split(" ")
7101          )),
7102          e.append(a)),
7103          i ||
7104            ((i = v(
7105              "div",
7106              (
7107                "swiper-slide-shadow-cube swiper-slide-shadow-" +
7108                (s ? "right" : "bottom")
7109              ).split(" ")
7110            )),
7111            e.append(i)),
7112          a && (a.style.opacity = Math.max(-t, 0)),
7113          i && (i.style.opacity = Math.max(t, 0));
7114      };
7115      ue({
7116        effect: "cube",
7117        swiper: t,
7118        on: a,
7119        setTranslate: () => {
7120          const {
7121              el: e,
7122              wrapperEl: s,
7123              slides: a,
7124              width: r,
7125              height: n,
7126              rtlTranslate: l,
7127              size: o,
7128              browser: d,
7129            } = t,
7130            c = M(t),
7131            p = t.params.cubeEffect,
7132            u = t.isHorizontal(),
7133            m = t.virtual && t.params.virtual.enabled;
7134          let h,
7135            f = 0;
7136          p.shadow &&
7137            (u
7138              ? ((h = t.wrapperEl.querySelector(".swiper-cube-shadow")),
7139                h ||
7140                  ((h = v("div", "swiper-cube-shadow")), t.wrapperEl.append(h)),
7141                (h.style.height = `${r}px`))
7142              : ((h = e.querySelector(".swiper-cube-shadow")),
7143                h || ((h = v("div", "swiper-cube-shadow")), e.append(h))));
7144          for (let e = 0; e < a.length; e += 1) {
7145            const t = a[e];
7146            let s = e;
7147            m && (s = parseInt(t.getAttribute("data-swiper-slide-index"), 10));
7148            let r = 90 * s,
7149              n = Math.floor(r / 360);
7150            l && ((r = -r), (n = Math.floor(-r / 360)));
7151            const d = Math.max(Math.min(t.progress, 1), -1);
7152            let h = 0,
7153              g = 0,
7154              v = 0;
7155            s % 4 == 0
7156              ? ((h = 4 * -n * o), (v = 0))
7157              : (s - 1) % 4 == 0
7158              ? ((h = 0), (v = 4 * -n * o))
7159              : (s - 2) % 4 == 0
7160              ? ((h = o + 4 * n * o), (v = o))
7161              : (s - 3) % 4 == 0 && ((h = -o), (v = 3 * o + 4 * o * n)),
7162              l && (h = -h),
7163              u || ((g = h), (h = 0));
7164            const w = `rotateX(${c(u ? 0 : -r)}deg) rotateY(${c(
7165              u ? r : 0
7166            )}deg) translate3d(${h}px, ${g}px, ${v}px)`;
7167            d <= 1 &&
7168              d > -1 &&
7169              ((f = 90 * s + 90 * d), l && (f = 90 * -s - 90 * d)),
7170              (t.style.transform = w),
7171              p.slideShadows && i(t, d, u);
7172          }
7173          if (
7174            ((s.style.transformOrigin = `50% 50% -${o / 2}px`),
7175            (s.style["-webkit-transform-origin"] = `50% 50% -${o / 2}px`),
7176            p.shadow)
7177          )
7178            if (u)
7179              h.style.transform = `translate3d(0px, ${
7180                r / 2 + p.shadowOffset
7181              }px, ${-r / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${
7182                p.shadowScale
7183              })`;
7184            else {
7185              const e = Math.abs(f) - 90 * Math.floor(Math.abs(f) / 90),
7186                t =
7187                  1.5 -
7188                  (Math.sin((2 * e * Math.PI) / 360) / 2 +
7189                    Math.cos((2 * e * Math.PI) / 360) / 2),
7190                s = p.shadowScale,
7191                a = p.shadowScale / t,
7192                i = p.shadowOffset;
7193              h.style.transform = `scale3d(${s}, 1, ${a}) translate3d(0px, ${
7194                n / 2 + i
7195              }px, ${-n / 2 / a}px) rotateX(-89.99deg)`;
7196            }
7197          const g =
7198            (d.isSafari || d.isWebView) && d.needPerspectiveFix ? -o / 2 : 0;
7199          (s.style.transform = `translate3d(0px,0,${g}px) rotateX(${c(
7200            t.isHorizontal() ? 0 : f
7201          )}deg) rotateY(${c(t.isHorizontal() ? -f : 0)}deg)`),
7202            s.style.setProperty("--swiper-cube-translate-z", `${g}px`);
7203        },
7204        setTransition: (e) => {
7205          const { el: s, slides: a } = t;
7206          if (
7207            (a.forEach((t) => {
7208              (t.style.transitionDuration = `${e}ms`),
7209                t
7210                  .querySelectorAll(
7211                    ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
7212                  )
7213                  .forEach((t) => {
7214                    t.style.transitionDuration = `${e}ms`;
7215                  });
7216            }),
7217            t.params.cubeEffect.shadow && !t.isHorizontal())
7218          ) {
7219            const t = s.querySelector(".swiper-cube-shadow");
7220            t && (t.style.transitionDuration = `${e}ms`);
7221          }
7222        },
7223        recreateShadows: () => {
7224          const e = t.isHorizontal();
7225          t.slides.forEach((t) => {
7226            const s = Math.max(Math.min(t.progress, 1), -1);
7227            i(t, s, e);
7228          });
7229        },
7230        getEffectParams: () => t.params.cubeEffect,
7231        perspective: () => !0,
7232        overwriteParams: () => ({
7233          slidesPerView: 1,
7234          slidesPerGroup: 1,
7235          watchSlidesProgress: !0,
7236          resistanceRatio: 0,
7237          spaceBetween: 0,
7238          centeredSlides: !1,
7239          virtualTranslate: !0,
7240        }),
7241      });
7242    },
7243    function (e) {
7244      let { swiper: t, extendParams: s, on: a } = e;
7245      s({ flipEffect: { slideShadows: !0, limitRotation: !0 } });
7246      const i = (e, s) => {
7247        let a = t.isHorizontal()
7248            ? e.querySelector(".swiper-slide-shadow-left")
7249            : e.querySelector(".swiper-slide-shadow-top"),
7250          i = t.isHorizontal()
7251            ? e.querySelector(".swiper-slide-shadow-right")
7252            : e.querySelector(".swiper-slide-shadow-bottom");
7253        a || (a = fe("flip", e, t.isHorizontal() ? "left" : "top")),
7254          i || (i = fe("flip", e, t.isHorizontal() ? "right" : "bottom")),
7255          a && (a.style.opacity = Math.max(-s, 0)),
7256          i && (i.style.opacity = Math.max(s, 0));
7257      };
7258      ue({
7259        effect: "flip",
7260        swiper: t,
7261        on: a,
7262        setTranslate: () => {
7263          const { slides: e, rtlTranslate: s } = t,
7264            a = t.params.flipEffect,
7265            r = M(t);
7266          for (let n = 0; n < e.length; n += 1) {
7267            const l = e[n];
7268            let o = l.progress;
7269            t.params.flipEffect.limitRotation &&
7270              (o = Math.max(Math.min(l.progress, 1), -1));
7271            const d = l.swiperSlideOffset;
7272            let c = -180 * o,
7273              p = 0,
7274              u = t.params.cssMode ? -d - t.translate : -d,
7275              m = 0;
7276            t.isHorizontal()
7277              ? s && (c = -c)
7278              : ((m = u), (u = 0), (p = -c), (c = 0)),
7279              (l.style.zIndex = -Math.abs(Math.round(o)) + e.length),
7280              a.slideShadows && i(l, o);
7281            const h = `translate3d(${u}px, ${m}px, 0px) rotateX(${r(
7282              p
7283            )}deg) rotateY(${r(c)}deg)`;
7284            me(0, l).style.transform = h;
7285          }
7286        },
7287        setTransition: (e) => {
7288          const s = t.slides.map((e) => h(e));
7289          s.forEach((t) => {
7290            (t.style.transitionDuration = `${e}ms`),
7291              t
7292                .querySelectorAll(
7293                  ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
7294                )
7295                .forEach((t) => {
7296                  t.style.transitionDuration = `${e}ms`;
7297                });
7298          }),
7299            he({ swiper: t, duration: e, transformElements: s });
7300        },
7301        recreateShadows: () => {
7302          t.params.flipEffect,
7303            t.slides.forEach((e) => {
7304              let s = e.progress;
7305              t.params.flipEffect.limitRotation &&
7306                (s = Math.max(Math.min(e.progress, 1), -1)),
7307                i(e, s);
7308            });
7309        },
7310        getEffectParams: () => t.params.flipEffect,
7311        perspective: () => !0,
7312        overwriteParams: () => ({
7313          slidesPerView: 1,
7314          slidesPerGroup: 1,
7315          watchSlidesProgress: !0,
7316          spaceBetween: 0,
7317          virtualTranslate: !t.params.cssMode,
7318        }),
7319      });
7320    },
7321    function (e) {
7322      let { swiper: t, extendParams: s, on: a } = e;
7323      s({
7324        coverflowEffect: {
7325          rotate: 50,
7326          stretch: 0,
7327          depth: 100,
7328          scale: 1,
7329          modifier: 1,
7330          slideShadows: !0,
7331        },
7332      }),
7333        ue({
7334          effect: "coverflow",
7335          swiper: t,
7336          on: a,
7337          setTranslate: () => {
7338            const { width: e, height: s, slides: a, slidesSizesGrid: i } = t,
7339              r = t.params.coverflowEffect,
7340              n = t.isHorizontal(),
7341              l = t.translate,
7342              o = n ? e / 2 - l : s / 2 - l,
7343              d = n ? r.rotate : -r.rotate,
7344              c = r.depth,
7345              p = M(t);
7346            for (let e = 0, t = a.length; e < t; e += 1) {
7347              const t = a[e],
7348                s = i[e],
7349                l = (o - t.swiperSlideOffset - s / 2) / s,
7350                u =
7351                  "function" == typeof r.modifier
7352                    ? r.modifier(l)
7353                    : l * r.modifier;
7354              let m = n ? d * u : 0,
7355                h = n ? 0 : d * u,
7356                f = -c * Math.abs(u),
7357                g = r.stretch;
7358              "string" == typeof g &&
7359                -1 !== g.indexOf("%") &&
7360                (g = (parseFloat(r.stretch) / 100) * s);
7361              let v = n ? 0 : g * u,
7362                w = n ? g * u : 0,
7363                b = 1 - (1 - r.scale) * Math.abs(u);
7364              Math.abs(w) < 0.001 && (w = 0),
7365                Math.abs(v) < 0.001 && (v = 0),
7366                Math.abs(f) < 0.001 && (f = 0),
7367                Math.abs(m) < 0.001 && (m = 0),
7368                Math.abs(h) < 0.001 && (h = 0),
7369                Math.abs(b) < 0.001 && (b = 0);
7370              const y = `translate3d(${w}px,${v}px,${f}px)  rotateX(${p(
7371                h
7372              )}deg) rotateY(${p(m)}deg) scale(${b})`;
7373              if (
7374                ((me(0, t).style.transform = y),
7375                (t.style.zIndex = 1 - Math.abs(Math.round(u))),
7376                r.slideShadows)
7377              ) {
7378                let e = n
7379                    ? t.querySelector(".swiper-slide-shadow-left")
7380                    : t.querySelector(".swiper-slide-shadow-top"),
7381                  s = n
7382                    ? t.querySelector(".swiper-slide-shadow-right")
7383                    : t.querySelector(".swiper-slide-shadow-bottom");
7384                e || (e = fe("coverflow", t, n ? "left" : "top")),
7385                  s || (s = fe("coverflow", t, n ? "right" : "bottom")),
7386                  e && (e.style.opacity = u > 0 ? u : 0),
7387                  s && (s.style.opacity = -u > 0 ? -u : 0);
7388              }
7389            }
7390          },
7391          setTransition: (e) => {
7392            t.slides
7393              .map((e) => h(e))
7394              .forEach((t) => {
7395                (t.style.transitionDuration = `${e}ms`),
7396                  t
7397                    .querySelectorAll(
7398                      ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
7399                    )
7400                    .forEach((t) => {
7401                      t.style.transitionDuration = `${e}ms`;
7402                    });
7403              });
7404          },
7405          perspective: () => !0,
7406          overwriteParams: () => ({ watchSlidesProgress: !0 }),
7407        });
7408    },
7409    function (e) {
7410      let { swiper: t, extendParams: s, on: a } = e;
7411      s({
7412        creativeEffect: {
7413          limitProgress: 1,
7414          shadowPerProgress: !1,
7415          progressMultiplier: 1,
7416          perspective: !0,
7417          prev: {
7418            translate: [0, 0, 0],
7419            rotate: [0, 0, 0],
7420            opacity: 1,
7421            scale: 1,
7422          },
7423          next: {
7424            translate: [0, 0, 0],
7425            rotate: [0, 0, 0],
7426            opacity: 1,
7427            scale: 1,
7428          },
7429        },
7430      });
7431      const i = (e) => ("string" == typeof e ? e : `${e}px`);
7432      ue({
7433        effect: "creative",
7434        swiper: t,
7435        on: a,
7436        setTranslate: () => {
7437          const { slides: e, wrapperEl: s, slidesSizesGrid: a } = t,
7438            r = t.params.creativeEffect,
7439            { progressMultiplier: n } = r,
7440            l = t.params.centeredSlides,
7441            o = M(t);
7442          if (l) {
7443            const e = a[0] / 2 - t.params.slidesOffsetBefore || 0;
7444            s.style.transform = `translateX(calc(50% - ${e}px))`;
7445          }
7446          for (let s = 0; s < e.length; s += 1) {
7447            const a = e[s],
7448              d = a.progress,
7449              c = Math.min(
7450                Math.max(a.progress, -r.limitProgress),
7451                r.limitProgress
7452              );
7453            let p = c;
7454            l ||
7455              (p = Math.min(
7456                Math.max(a.originalProgress, -r.limitProgress),
7457                r.limitProgress
7458              ));
7459            const u = a.swiperSlideOffset,
7460              m = [t.params.cssMode ? -u - t.translate : -u, 0, 0],
7461              h = [0, 0, 0];
7462            let f = !1;
7463            t.isHorizontal() || ((m[1] = m[0]), (m[0] = 0));
7464            let g = {
7465              translate: [0, 0, 0],
7466              rotate: [0, 0, 0],
7467              scale: 1,
7468              opacity: 1,
7469            };
7470            c < 0
7471              ? ((g = r.next), (f = !0))
7472              : c > 0 && ((g = r.prev), (f = !0)),
7473              m.forEach((e, t) => {
7474                m[t] = `calc(${e}px + (${i(g.translate[t])} * ${Math.abs(
7475                  c * n
7476                )}))`;
7477              }),
7478              h.forEach((e, t) => {
7479                let s = g.rotate[t] * Math.abs(c * n);
7480                h[t] = s;
7481              }),
7482              (a.style.zIndex = -Math.abs(Math.round(d)) + e.length);
7483            const v = m.join(", "),
7484              w = `rotateX(${o(h[0])}deg) rotateY(${o(h[1])}deg) rotateZ(${o(
7485                h[2]
7486              )}deg)`,
7487              b =
7488                p < 0
7489                  ? `scale(${1 + (1 - g.scale) * p * n})`
7490                  : `scale(${1 - (1 - g.scale) * p * n})`,
7491              y =
7492                p < 0
7493                  ? 1 + (1 - g.opacity) * p * n
7494                  : 1 - (1 - g.opacity) * p * n,
7495              E = `translate3d(${v}) ${w} ${b}`;
7496            if ((f && g.shadow) || !f) {
7497              let e = a.querySelector(".swiper-slide-shadow");
7498              if ((!e && g.shadow && (e = fe("creative", a)), e)) {
7499                const t = r.shadowPerProgress ? c * (1 / r.limitProgress) : c;
7500                e.style.opacity = Math.min(Math.max(Math.abs(t), 0), 1);
7501              }
7502            }
7503            const x = me(0, a);
7504            (x.style.transform = E),
7505              (x.style.opacity = y),
7506              g.origin && (x.style.transformOrigin = g.origin);
7507          }
7508        },
7509        setTransition: (e) => {
7510          const s = t.slides.map((e) => h(e));
7511          s.forEach((t) => {
7512            (t.style.transitionDuration = `${e}ms`),
7513              t.querySelectorAll(".swiper-slide-shadow").forEach((t) => {
7514                t.style.transitionDuration = `${e}ms`;
7515              });
7516          }),
7517            he({ swiper: t, duration: e, transformElements: s, allSlides: !0 });
7518        },
7519        perspective: () => t.params.creativeEffect.perspective,
7520        overwriteParams: () => ({
7521          watchSlidesProgress: !0,
7522          virtualTranslate: !t.params.cssMode,
7523        }),
7524      });
7525    },
7526    function (e) {
7527      let { swiper: t, extendParams: s, on: a } = e;
7528      s({
7529        cardsEffect: {
7530          slideShadows: !0,
7531          rotate: !0,
7532          perSlideRotate: 2,
7533          perSlideOffset: 8,
7534        },
7535      }),
7536        ue({
7537          effect: "cards",
7538          swiper: t,
7539          on: a,
7540          setTranslate: () => {
7541            const { slides: e, activeIndex: s, rtlTranslate: a } = t,
7542              i = t.params.cardsEffect,
7543              { startTranslate: r, isTouched: n } = t.touchEventsData,
7544              l = a ? -t.translate : t.translate;
7545            for (let o = 0; o < e.length; o += 1) {
7546              const d = e[o],
7547                c = d.progress,
7548                p = Math.min(Math.max(c, -4), 4);
7549              let u = d.swiperSlideOffset;
7550              t.params.centeredSlides &&
7551                !t.params.cssMode &&
7552                (t.wrapperEl.style.transform = `translateX(${t.minTranslate()}px)`),
7553                t.params.centeredSlides &&
7554                  t.params.cssMode &&
7555                  (u -= e[0].swiperSlideOffset);
7556              let m = t.params.cssMode ? -u - t.translate : -u,
7557                h = 0;
7558              const f = -100 * Math.abs(p);
7559              let g = 1,
7560                v = -i.perSlideRotate * p,
7561                w = i.perSlideOffset - 0.75 * Math.abs(p);
7562              const b =
7563                  t.virtual && t.params.virtual.enabled
7564                    ? t.virtual.from + o
7565                    : o,
7566                y =
7567                  (b === s || b === s - 1) &&
7568                  p > 0 &&
7569                  p < 1 &&
7570                  (n || t.params.cssMode) &&
7571                  l < r,
7572                E =
7573                  (b === s || b === s + 1) &&
7574                  p < 0 &&
7575                  p > -1 &&
7576                  (n || t.params.cssMode) &&
7577                  l > r;
7578              if (y || E) {
7579                const e = (1 - Math.abs((Math.abs(p) - 0.5) / 0.5)) ** 0.5;
7580                (v += -28 * p * e),
7581                  (g += -0.5 * e),
7582                  (w += 96 * e),
7583                  (h = -25 * e * Math.abs(p) + "%");
7584              }
7585              if (
7586                ((m =
7587                  p < 0
7588                    ? `calc(${m}px ${a ? "-" : "+"} (${w * Math.abs(p)}%))`
7589                    : p > 0
7590                    ? `calc(${m}px ${a ? "-" : "+"} (-${w * Math.abs(p)}%))`
7591                    : `${m}px`),
7592                !t.isHorizontal())
7593              ) {
7594                const e = h;
7595                (h = m), (m = e);
7596              }
7597              const x = p < 0 ? "" + (1 + (1 - g) * p) : "" + (1 - (1 - g) * p),
7598                S = `\n        translate3d(${m}, ${h}, ${f}px)\n        rotateZ(${
7599                  i.rotate ? (a ? -v : v) : 0
7600                }deg)\n        scale(${x})\n      `;
7601              if (i.slideShadows) {
7602                let e = d.querySelector(".swiper-slide-shadow");
7603                e || (e = fe("cards", d)),
7604                  e &&
7605                    (e.style.opacity = Math.min(
7606                      Math.max((Math.abs(p) - 0.5) / 0.5, 0),
7607                      1
7608                    ));
7609              }
7610              d.style.zIndex = -Math.abs(Math.round(c)) + e.length;
7611              me(0, d).style.transform = S;
7612            }
7613          },
7614          setTransition: (e) => {
7615            const s = t.slides.map((e) => h(e));
7616            s.forEach((t) => {
7617              (t.style.transitionDuration = `${e}ms`),
7618                t.querySelectorAll(".swiper-slide-shadow").forEach((t) => {
7619                  t.style.transitionDuration = `${e}ms`;
7620                });
7621            }),
7622              he({ swiper: t, duration: e, transformElements: s });
7623          },
7624          perspective: () => !0,
7625          overwriteParams: () => ({
7626            watchSlidesProgress: !0,
7627            virtualTranslate: !t.params.cssMode,
7628          }),
7629        });
7630    },
7631  ];
7632  return ie.use(ge), ie;
7633})();
7634//# sourceMappingURL=swiper-bundle.min.js.map

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.