PageSourceSearch

https://www.aachenerdom.de/app/themes/pr-master-theme/js/swiper.min.js?ver=7.1.2

js aachenerdom.de collected 2026-10-02 07:08:32 UTC 207,477 bytes, 7,796 lines download raw bytes

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

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.