PageSourceSearch

https://www.hankyu-travel.com/attending/common/js/plugin/swiper5/js/swiper.min.js

js hankyu-travel.com collected 2026-09-24 15:27:52 UTC 186,361 bytes, 5,034 lines download raw bytes

vendor: 17,790 bytes, lines 1-600
1/**
2 * Swiper 5.4.5
3 * Most modern mobile touch slider and framework with hardware accelerated transitions
4 * http://swiperjs.com
5 *
6 * Copyright 2014-2020 Vladimir Kharlampidi
7 *
8 * Released under the MIT License
9 *
10 * Released on: June 16, 2020
11 */
12
13! function(e, t) {
14	"object" == typeof exports && "undefined" != typeof module ? module.exports =
15		t() : "function" == typeof define && define.amd ? define(t) : (e = e || self)
16		.Swiper = t()
17}(this, (function() {
18	"use strict";
19
20	function e(e) {
21		return null !== e && "object" == typeof e && "constructor" in e && e.constructor ===
22			Object
23	}
24
25	function t(i, s) {
26		void 0 === i && (i = {}), void 0 === s && (s = {}), Object.keys(s).forEach(
27			(function(a) {
28				void 0 === i[a] ? i[a] = s[a] : e(s[a]) && e(i[a]) && Object.keys(s[a])
29					.length > 0 && t(i[a], s[a])
30			}))
31	}
32	var i = "undefined" != typeof document ? document : {},
33		s = {
34			body: {},
35			addEventListener: function() {},
36			removeEventListener: function() {},
37			activeElement: {
38				blur: function() {},
39				nodeName: ""
40			},
41			querySelector: function() {
42				return null
43			},
44			querySelectorAll: function() {
45				return []
46			},
47			getElementById: function() {
48				return null
49			},
50			createEvent: function() {
51				return {
52					initEvent: function() {}
53				}
54			},
55			createElement: function() {
56				return {
57					children: [],
58					childNodes: [],
59					style: {},
60					setAttribute: function() {},
61					getElementsByTagName: function() {
62						return []
63					}
64				}
65			},
66			createElementNS: function() {
67				return {}
68			},
69			importNode: function() {
70				return null
71			},
72			location: {
73				hash: "",
74				host: "",
75				hostname: "",
76				href: "",
77				origin: "",
78				pathname: "",
79				protocol: "",
80				search: ""
81			}
82		};
83	t(i, s);
84	var a = "undefined" != typeof window ? window : {};
85	t(a, {
86		document: s,
87		navigator: {
88			userAgent: ""
89		},
90		location: {
91			hash: "",
92			host: "",
93			hostname: "",
94			href: "",
95			origin: "",
96			pathname: "",
97			protocol: "",
98			search: ""
99		},
100		history: {
101			replaceState: function() {},
102			pushState: function() {},
103			go: function() {},
104			back: function() {}
105		},
106		CustomEvent: function() {
107			return this
108		},
109		addEventListener: function() {},
110		removeEventListener: function() {},
111		getComputedStyle: function() {
112			return {
113				getPropertyValue: function() {
114					return ""
115				}
116			}
117		},
118		Image: function() {},
119		Date: function() {},
120		screen: {},
121		setTimeout: function() {},
122		clearTimeout: function() {},
123		matchMedia: function() {
124			return {}
125		}
126	});
127	var r = function(e) {
128		for (var t = 0; t < e.length; t += 1) this[t] = e[t];
129		return this.length = e.length, this
130	};
131
132	function n(e, t) {
133		var s = [],
134			n = 0;
135		if (e && !t && e instanceof r) return e;
136		if (e)
137			if ("string" == typeof e) {
138				var o, l, d = e.trim();
139				if (d.indexOf("<") >= 0 && d.indexOf(">") >= 0) {
140					var h = "div";
141					for (0 === d.indexOf("<li") && (h = "ul"), 0 === d.indexOf("<tr") && (h =
142							"tbody"), 0 !== d.indexOf("<td") && 0 !== d.indexOf("<th") || (h =
143							"tr"), 0 === d.indexOf("<tbody") && (h = "table"), 0 === d.indexOf(
144							"<option") && (h = "select"), (l = i.createElement(h)).innerHTML = d,
145						n = 0; n < l.childNodes.length; n += 1) s.push(l.childNodes[n])
146				} else
147					for (o = t || "#" !== e[0] || e.match(/[ .<>:~]/) ? (t || i).querySelectorAll(
148							e.trim()) : [i.getElementById(e.trim().split("#")[1])], n = 0; n < o.length; n +=
149						1) o[n] && s.push(o[n])
150			} else if (e.nodeType || e === a || e === i) s.push(e);
151		else if (e.length > 0 && e[0].nodeType)
152			for (n = 0; n < e.length; n += 1) s.push(e[n]);
153		return new r(s)
154	}
155
156	function o(e) {
157		for (var t = [], i = 0; i < e.length; i += 1) - 1 === t.indexOf(e[i]) && t.push(
158			e[i]);
159		return t
160	}
161	n.fn = r.prototype, n.Class = r, n.Dom7 = r;
162	var l = {
163		addClass: function(e) {
164			if (void 0 === e) return this;
165			for (var t = e.split(" "), i = 0; i < t.length; i += 1)
166				for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !==
167					this[s].classList && this[s].classList.add(t[i]);
168			return this
169		},
170		removeClass: function(e) {
171			for (var t = e.split(" "), i = 0; i < t.length; i += 1)
172				for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !==
173					this[s].classList && this[s].classList.remove(t[i]);
174			return this
175		},
176		hasClass: function(e) {
177			return !!this[0] && this[0].classList.contains(e)
178		},
179		toggleClass: function(e) {
180			for (var t = e.split(" "), i = 0; i < t.length; i += 1)
181				for (var s = 0; s < this.length; s += 1) void 0 !== this[s] && void 0 !==
182					this[s].classList && this[s].classList.toggle(t[i]);
183			return this
184		},
185		attr: function(e, t) {
186			var i = arguments;
187			if (1 === arguments.length && "string" == typeof e) return this[0] ?
188				this[0].getAttribute(e) : void 0;
189			for (var s = 0; s < this.length; s += 1)
190				if (2 === i.length) this[s].setAttribute(e, t);
191				else
192					for (var a in e) this[s][a] = e[a], this[s].setAttribute(a, e[a]);
193			return this
194		},
195		removeAttr: function(e) {
196			for (var t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
197			return this
198		},
199		data: function(e, t) {
200			var i;
201			if (void 0 !== t) {
202				for (var s = 0; s < this.length; s += 1)(i = this[s]).dom7ElementDataStorage ||
203					(i.dom7ElementDataStorage = {}), i.dom7ElementDataStorage[e] = t;
204				return this
205			}
206			if (i = this[0]) {
207				if (i.dom7ElementDataStorage && e in i.dom7ElementDataStorage) return i
208					.dom7ElementDataStorage[e];
209				var a = i.getAttribute("data-" + e);
210				return a || void 0
211			}
212		},
213		transform: function(e) {
214			for (var t = 0; t < this.length; t += 1) {
215				var i = this[t].style;
216				i.webkitTransform = e, i.transform = e
217			}
218			return this
219		},
220		transition: function(e) {
221			"string" != typeof e && (e += "ms");
222			for (var t = 0; t < this.length; t += 1) {
223				var i = this[t].style;
224				i.webkitTransitionDuration = e, i.transitionDuration = e
225			}
226			return this
227		},
228		on: function() {
229			for (var e, t = [], i = arguments.length; i--;) t[i] = arguments[i];
230			var s = t[0],
231				a = t[1],
232				r = t[2],
233				o = t[3];
234
235			function l(e) {
236				var t = e.target;
237				if (t) {
238					var i = e.target.dom7EventData || [];
239					if (i.indexOf(e) < 0 && i.unshift(e), n(t).is(a)) r.apply(t, i);
240					else
241						for (var s = n(t).parents(), o = 0; o < s.length; o += 1) n(s[o]).is(
242							a) && r.apply(s[o], i)
243				}
244			}
245
246			function d(e) {
247				var t = e && e.target && e.target.dom7EventData || [];
248				t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t)
249			}
250			"function" == typeof t[1] && (s = (e = t)[0], r = e[1], o = e[2], a =
251				void 0), o || (o = !1);
252			for (var h, p = s.split(" "), c = 0; c < this.length; c += 1) {
253				var u = this[c];
254				if (a)
255					for (h = 0; h < p.length; h += 1) {
256						var v = p[h];
257						u.dom7LiveListeners || (u.dom7LiveListeners = {}), u.dom7LiveListeners[
258							v] || (u.dom7LiveListeners[v] = []), u.dom7LiveListeners[v].push({
259							listener: r,
260							proxyListener: l
261						}), u.addEventListener(v, l, o)
262					} else
263						for (h = 0; h < p.length; h += 1) {
264							var f = p[h];
265							u.dom7Listeners || (u.dom7Listeners = {}), u.dom7Listeners[f] || (u.dom7Listeners[
266								f] = []), u.dom7Listeners[f].push({
267								listener: r,
268								proxyListener: d
269							}), u.addEventListener(f, d, o)
270						}
271			}
272			return this
273		},
274		off: function() {
275			for (var e, t = [], i = arguments.length; i--;) t[i] = arguments[i];
276			var s = t[0],
277				a = t[1],
278				r = t[2],
279				n = t[3];
280			"function" == typeof t[1] && (s = (e = t)[0], r = e[1], n = e[2], a =
281				void 0), n || (n = !1);
282			for (var o = s.split(" "), l = 0; l < o.length; l += 1)
283				for (var d = o[l], h = 0; h < this.length; h += 1) {
284					var p = this[h],
285						c = void 0;
286					if (!a && p.dom7Listeners ? c = p.dom7Listeners[d] : a && p.dom7LiveListeners &&
287						(c = p.dom7LiveListeners[d]), c && c.length)
288						for (var u = c.length - 1; u >= 0; u -= 1) {
289							var v = c[u];
290							r && v.listener === r || r && v.listener && v.listener.dom7proxy &&
291								v.listener.dom7proxy === r ? (p.removeEventListener(d, v.proxyListener,
292									n), c.splice(u, 1)) : r || (p.removeEventListener(d, v.proxyListener,
293									n), c.splice(u, 1))
294						}
295				}
296			return this
297		},
298		trigger: function() {
299			for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
300			for (var s = e[0].split(" "), r = e[1], n = 0; n < s.length; n += 1)
301				for (var o = s[n], l = 0; l < this.length; l += 1) {
302					var d = this[l],
303						h = void 0;
304					try {
305						h = new a.CustomEvent(o, {
306							detail: r,
307							bubbles: !0,
308							cancelable: !0
309						})
310					} catch (e) {
311						(h = i.createEvent("Event")).initEvent(o, !0, !0), h.detail = r
312					}
313					d.dom7EventData = e.filter((function(e, t) {
314						return t > 0
315					})), d.dispatchEvent(h), d.dom7EventData = [], delete d.dom7EventData
316				}
317			return this
318		},
319		transitionEnd: function(e) {
320			var t, i = ["webkitTransitionEnd", "transitionend"],
321				s = this;
322
323			function a(r) {
324				if (r.target === this)
325					for (e.call(this, r), t = 0; t < i.length; t += 1) s.off(i[t], a)
326			}
327			if (e)
328				for (t = 0; t < i.length; t += 1) s.on(i[t], a);
329			return this
330		},
331		outerWidth: function(e) {
332			if (this.length > 0) {
333				if (e) {
334					var t = this.styles();
335					return this[0].offsetWidth + parseFloat(t.getPropertyValue(
336						"margin-right")) + parseFloat(t.getPropertyValue("margin-left"))
337				}
338				return this[0].offsetWidth
339			}
340			return null
341		},
342		outerHeight: function(e) {
343			if (this.length > 0) {
344				if (e) {
345					var t = this.styles();
346					return this[0].offsetHeight + parseFloat(t.getPropertyValue(
347						"margin-top")) + parseFloat(t.getPropertyValue("margin-bottom"))
348				}
349				return this[0].offsetHeight
350			}
351			return null
352		},
353		offset: function() {
354			if (this.length > 0) {
355				var e = this[0],
356					t = e.getBoundingClientRect(),
357					s = i.body,
358					r = e.clientTop || s.clientTop || 0,
359					n = e.clientLeft || s.clientLeft || 0,
360					o = e === a ? a.scrollY : e.scrollTop,
361					l = e === a ? a.scrollX : e.scrollLeft;
362				return {
363					top: t.top + o - r,
364					left: t.left + l - n
365				}
366			}
367			return null
368		},
369		css: function(e, t) {
370			var i;
371			if (1 === arguments.length) {
372				if ("string" != typeof e) {
373					for (i = 0; i < this.length; i += 1)
374						for (var s in e) this[i].style[s] = e[s];
375					return this
376				}
377				if (this[0]) return a.getComputedStyle(this[0], null).getPropertyValue(
378					e)
379			}
380			if (2 === arguments.length && "string" == typeof e) {
381				for (i = 0; i < this.length; i += 1) this[i].style[e] = t;
382				return this
383			}
384			return this
385		},
386		each: function(e) {
387			if (!e) return this;
388			for (var t = 0; t < this.length; t += 1)
389				if (!1 === e.call(this[t], t, this[t])) return this;
390			return this
391		},
392		html: function(e) {
393			if (void 0 === e) return this[0] ? this[0].innerHTML : void 0;
394			for (var t = 0; t < this.length; t += 1) this[t].innerHTML = e;
395			return this
396		},
397		text: function(e) {
398			if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
399			for (var t = 0; t < this.length; t += 1) this[t].textContent = e;
400			return this
401		},
402		is: function(e) {
403			var t, s, o = this[0];
404			if (!o || void 0 === e) return !1;
405			if ("string" == typeof e) {
406				if (o.matches) return o.matches(e);
407				if (o.webkitMatchesSelector) return o.webkitMatchesSelector(e);
408				if (o.msMatchesSelector) return o.msMatchesSelector(e);
409				for (t = n(e), s = 0; s < t.length; s += 1)
410					if (t[s] === o) return !0;
411				return !1
412			}
413			if (e === i) return o === i;
414			if (e === a) return o === a;
415			if (e.nodeType || e instanceof r) {
416				for (t = e.nodeType ? [e] : e, s = 0; s < t.length; s += 1)
417					if (t[s] === o) return !0;
418				return !1
419			}
420			return !1
421		},
422		index: function() {
423			var e, t = this[0];
424			if (t) {
425				for (e = 0; null !== (t = t.previousSibling);) 1 === t.nodeType && (e +=
426					1);
427				return e
428			}
429		},
430		eq: function(e) {
431			if (void 0 === e) return this;
432			var t, i = this.length;
433			return new r(e > i - 1 ? [] : e < 0 ? (t = i + e) < 0 ? [] : [this[t]] : [
434				this[e]
435			])
436		},
437		append: function() {
438			for (var e, t = [], s = arguments.length; s--;) t[s] = arguments[s];
439			for (var a = 0; a < t.length; a += 1) {
440				e = t[a];
441				for (var n = 0; n < this.length; n += 1)
442					if ("string" == typeof e) {
443						var o = i.createElement("div");
444						for (o.innerHTML = e; o.firstChild;) this[n].appendChild(o.firstChild)
445					} else if (e instanceof r)
446					for (var l = 0; l < e.length; l += 1) this[n].appendChild(e[l]);
447				else this[n].appendChild(e)
448			}
449			return this
450		},
451		prepend: function(e) {
452			var t, s;
453			for (t = 0; t < this.length; t += 1)
454				if ("string" == typeof e) {
455					var a = i.createElement("div");
456					for (a.innerHTML = e, s = a.childNodes.length - 1; s >= 0; s -= 1) this[
457						t].insertBefore(a.childNodes[s], this[t].childNodes[0])
458				} else if (e instanceof r)
459				for (s = 0; s < e.length; s += 1) this[t].insertBefore(e[s], this[t].childNodes[
460					0]);
461			else this[t].insertBefore(e, this[t].childNodes[0]);
462			return this
463		},
464		next: function(e) {
465			return this.length > 0 ? e ? this[0].nextElementSibling && n(this[0].nextElementSibling)
466				.is(e) ? new r([this[0].nextElementSibling]) : new r([]) : this[0].nextElementSibling ?
467				new r([this[0].nextElementSibling]) : new r([]) : new r([])
468		},
469		nextAll: function(e) {
470			var t = [],
471				i = this[0];
472			if (!i) return new r([]);
473			for (; i.nextElementSibling;) {
474				var s = i.nextElementSibling;
475				e ? n(s).is(e) && t.push(s) : t.push(s), i = s
476			}
477			return new r(t)
478		},
479		prev: function(e) {
480			if (this.length > 0) {
481				var t = this[0];
482				return e ? t.previousElementSibling && n(t.previousElementSibling).is(e) ?
483					new r([t.previousElementSibling]) : new r([]) : t.previousElementSibling ?
484					new r([t.previousElementSibling]) : new r([])
485			}
486			return new r([])
487		},
488		prevAll: function(e) {
489			var t = [],
490				i = this[0];
491			if (!i) return new r([]);
492			for (; i.previousElementSibling;) {
493				var s = i.previousElementSibling;
494				e ? n(s).is(e) && t.push(s) : t.push(s), i = s
495			}
496			return new r(t)
497		},
498		parent: function(e) {
499			for (var t = [], i = 0; i < this.length; i += 1) null !== this[i].parentNode &&
500				(e ? n(this[i].parentNode).is(e) && t.push(this[i].parentNode) : t.push(
501					this[i].parentNode));
502			return n(o(t))
503		},
504		parents: function(e) {
505			for (var t = [], i = 0; i < this.length; i += 1)
506				for (var s = this[i].parentNode; s;) e ? n(s).is(e) && t.push(s) : t.push(
507					s), s = s.parentNode;
508			return n(o(t))
509		},
510		closest: function(e) {
511			var t = this;
512			return void 0 === e ? new r([]) : (t.is(e) || (t = t.parents(e).eq(0)),
513				t)
514		},
515		find: function(e) {
516			for (var t = [], i = 0; i < this.length; i += 1)
517				for (var s = this[i].querySelectorAll(e), a = 0; a < s.length; a += 1) t
518					.push(s[a]);
519			return new r(t)
520		},
521		children: function(e) {
522			for (var t = [], i = 0; i < this.length; i += 1)
523				for (var s = this[i].childNodes, a = 0; a < s.length; a += 1) e ? 1 ===
524					s[a].nodeType && n(s[a]).is(e) && t.push(s[a]) : 1 === s[a].nodeType &&
525					t.push(s[a]);
526			return new r(o(t))
527		},
528		filter: function(e) {
529			for (var t = [], i = 0; i < this.length; i += 1) e.call(this[i], i, this[
530				i]) && t.push(this[i]);
531			return new r(t)
532		},
533		remove: function() {
534			for (var e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode
535				.removeChild(this[e]);
536			return this
537		},
538		add: function() {
539			for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
540			var i, s, a = this;
541			for (i = 0; i < e.length; i += 1) {
542				var r = n(e[i]);
543				for (s = 0; s < r.length; s += 1) a[a.length] = r[s], a.length += 1
544			}
545			return a
546		},
547		styles: function() {
548			return this[0] ? a.getComputedStyle(this[0], null) : {}
549		}
550	};
551	Object.keys(l).forEach((function(e) {
552		n.fn[e] = n.fn[e] || l[e]
553	}));
554	var d = {
555			deleteProps: function(e) {
556				var t = e;
557				Object.keys(t).forEach((function(e) {
558					try {
559						t[e] = null
560					} catch (e) {}
561					try {
562						delete t[e]
563					} catch (e) {}
564				}))
565			},
566			nextTick: function(e, t) {
567				return void 0 === t && (t = 0), setTimeout(e, t)
568			},
569			now: function() {
570				return Date.now()
571			},
572			getTranslate: function(e, t) {
573				var i, s, r;
574				void 0 === t && (t = "x");
575				var n = a.getComputedStyle(e, null);
576				return a.WebKitCSSMatrix ? ((s = n.transform || n.webkitTransform).split(
577						",").length > 6 && (s = s.split(", ").map((function(e) {
578						return e.replace(",", ".")
579					})).join(", ")), r = new a.WebKitCSSMatrix("none" === s ? "" : s)) : i =
580					(r = n.MozTransform || n.OTransform || n.MsTransform || n.msTransform ||
581						n.transform || n.getPropertyValue("transform").replace("translate(",
582							"matrix(1, 0, 0, 1,")).toString().split(","), "x" === t && (s = a.WebKitCSSMatrix ?
583						r.m41 : 16 === i.length ? parseFloat(i[12]) : parseFloat(i[4])), "y" ===
584					t && (s = a.WebKitCSSMatrix ? r.m42 : 16 === i.length ? parseFloat(i[13]) :
585						parseFloat(i[5])), s || 0
586			},
587			parseUrlQuery: function(e) {
588				var t, i, s, r, n = {},
589					o = e || a.location.href;
590				if ("string" == typeof o && o.length)
591					for (r = (i = (o = o.indexOf("?") > -1 ? o.replace(/\S*\?/, "") : "").split(
592							"&").filter((function(e) {
593							return "" !== e
594						}))).length, t = 0; t < r; t += 1) s = i[t].replace(/#\S+/g, "").split(
595							"="), n[decodeURIComponent(s[0])] = void 0 === s[1] ? void 0 :
596						decodeURIComponent(s[1]) || "";
597				return n
598			},
599			isObject: function(e) {
600				return "object" == typeof e && null !== e && e.constructor && e.constructor ===
vendor: 1,343 bytes, lines 601-642
601					Object
602			},
603			extend: function() {
604				for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
605				for (var i = Object(e[0]), s = 1; s < e.length; s += 1) {
606					var a = e[s];
607					if (null != a)
608						for (var r = Object.keys(Object(a)), n = 0, o = r.length; n < o; n +=
609							1) {
610							var l = r[n],
611								h = Object.getOwnPropertyDescriptor(a, l);
612							void 0 !== h && h.enumerable && (d.isObject(i[l]) && d.isObject(a[l]) ?
613								d.extend(i[l], a[l]) : !d.isObject(i[l]) && d.isObject(a[l]) ? (i[l] = {},
614									d.extend(i[l], a[l])) : i[l] = a[l])
615						}
616				}
617				return i
618			}
619		},
620		h = {
621			touch: !!("ontouchstart" in a || a.DocumentTouch && i instanceof a.DocumentTouch),
622			pointerEvents: !!a.PointerEvent && "maxTouchPoints" in a.navigator && a.navigator
623				.maxTouchPoints >= 0,
624			observer: "MutationObserver" in a || "WebkitMutationObserver" in a,
625			passiveListener: function() {
626				var e = !1;
627				try {
628					var t = Object.defineProperty({}, "passive", {
629						get: function() {
630							e = !0
631						}
632					});
633					a.addEventListener("testPassiveListener", null, t)
634				} catch (e) {}
635				return e
636			}(),
637			gestures: "ongesturestart" in a
638		},
639		p = function(e) {
640			void 0 === e && (e = {});
641			var t = this;
642			t.params = e, t.eventsListeners = {}, t.params && t.params.on && Object.keys(
643				t.params.on).forEach((function(e) {
644				t.on(e, t.params.on[e])
645			}))
646		},
647		c = {
648			components: {
649				configurable: !0
650			}
651		};
652	p.prototype.on = function(e, t, i) {
653		var s = this;
654		if ("function" != typeof t) return s;
655		var a = i ? "unshift" : "push";
656		return e.split(" ").forEach((function(e) {
657			s.eventsListeners[e] || (s.eventsListeners[e] = []), s.eventsListeners[
658				e][a](t)
659		})), s
660	}, p.prototype.once = function(e, t, i) {
661		var s = this;
662		if ("function" != typeof t) return s;
663
664		function a() {
665			for (var i = [], r = arguments.length; r--;) i[r] = arguments[r];
666			s.off(e, a), a.f7proxy && delete a.f7proxy, t.apply(s, i)
667		}
668		return a.f7proxy = t, s.on(e, a, i)
669	}, p.prototype.off = function(e, t) {
670		var i = this;
671		return i.eventsListeners ? (e.split(" ").forEach((function(e) {
672			void 0 === t ? i.eventsListeners[e] = [] : i.eventsListeners[e] && i.eventsListeners[
673				e].length && i.eventsListeners[e].forEach((function(s, a) {
674				(s === t || s.f7proxy && s.f7proxy === t) && i.eventsListeners[e]
675					.splice(a, 1)
676			}))
677		})), i) : i
678	}, p.prototype.emit = function() {
679		for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
680		var i, s, a, r = this;
681		if (!r.eventsListeners) return r;
682		"string" == typeof e[0] || Array.isArray(e[0]) ? (i = e[0], s = e.slice(1,
683			e.length), a = r) : (i = e[0].events, s = e[0].data, a = e[0].context ||
684			r);
685		var n = Array.isArray(i) ? i : i.split(" ");
686		return n.forEach((function(e) {
687			if (r.eventsListeners && r.eventsListeners[e]) {
688				var t = [];
689				r.eventsListeners[e].forEach((function(e) {
690					t.push(e)
691				})), t.forEach((function(e) {
692					e.apply(a, s)
693				}))
694			}
695		})), r
696	}, p.prototype.useModulesParams = function(e) {
697		var t = this;
698		t.modules && Object.keys(t.modules).forEach((function(i) {
699			var s = t.modules[i];
700			s.params && d.extend(e, s.params)
701		}))
702	}, p.prototype.useModules = function(e) {
703		void 0 === e && (e = {});
704		var t = this;
705		t.modules && Object.keys(t.modules).forEach((function(i) {
706			var s = t.modules[i],
707				a = e[i] || {};
708			s.instance && Object.keys(s.instance).forEach((function(e) {
709				var i = s.instance[e];
710				t[e] = "function" == typeof i ? i.bind(t) : i
711			})), s.on && t.on && Object.keys(s.on).forEach((function(e) {
712				t.on(e, s.on[e])
713			})), s.create && s.create.bind(t)(a)
714		}))
715	}, c.components.set = function(e) {
716		this.use && this.use(e)
717	}, p.installModule = function(e) {
718		for (var t = [], i = arguments.length - 1; i-- > 0;) t[i] = arguments[i +
719			1];
720		var s = this;
721		s.prototype.modules || (s.prototype.modules = {});
722		var a = e.name || Object.keys(s.prototype.modules).length + "_" + d.now();
723		return s.prototype.modules[a] = e, e.proto && Object.keys(e.proto).forEach(
724			(function(t) {
725				s.prototype[t] = e.proto[t]
726			})), e.static && Object.keys(e.static).forEach((function(t) {
727			s[t] = e.static[t]
728		})), e.install && e.install.apply(s, t), s
729	}, p.use = function(e) {
730		for (var t = [], i = arguments.length - 1; i-- > 0;) t[i] = arguments[i +
731			1];
732		var s = this;
733		return Array.isArray(e) ? (e.forEach((function(e) {
734			return s.installModule(e)
735		})), s) : s.installModule.apply(s, [e].concat(t))
736	}, Object.defineProperties(p, c);
737	var u = {
738		updateSize: function() {
739			var e, t, i = this.$el;
740			e = void 0 !== this.params.width ? this.params.width : i[0].clientWidth,
741				t = void 0 !== this.params.height ? this.params.height : i[0].clientHeight,
742				0 === e && this.isHorizontal() || 0 === t && this.isVertical() || (e =
743					e - parseInt(i.css("padding-left"), 10) - parseInt(i.css(
744						"padding-right"), 10), t = t - parseInt(i.css("padding-top"), 10) -
745					parseInt(i.css("padding-bottom"), 10), d.extend(this, {
746						width: e,
747						height: t,
748						size: this.isHorizontal() ? e : t
749					}))
750		},
751		updateSlides: function() {
752			var e = this.params,
753				t = this.$wrapperEl,
754				i = this.size,
755				s = this.rtlTranslate,
756				r = this.wrongRTL,
757				n = this.virtual && e.virtual.enabled,
758				o = n ? this.virtual.slides.length : this.slides.length,
759				l = t.children("." + this.params.slideClass),
760				h = n ? this.virtual.slides.length : l.length,
761				p = [],
762				c = [],
763				u = [];
764
765			function v(t) {
766				return !e.cssMode || t !== l.length - 1
767			}
768			var f = e.slidesOffsetBefore;
769			"function" == typeof f && (f = e.slidesOffsetBefore.call(this));
770			var m = e.slidesOffsetAfter;
771			"function" == typeof m && (m = e.slidesOffsetAfter.call(this));
772			var g = this.snapGrid.length,
773				b = this.snapGrid.length,
774				w = e.spaceBetween,
775				y = -f,
776				x = 0,
777				E = 0;
778			if (void 0 !== i) {
779				var T, S;
780				"string" == typeof w && w.indexOf("%") >= 0 && (w = parseFloat(w.replace(
781					"%", "")) / 100 * i), this.virtualSize = -w, s ? l.css({
782					marginLeft: "",
783					marginTop: ""
784				}) : l.css({
785					marginRight: "",
786					marginBottom: ""
787				}), e.slidesPerColumn > 1 && (T = Math.floor(h / e.slidesPerColumn) ===
788					h / this.params.slidesPerColumn ? h : Math.ceil(h / e.slidesPerColumn) *
789					e.slidesPerColumn, "auto" !== e.slidesPerView && "row" === e.slidesPerColumnFill &&
790					(T = Math.max(T, e.slidesPerView * e.slidesPerColumn)));
791				for (var C, M = e.slidesPerColumn, P = T / M, z = Math.floor(h / e.slidesPerColumn),
792						k = 0; k < h; k += 1) {
793					S = 0;
794					var $ = l.eq(k);
795					if (e.slidesPerColumn > 1) {
796						var L = void 0,
797							I = void 0,
798							D = void 0;
799						if ("row" === e.slidesPerColumnFill && e.slidesPerGroup > 1) {
800							var O = Math.floor(k / (e.slidesPerGroup * e.slidesPerColumn)),
801								A = k - e.slidesPerColumn * e.slidesPerGroup * O,
802								G = 0 === O ? e.slidesPerGroup : Math.min(Math.ceil((h - O * M * e.slidesPerGroup) /
803									M), e.slidesPerGroup);
804							L = (I = A - (D = Math.floor(A / G)) * G + O * e.slidesPerGroup) + D *
805								T / M, $.css({
806									"-webkit-box-ordinal-group": L,
807									"-moz-box-ordinal-group": L,
808									"-ms-flex-order": L,
809									"-webkit-order": L,
810									order: L
811								})
812						} else "column" === e.slidesPerColumnFill ? (D = k - (I = Math.floor(
813								k / M)) * M, (I > z || I === z && D === M - 1) && (D += 1) >= M &&
814							(D = 0, I += 1)) : I = k - (D = Math.floor(k / P)) * P;
815						$.css("margin-" + (this.isHorizontal() ? "top" : "left"), 0 !== D &&
816							e.spaceBetween && e.spaceBetween + "px")
817					}
818					if ("none" !== $.css("display")) {
819						if ("auto" === e.slidesPerView) {
820							var H = a.getComputedStyle($[0], null),
821								B = $[0].style.transform,
822								N = $[0].style.webkitTransform;
823							if (B && ($[0].style.transform = "none"), N && ($[0].style.webkitTransform =
824									"none"), e.roundLengths) S = this.isHorizontal() ? $.outerWidth(!0) :
825								$.outerHeight(!0);
826							else if (this.isHorizontal()) {
827								var X = parseFloat(H.getPropertyValue("width")),
828									V = parseFloat(H.getPropertyValue("padding-left")),
829									Y = parseFloat(H.getPropertyValue("padding-right")),
830									F = parseFloat(H.getPropertyValue("margin-left")),
831									W = parseFloat(H.getPropertyValue("margin-right")),
832									R = H.getPropertyValue("box-sizing");
833								S = R && "border-box" === R ? X + F + W : X + V + Y + F + W
834							} else {
835								var q = parseFloat(H.getPropertyValue("height")),
836									j = parseFloat(H.getPropertyValue("padding-top")),
837									K = parseFloat(H.getPropertyValue("padding-bottom")),
838									U = parseFloat(H.getPropertyValue("margin-top")),
839									_ = parseFloat(H.getPropertyValue("margin-bottom")),
840									Z = H.getPropertyValue("box-sizing");
841								S = Z && "border-box" === Z ? q + U + _ : q + j + K + U + _
842							}
843							B && ($[0].style.transform = B), N && ($[0].style.webkitTransform =
844								N), e.roundLengths && (S = Math.floor(S))
845						} else S = (i - (e.slidesPerView - 1) * w) / e.slidesPerView, e.roundLengths &&
846							(S = Math.floor(S)), l[k] && (this.isHorizontal() ? l[k].style.width =
847								S + "px" : l[k].style.height = S + "px");
848						l[k] && (l[k].swiperSlideSize = S), u.push(S), e.centeredSlides ? (y =
849								y + S / 2 + x / 2 + w, 0 === x && 0 !== k && (y = y - i / 2 - w), 0 ===
850								k && (y = y - i / 2 - w), Math.abs(y) < .001 && (y = 0), e.roundLengths &&
851								(y = Math.floor(y)), E % e.slidesPerGroup == 0 && p.push(y), c.push(
852									y)) : (e.roundLengths && (y = Math.floor(y)), (E - Math.min(this.params
853								.slidesPerGroupSkip, E)) % this.params.slidesPerGroup == 0 && p.push(
854								y), c.push(y), y = y + S + w), this.virtualSize += S + w, x = S, E +=
855							1
856					}
857				}
858				if (this.virtualSize = Math.max(this.virtualSize, i) + m, s && r && (
859						"slide" === e.effect || "coverflow" === e.effect) && t.css({
860						width: this.virtualSize + e.spaceBetween + "px"
861					}), e.setWrapperSize && (this.isHorizontal() ? t.css({
862						width: this.virtualSize + e.spaceBetween + "px"
863					}) : t.css({
864						height: this.virtualSize + e.spaceBetween + "px"
865					})), e.slidesPerColumn > 1 && (this.virtualSize = (S + e.spaceBetween) *
866						T, this.virtualSize = Math.ceil(this.virtualSize / e.slidesPerColumn) -
867						e.spaceBetween, this.isHorizontal() ? t.css({
868							width: this.virtualSize + e.spaceBetween + "px"
869						}) : t.css({
870							height: this.virtualSize + e.spaceBetween + "px"
871						}), e.centeredSlides)) {
872					C = [];
873					for (var Q = 0; Q < p.length; Q += 1) {
874						var J = p[Q];
875						e.roundLengths && (J = Math.floor(J)), p[Q] < this.virtualSize + p[0] &&
876							C.push(J)
877					}
878					p = C
879				}
880				if (!e.centeredSlides) {
881					C = [];
882					for (var ee = 0; ee < p.length; ee += 1) {
883						var te = p[ee];
884						e.roundLengths && (te = Math.floor(te)), p[ee] <= this.virtualSize -
885							i && C.push(te)
886					}
887					p = C, Math.floor(this.virtualSize - i) - Math.floor(p[p.length - 1]) >
888						1 && p.push(this.virtualSize - i)
889				}
890				if (0 === p.length && (p = [0]), 0 !== e.spaceBetween && (this.isHorizontal() ?
891						s ? l.filter(v).css({
892							marginLeft: w + "px"
893						}) : l.filter(v).css({
894							marginRight: w + "px"
895						}) : l.filter(v).css({
896							marginBottom: w + "px"
897						})), e.centeredSlides && e.centeredSlidesBounds) {
898					var ie = 0;
899					u.forEach((function(t) {
900						ie += t + (e.spaceBetween ? e.spaceBetween : 0)
901					}));
902					var se = (ie -= e.spaceBetween) - i;
903					p = p.map((function(e) {
904						return e < 0 ? -f : e > se ? se + m : e
905					}))
906				}
907				if (e.centerInsufficientSlides) {
908					var ae = 0;
909					if (u.forEach((function(t) {
910							ae += t + (e.spaceBetween ? e.spaceBetween : 0)
911						}
911)), (ae -= e.spaceBetween) < i) {
912						var re = (i - ae) / 2;
913						p.forEach((function(e, t) {
914							p[t] = e - re
915						})), c.forEach((function(e, t) {
916							c[t] = e + re
917						}))
918					}
919				}
920				d.extend(this, {
921						slides: l,
922						snapGrid: p,
923						slidesGrid: c,
924						slidesSizesGrid: u
925					}), h !== o && this.emit("slidesLengthChange"), p.length !== g && (
926						this.params.watchOverflow && this.checkOverflow(), this.emit(
927							"snapGridLengthChange")), c.length !== b && this.emit(
928						"slidesGridLengthChange"), (e.watchSlidesProgress || e.watchSlidesVisibility) &&
929					this.updateSlidesOffset()
930			}
931		},
932		updateAutoHeight: function(e) {
933			var t, i = [],
934				s = 0;
935			if ("number" == typeof e ? this.setTransition(e) : !0 === e && this.setTransition(
936					this.params.speed), "auto" !== this.params.slidesPerView && this.params
937				.slidesPerView > 1)
938				if (this.params.centeredSlides) this.visibleSlides.each((function(e, t) {
939					i.push(t)
940				}));
941				else
942					for (t = 0; t < Math.ceil(this.params.slidesPerView); t += 1) {
943						var a = this.activeIndex + t;
944						if (a > this.slides.length) break;
945						i.push(this.slides.eq(a)[0])
946					} else i.push(this.slides.eq(this.activeIndex)[0]);
947			for (t = 0; t < i.length; t += 1)
948				if (void 0 !== i[t]) {
949					var r = i[t].offsetHeight;
950					s = r > s ? r : s
951				}
952			s && this.$wrapperEl.css("height", s + "px")
953		},
954		updateSlidesOffset: function() {
955			for (var e = this.slides, t = 0; t < e.length; t += 1) e[t].swiperSlideOffset =
956				this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop
957		},
958		updateSlidesProgress: function(e) {
959			void 0 === e && (e = this && this.translate || 0);
960			var t = this.params,
961				i = this.slides,
962				s = this.rtlTranslate;
963			if (0 !== i.length) {
964				void 0 === i[0].swiperSlideOffset && this.updateSlidesOffset();
965				var a = -e;
966				s && (a = e), i.removeClass(t.slideVisibleClass), this.visibleSlidesIndexes = [],
967					this.visibleSlides = [];
968				for (var r = 0; r < i.length; r += 1) {
969					var o = i[r],
970						l = (a + (t.centeredSlides ? this.minTranslate() : 0) - o.swiperSlideOffset) /
971						(o.swiperSlideSize + t.spaceBetween);
972					if (t.watchSlidesVisibility || t.centeredSlides && t.autoHeight) {
973						var d = -(a - o.swiperSlideOffset),
974							h = d + this.slidesSizesGrid[r];
975						(d >= 0 && d < this.size - 1 || h > 1 && h <= this.size || d <= 0 &&
976							h >= this.size) && (this.visibleSlides.push(o), this.visibleSlidesIndexes
977							.push(r), i.eq(r).addClass(t.slideVisibleClass))
978					}
979					o.progress = s ? -l : l
980				}
981				this.visibleSlides = n(this.visibleSlides)
982			}
983		},
984		updateProgress: function(e) {
985			if (void 0 === e) {
986				var t = this.rtlTranslate ? -1 : 1;
987				e = this && this.translate && this.translate * t || 0
988			}
989			var i = this.params,
990				s = this.maxTranslate() - this.minTranslate(),
991				a = this.progress,
992				r = this.isBeginning,
993				n = this.isEnd,
994				o = r,
995				l = n;
996			0 === s ? (a = 0, r = !0, n = !0) : (r = (a = (e - this.minTranslate()) /
997				s) <= 0, n = a >= 1), d.extend(this, {
998				progress: a,
999				isBeginning: r,
1000				isEnd: n
1001			}), (i.watchSlidesProgress || i.watchSlidesVisibility || i.centeredSlides &&
1002				i.autoHeight) && this.updateSlidesProgress(e), r && !o && this.emit(
1003				"reachBeginning toEdge"), n && !l && this.emit("reachEnd toEdge"), (o &&
1004				!r || l && !n) && this.emit("fromEdge"), this.emit("progress", a)
1005		},
1006		updateSlidesClasses: function() {
1007			var e, t = this.slides,
1008				i = this.params,
1009				s = this.$wrapperEl,
1010				a = this.activeIndex,
1011				r = this.realIndex,
1012				n = this.virtual && i.virtual.enabled;
1013			t.removeClass(i.slideActiveClass + " " + i.slideNextClass + " " + i.slidePrevClass +
1014				" " + i.slideDuplicateActiveClass + " " + i.slideDuplicateNextClass +
1015				" " + i.slideDuplicatePrevClass), (e = n ? this.$wrapperEl.find("." +
1016				i.slideClass + '[data-swiper-slide-index="' + a + '"]') : t.eq(a)).addClass(
1017				i.slideActiveClass), i.loop && (e.hasClass(i.slideDuplicateClass) ? s.children(
1018					"." + i.slideClass + ":not(." + i.slideDuplicateClass +
1019					')[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass) :
1020				s.children("." + i.slideClass + "." + i.slideDuplicateClass +
1021					'[data-swiper-slide-index="' + r + '"]').addClass(i.slideDuplicateActiveClass)
1022			);
1023			var o = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass);
1024			i.loop && 0 === o.length && (o = t.eq(0)).addClass(i.slideNextClass);
1025			var l = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass);
1026			i.loop && 0 === l.length && (l = t.eq(-1)).addClass(i.slidePrevClass), i
1027				.loop && (o.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass +
1028						":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + o.attr(
1029							"data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass) :
1030					s.children("." + i.slideClass + "." + i.slideDuplicateClass +
1031						'[data-swiper-slide-index="' + o.attr("data-swiper-slide-index") +
1032						'"]').addClass(i.slideDuplicateNextClass), l.hasClass(i.slideDuplicateClass) ?
1033					s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass +
1034						')[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") +
1035						'"]').addClass(i.slideDuplicatePrevClass) : s.children("." + i.slideClass +
1036						"." + i.slideDuplicateClass + '[data-swiper-slide-index="' + l.attr(
1037							"data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass)
1038				)
1039		},
1040		updateActiveIndex: function(e) {
1041			var t, i = this.rtlTranslate ? this.translate : -this.translate,
1042				s = this.slidesGrid,
1043				a = this.snapGrid,
1044				r = this.params,
1045				n = this.activeIndex,
1046				o = this.realIndex,
1047				l = this.snapIndex,
1048				h = e;
1049			if (void 0 === h) {
1050				for (var p = 0; p < s.length; p += 1) void 0 !== s[p + 1] ? i >= s[p] &&
1051					i < s[p + 1] - (s[p + 1] - s[p]) / 2 ? h = p : i >= s[p] && i < s[p +
1052						1] && (h = p + 1) : i >= s[p] && (h = p);
1053				r.normalizeSlideIndex && (h < 0 || void 0 === h) && (h = 0)
1054			}
1055			if (a.indexOf(i) >= 0) t = a.indexOf(i);
1056			else {
1057				var c = Math.min(r.slidesPerGroupSkip, h);
1058				t = c + Math.floor((h - c) / r.slidesPerGroup)
1059			}
1060			if (t >= a.length && (t = a.length - 1), h !== n) {
1061				var u = parseInt(this.slides.eq(h).attr("data-swiper-slide-index") || h,
1062					10);
1063				d.extend(this, {
1064						snapIndex: t,
1065						realIndex: u,
1066						previousIndex: n,
1067						activeIndex: h
1068					}), this.emit("activeIndexChange"), this.emit("snapIndexChange"), o !==
1069					u && this.emit("realIndexChange"), (this.initialized || this.params.runCallbacksOnInit) &&
1070					this.emit("slideChange")
1071			} else t !== l && (this.snapIndex = t, this.emit("snapIndexChange"))
1072		},
1073		updateClickedSlide: function(e) {
1074			var t = this.params,
1075				i = n(e.target).closest("." + t.slideClass)[0],
1076				s = !1;
1077			if (i)
1078				for (var a = 0; a < this.slides.length; a += 1) this.slides[a] === i &&
1079					(s = !0);
1080			if (!i || !s) return this.clickedSlide = void 0, void(this.clickedIndex =
1081				void 0);
1082			this.clickedSlide = i, this.virtual && this.params.virtual.enabled ?
1083				this.clickedIndex = parseInt(n(i).attr("data-swiper-slide-index"), 10) :
1084				this.clickedIndex = n(i).index(), t.slideToClickedSlide && void 0 !==
1085				this.clickedIndex && this.clickedIndex !== this.activeIndex && this.slideToClickedSlide()
1086		}
1087	};
1088	var v = {
1089		getTranslate: function(e) {
1090			void 0 === e && (e = this.isHorizontal() ? "x" : "y");
1091			var t = this.params,
1092				i = this.rtlTranslate,
1093				s = this.translate,
1094				a = this.$wrapperEl;
1095			if (t.virtualTranslate) return i ? -s : s;
1096			if (t.cssMode) return s;
1097			var r = d.getTranslate(a[0], e);
1098			return i && (r = -r), r || 0
1099		},
1100		setTranslate: function(e, t) {
1101			var i = this.rtlTranslate,
1102				s = this.params,
1103				a = this.$wrapperEl,
1104				r = this.wrapperEl,
1105				n = this.progress,
1106				o = 0,
1107				l = 0;
1108			this.isHorizontal() ? o = i ? -e : e : l = e, s.roundLengths && (o =
1109					Math.floor(o), l = Math.floor(l)), s.cssMode ? r[this.isHorizontal() ?
1110					"scrollLeft" : "scrollTop"] = this.isHorizontal() ? -o : -l : s.virtualTranslate ||
1111				a.transform("translate3d(" + o + "px, " + l + "px, 0px)"), this.previousTranslate =
1112				this.translate, this.translate = this.isHorizontal() ? o : l;
1113			var d = this.maxTranslate() - this.minTranslate();
1114			(0 === d ? 0 : (e - this.minTranslate()) / d) !== n && this.updateProgress(
1115				e), this.emit("setTranslate", this.translate, t)
1116		},
1117		minTranslate: function() {
1118			return -this.snapGrid[0]
1119		},
1120		maxTranslate: function() {
1121			return -this.snapGrid[this.snapGrid.length - 1]
1122		},
1123		translateTo: function(e, t, i, s, a) {
1124			var r;
1125			void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 ===
1126				i && (i = !0), void 0 === s && (s = !0);
1127			var n = this,
1128				o = n.params,
1129				l = n.wrapperEl;
1130			if (n.animating && o.preventInteractionOnTransition) return !1;
1131			var d, h = n.minTranslate(),
1132				p = n.maxTranslate();
1133			if (d = s && e > h ? h : s && e < p ? p : e, n.updateProgress(d), o.cssMode) {
1134				var c = n.isHorizontal();
1135				return 0 === t ? l[c ? "scrollLeft" : "scrollTop"] = -d : l.scrollTo ?
1136					l.scrollTo(((r = {})[c ? "left" : "top"] = -d, r.behavior = "smooth",
1137						r)) : l[c ? "scrollLeft" : "scrollTop"] = -d, !0
1138			}
1139			return 0 === t ? (n.setTransition(0), n.setTranslate(d), i && (n.emit(
1140				"beforeTransitionStart", t, a), n.emit("transitionEnd"))) : (n.setTransition(
1141				t), n.setTranslate(d), i && (n.emit("beforeTransitionStart", t, a), n
1142				.emit("transitionStart")), n.animating || (n.animating = !0, n.onTranslateToWrapperTransitionEnd ||
1143				(n.onTranslateToWrapperTransitionEnd = function(e) {
1144					n && !n.destroyed && e.target === this && (n.$wrapperEl[0].removeEventListener(
1145							"transitionend", n.onTranslateToWrapperTransitionEnd), n.$wrapperEl[
1146							0].removeEventListener("webkitTransitionEnd", n.onTranslateToWrapperTransitionEnd),
1147						n.onTranslateToWrapperTransitionEnd = null, delete n.onTranslateToWrapperTransitionEnd,
1148						i && n.emit("transitionEnd"))
1149				}), n.$wrapperEl[0].addEventListener("transitionend", n.onTranslateToWrapperTransitionEnd),
1150				n.$wrapperEl[0].addEventListener("webkitTransitionEnd", n.onTranslateToWrapperTransitionEnd)
1151			)), !0
1152		}
1153	};
1154	var f = {
1155		setTransition: function(e, t) {
1156			this.params.cssMode || this.$wrapperEl.transition(e), this.emit
1156(
1157				"setTransition", e, t)
1158		},
1159		transitionStart: function(e, t) {
1160			void 0 === e && (e = !0);
1161			var i = this.activeIndex,
1162				s = this.params,
1163				a = this.previousIndex;
1164			if (!s.cssMode) {
1165				s.autoHeight && this.updateAutoHeight();
1166				var r = t;
1167				if (r || (r = i > a ? "next" : i < a ? "prev" : "reset"), this.emit(
1168						"transitionStart"), e && i !== a) {
1169					if ("reset" === r) return void this.emit("slideResetTransitionStart");
1170					this.emit("slideChangeTransitionStart"), "next" === r ? this.emit(
1171						"slideNextTransitionStart") : this.emit("slidePrevTransitionStart")
1172				}
1173			}
1174		},
1175		transitionEnd: function(e, t) {
1176			void 0 === e && (e = !0);
1177			var i = this.activeIndex,
1178				s = this.previousIndex,
1179				a = this.params;
1180			if (this.animating = !1, !a.cssMode) {
1181				this.setTransition(0);
1182				var r = t;
1183				if (r || (r = i > s ? "next" : i < s ? "prev" : "reset"), this.emit(
1184						"transitionEnd"), e && i !== s) {
1185					if ("reset" === r) return void this.emit("slideResetTransitionEnd");
1186					this.emit("slideChangeTransitionEnd"), "next" === r ? this.emit(
1187						"slideNextTransitionEnd") : this.emit("slidePrevTransitionEnd")
1188				}
1189			}
1190		}
1191	};
1192	var m = {
1193		slideTo: function(e, t, i, s) {
1194			var a;
1195			void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 ===
1196				i && (i = !0);
1197			var r = this,
1198				n = e;
1199			n < 0 && (n = 0);
1200			var o = r.params,
1201				l = r.snapGrid,
1202				d = r.slidesGrid,
1203				h = r.previousIndex,
1204				p = r.activeIndex,
1205				c = r.rtlTranslate,
1206				u = r.wrapperEl;
1207			if (r.animating && o.preventInteractionOnTransition) return !1;
1208			var v = Math.min(r.params.slidesPerGroupSkip, n),
1209				f = v + Math.floor((n - v) / r.params.slidesPerGroup);
1210			f >= l.length && (f = l.length - 1), (p || o.initialSlide || 0) === (h ||
1211				0) && i && r.emit("beforeSlideChangeStart");
1212			var m, g = -l[f];
1213			if (r.updateProgress(g), o.normalizeSlideIndex)
1214				for (var b = 0; b < d.length; b += 1) - Math.floor(100 * g) >= Math.floor(
1215					100 * d[b]) && (n = b);
1216			if (r.initialized && n !== p) {
1217				if (!r.allowSlideNext && g < r.translate && g < r.minTranslate()) return
1218					!1;
1219				if (!r.allowSlidePrev && g > r.translate && g > r.maxTranslate() && (p ||
1220						0) !== n) return !1
1221			}
1222			if (m = n > p ? "next" : n < p ? "prev" : "reset", c && -g === r.translate ||
1223				!c && g === r.translate) return r.updateActiveIndex(n), o.autoHeight &&
1224				r.updateAutoHeight(), r.updateSlidesClasses(), "slide" !== o.effect &&
1225				r.setTranslate(g), "reset" !== m && (r.transitionStart(i, m), r.transitionEnd(
1226					i, m)), !1;
1227			if (o.cssMode) {
1228				var w = r.isHorizontal(),
1229					y = -g;
1230				return c && (y = u.scrollWidth - u.offsetWidth - y), 0 === t ? u[w ?
1231					"scrollLeft" : "scrollTop"] = y : u.scrollTo ? u.scrollTo(((a = {})[w ?
1232					"left" : "top"] = y, a.behavior = "smooth", a)) : u[w ? "scrollLeft" :
1233					"scrollTop"] = y, !0
1234			}
1235			return 0 === t ? (r.setTransition(0), r.setTranslate(g), r.updateActiveIndex(
1236					n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, s), r
1237				.transitionStart(i, m), r.transitionEnd(i, m)) : (r.setTransition(t),
1238				r.setTranslate(g), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit(
1239					"beforeTransitionStart", t, s), r.transitionStart(i, m), r.animating ||
1240				(r.animating = !0, r.onSlideToWrapperTransitionEnd || (r.onSlideToWrapperTransitionEnd =
1241						function(e) {
1242							r && !r.destroyed && e.target === this && (r.$wrapperEl[0].removeEventListener(
1243									"transitionend", r.onSlideToWrapperTransitionEnd), r.$wrapperEl[
1244									0].removeEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd),
1245								r.onSlideToWrapperTransitionEnd = null, delete r.onSlideToWrapperTransitionEnd,
1246								r.transitionEnd(i, m))
1247						}), r.$wrapperEl[0].addEventListener("transitionend", r.onSlideToWrapperTransitionEnd),
1248					r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd)
1249				)), !0
1250		},
1251		slideToLoop: function(e, t, i, s) {
1252			void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 ===
1253				i && (i = !0);
1254			var a = e;
1255			return this.params.loop && (a += this.loopedSlides), this.slideTo(a, t,
1256				i, s)
1257		},
1258		slideNext: function(e, t, i) {
1259			void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
1260			var s = this.params,
1261				a = this.animating,
1262				r = this.activeIndex < s.slidesPerGroupSkip ? 1 : s.slidesPerGroup;
1263			if (s.loop) {
1264				if (a) return !1;
1265				this.loopFix(), this._clientLeft = this.$wrapperEl[0].clientLeft
1266			}
1267			return this.slideTo(this.activeIndex + r, e, t, i)
1268		},
1269		slidePrev: function(e, t, i) {
1270			void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
1271			var s = this.params,
1272				a = this.animating,
1273				r = this.snapGrid,
1274				n = this.slidesGrid,
1275				o = this.rtlTranslate;
1276			if (s.loop) {
1277				if (a) return !1;
1278				this.loopFix(), this._clientLeft = this.$wrapperEl[0].clientLeft
1279			}
1280
1281			function l(e) {
1282				return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)
1283			}
1284			var d, h = l(o ? this.translate : -this.translate),
1285				p = r.map((function(e) {
1286					return l(e)
1287				})),
1288				c = (n.map((function(e) {
1289					return l(e)
1290				})), r[p.indexOf(h)], r[p.indexOf(h) - 1]);
1291			return void 0 === c && s.cssMode && r.forEach((function(e) {
1292				!c && h >= e && (c = e)
1293			})), void 0 !== c && (d = n.indexOf(c)) < 0 && (d = this.activeIndex -
1294				1), this.slideTo(d, e, t, i)
1295		},
1296		slideReset: function(e, t, i) {
1297			return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0),
1298				this.slideTo(this.activeIndex, e, t, i)
1299		},
1300		slideToClosest: function(e, t, i, s) {
1301			void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), void 0 ===
1302				s && (s = .5);
1303			var a = this.activeIndex,
1304				r = Math.min(this.params.slidesPerGroupSkip, a),
1305				n = r + Math.floor((a - r) / this.params.slidesPerGroup),
1306				o = this.rtlTranslate ? this.translate : -this.translate;
1307			if (o >= this.snapGrid[n]) {
1308				var l = this.snapGrid[n];
1309				o - l > (this.snapGrid[n + 1] - l) * s && (a += this.params.slidesPerGroup)
1310			} else {
1311				var d = this.snapGrid[n - 1];
1312				o - d <= (this.snapGrid[n] - d) * s && (a -= this.params.slidesPerGroup)
1313			}
1314			return a = Math.max(a, 0), a = Math.min(a, this.slidesGrid.length - 1),
1315				this.slideTo(a, e, t, i)
1316		},
1317		slideToClickedSlide: function() {
1318			var e, t = this,
1319				i = t.params,
1320				s = t.$wrapperEl,
1321				a = "auto" === i.slidesPerView ? t.slidesPerViewDynamic() : i.slidesPerView,
1322				r = t.clickedIndex;
1323			if (i.loop) {
1324				if (t.animating) return;
1325				e = parseInt(n(t.clickedSlide).attr("data-swiper-slide-index"), 10), i.centeredSlides ?
1326					r < t.loopedSlides - a / 2 || r > t.slides.length - t.loopedSlides + a /
1327					2 ? (t.loopFix(), r = s.children("." + i.slideClass +
1328						'[data-swiper-slide-index="' + e + '"]:not(.' + i.slideDuplicateClass +
1329						")").eq(0).index(), d.nextTick((function() {
1330						t.slideTo(r)
1331					}
1331))) : t.slideTo(r) : r > t.slides.length - a ? (t.loopFix(), r = s.children(
1332						"." + i.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' +
1333						i.slideDuplicateClass + ")").eq(0).index(), d.nextTick((function() {
1334						t.slideTo(r)
1335					}))) : t.slideTo(r)
1336			} else t.slideTo(r)
1337		}
1338	};
1339	var g = {
1340		loopCreate: function() {
1341			var e = this,
1342				t = e.params,
1343				s = e.$wrapperEl;
1344			s.children("." + t.slideClass + "." + t.slideDuplicateClass).remove();
1345			var a = s.children("." + t.slideClass);
1346			if (t.loopFillGroupWithBlank) {
1347				var r = t.slidesPerGroup - a.length % t.slidesPerGroup;
1348				if (r !== t.slidesPerGroup) {
1349					for (var o = 0; o < r; o += 1) {
1350						var l = n(i.createElement("div")).addClass(t.slideClass + " " + t.slideBlankClass);
1351						s.append(l)
1352					}
1353					a = s.children("." + t.slideClass)
1354				}
1355			}
1356			"auto" !== t.slidesPerView || t.loopedSlides || (t.loopedSlides = a.length),
1357				e.loopedSlides = Math.ceil(parseFloat(t.loopedSlides || t.slidesPerView,
1358					10)), e.loopedSlides += t.loopAdditionalSlides, e.loopedSlides > a.length &&
1359				(e.loopedSlides = a.length);
1360			var d = [],
1361				h = [];
1362			a.each((function(t, i) {
1363				var s = n(i);
1364				t < e.loopedSlides && h.push(i), t < a.length && t >= a.length - e.loopedSlides &&
1365					d.push(i), s.attr("data-swiper-slide-index", t)
1366			}));
1367			for (var p = 0; p < h.length; p += 1) s.append(n(h[p].cloneNode(!0)).addClass(
1368				t.slideDuplicateClass));
1369			for (var c = d.length - 1; c >= 0; c -= 1) s.prepend(n(d[c].cloneNode(!0))
1370				.addClass(t.slideDuplicateClass))
1371		},
1372		loopFix: function() {
1373			this.emit("beforeLoopFix");
1374			var e, t = this.activeIndex,
1375				i = this.slides,
1376				s = this.loopedSlides,
1377				a = this.allowSlidePrev,
1378				r = this.allowSlideNext,
1379				n = this.snapGrid,
1380				o = this.rtlTranslate;
1381			this.allowSlidePrev = !0, this.allowSlideNext = !0;
1382			var l = -n[t] - this.getTranslate();
1383			if (t < s) e = i.length - 3 * s + t, e += s, this.slideTo(e, 0, !1, !0) &&
1384				0 !== l && this.setTranslate((o ? -this.translate : this.translate) - l);
1385			else if (t >= i.length - s) {
1386				e = -i.length + t + s, e += s, this.slideTo(e, 0, !1, !0) && 0 !== l &&
1387					this.setTranslate((o ? -this.translate : this.translate) - l)
1388			}
1389			this.allowSlidePrev = a, this.allowSlideNext = r, this.emit("loopFix")
1390		},
1391		loopDestroy: function() {
1392			var e = this.$wrapperEl,
1393				t = this.params,
1394				i = this.slides;
1395			e.children("." + t.slideClass + "." + t.slideDuplicateClass + ",." + t.slideClass +
1396				"." + t.slideBlankClass).remove(), i.removeAttr(
1397				"data-swiper-slide-index")
1398		}
1399	};
1400	var b = {
1401		setGrabCursor: function(e) {
1402			if (!(h.touch || !this.params.simulateTouch || this.params.watchOverflow &&
1403					this.isLocked || this.params.cssMode)) {
1404				var t = this.el;
1405				t.style.cursor = "move", t.style.cursor = e ? "-webkit-grabbing" :
1406					"-webkit-grab", t.style.cursor = e ? "-moz-grabbin" : "-moz-grab", t.style
1407					.cursor = e ? "grabbing" : "grab"
1408			}
1409		},
1410		unsetGrabCursor: function() {
1411			h.touch || this.params.watchOverflow && this.isLocked || this.params.cssMode ||
1412				(this.el.style.cursor = "")
1413		}
1414	};
1415	var w, y, x, E, T, S, C, M, P, z, k, $, L, I, D, O = {
1416			appendSlide: function(e) {
1417				var t = this.$wrapperEl,
1418					i = this.params;
1419				if (i.loop && this.loopDestroy(), "object" == typeof e && "length" in e)
1420					for (var s = 0; s < e.length; s += 1) e[s] && t.append(e[s]);
1421				else t.append(e);
1422				i.loop && this.loopCreate(), i.observer && h.observer || this.update()
1423			},
1424			prependSlide: function(e) {
1425				var t = this.params,
1426					i = this.$wrapperEl,
1427					s = this.activeIndex;
1428				t.loop && this.loopDestroy();
1429				var a = s + 1;
1430				if ("object" == typeof e && "length" in e) {
1431					for (var r = 0; r < e.length; r += 1) e[r] && i.prepend(e[r]);
1432					a = s + e.length
1433				} else i.prepend(e);
1434				t.loop && this.loopCreate(), t.observer && h.observer || this.update(),
1435					this.slideTo(a, 0, !1)
1436			},
1437			addSlide: function(e, t) {
1438				var i = this.$wrapperEl,
1439					s = this.params,
1440					a = this.activeIndex;
1441				s.loop && (a -= this.loopedSlides, this.loopDestroy(), this.slides = i.children(
1442					"." + s.slideClass));
1443				var r = this.slides.length;
1444				if (e <= 0) this.prependSlide(t);
1445				else if (e >= r) this.appendSlide(t);
1446				else {
1447					for (var n = a > e ? a + 1 : a, o = [], l = r - 1; l >= e; l -= 1) {
1448						var d = this.slides.eq(l);
1449						d.remove(), o.unshift(d)
1450					}
1451					if ("object" == typeof t && "length" in t) {
1452						for (var p = 0; p < t.length; p += 1) t[p] && i.append(t[p]);
1453						n = a > e ? a + t.length : a
1454					} else i.append(t);
1455					for (var c = 0; c < o.length; c += 1) i.append(o[c]);
1456					s.loop && this.loopCreate(), s.observer && h.observer || this.update(),
1457						s.loop ? this.slideTo(n + this.loopedSlides, 0, !1) : this.slideTo(n,
1458							0, !1)
1459				}
1460			},
1461			removeSlide: function(e) {
1462				var t = this.params,
1463					i = this.$wrapperEl,
1464					s = this.activeIndex;
1465				t.loop && (s -= this.loopedSlides, this.loopDestroy(), this.slides = i.children(
1466					"." + t.slideClass));
1467				var a, r = s;
1468				if ("object" == typeof e && "length" in e) {
1469					for (var n = 0; n < e.length; n += 1) a = e[n], this.slides[a] && this.slides
1470						.eq(a).remove(), a < r && (r -= 1);
1471					r = Math.max(r, 0)
1472				} else a = e, this.slides[a] && this.slides.eq(a).remove(), a < r && (r -=
1473					1), r = Math.max(r, 0);
1474				t.loop && this.loopCreate(), t.observer && h.observer || this.update(),
1475					t.loop ? this.slideTo(r + this.loopedSlides, 0, !1) : this.slideTo(r, 0, !
1476						1)
1477			},
1478			removeAllSlides: function() {
1479				for (var e = [], t = 0; t < this.slides.length; t += 1) e.push(t);
1480				this.removeSlide(e)
1481			}
1482		},
1483		A = (w = a.navigator.platform, y = a.navigator.userAgent, x = {
1484				ios: !1,
1485				android: !1,
1486				androidChrome: !1,
1487				desktop: !1,
1488				iphone: !1,
1489				ipod: !1,
1490				ipad: !1,
1491				edge: !1,
1492				ie: !1,
1493				firefox: !1,
1494				macos: !1,
1495				windows: !1,
1496				cordova: !(!a.cordova && !a.phonegap),
1497				phonegap: !(!a.cordova && !a.phonegap),
1498				electron: !1
1499			}, E = a.screen.width, T = a.screen.height, S = y.match(
1500				/(Android);?[\s\/]+([\d.]+)?/), C = y.match(/(iPad).*OS\s([\d_]+)/), M =
1501			y.match(/(iPod)(.*OS\s([\d_]+))?/), P = !C && y.match(
1502				/(iPhone\sOS|iOS)\s([\d_]+)/), z = y.indexOf("MSIE ") >= 0 || y.indexOf(
1503				"Trident/") >= 0, k = y.indexOf("Edge/") >= 0, $ = y.indexOf("Gecko/") >=
1504			0 && y.indexOf("Firefox/") >= 0, L = "Win32" === w, I = y.toLowerCase().indexOf(
1505				"electron") >= 0, D = "MacIntel" === w, !C && D && h.touch && (1024 === E &&
1506				1366 === T || 834 === E && 1194 === T || 834 === E && 1112 === T || 768 ===
1507				E && 1024 === T) && (C = y.match(/(Version)\/([\d.]+)/), D = !1), x.ie =
1508			z, x.edge = k, x.firefox = $, S && !L && (x.os = "android", x.osVersion =
1509				S[2], x.android = !0, x.androidChrome = y.toLowerCase().indexOf("chrome") >=
1510				0), (C || P || M) && (x.os = "ios", x.ios = !0), P && !M && (x.osVersion =
1511				P[2].replace(/_/g, "."), x.iphone = !0), C && (x.osVersion = C[2].replace(
1512				/_/g, "."), x.ipad = !0), M && (x.osVersion = M[3] ? M[3].replace(/_/g,
1513				".") : null, x.ipod = !0), x.ios && x.osVersion && y.indexOf("Version/") >=
1514			0 && "10" === x.osVersion.split(".")[0] && (x.osVersion = y.toLowerCase().split(
1515				"version/")[1].split(" ")[0]), x.webView = !(!(P || C || M) || !y.match(
1516				/.*AppleWebKit(?!.*Safari)/i) && !a.navigator.standalone) || a.matchMedia &&
1517			a.matchMedia("(display-mode: standalone)").matches, x.webview = x.webView,
1518			x.standalone = x.webView, x.desktop = !(x.ios || x.android) || I, x.desktop &&
1519			(x.electron = I, x.macos = D, x.windows = L, x.macos && (x.os = "macos"),
1520				x.windows && (x.os = "windows")), x.pixelRatio = a.devicePixelRatio || 1,
1521			x);
1522
1523	function G(e) {
1524		var t = this.touchEventsData,
1525			s = this.params,
1526			r = this.touches;
1527		if (!this.animating || !s.preventInteractionOnTransition) {
1528			var o = e;
1529			o.originalEvent && (o = o.originalEvent);
1530			var l = n(o.target);
1531			if (("wrapper" !== s.touchEventsTarget || l.closest(this.wrapperEl).length) &&
1532				(t.isTouchEvent = "touchstart" === o.type, (t.isTouchEvent || !("which" in
1533					o) || 3 !== o.which) && !(!t.isTouchEvent && "button" in o && o.button >
1534					0 || t.isTouched && t.isMoved)))
1535				if (s.noSwiping && l.closest(s.noSwipingSelector ? s.noSwipingSelector :
1536						"." + s.noSwipingClass)[0]) this.allowClick = !0;
1537				else if (!s.swipeHandler || l.closest(s.swipeHandler)[0]) {
1538				r.currentX = "touchstart" === o.type ? o.targetTouches[0].pageX : o.pageX,
1539					r.currentY = "touchstart" === o.type ? o.targetTouches[0].pageY : o.pageY;
1540				var h = r.currentX,
1541					p = r.currentY,
1542					c = s.edgeSwipeDetection || s.iOSEdgeSwipeDetection,
1543					u = s.edgeSwipeThreshold || s.iOSEdgeSwipeThreshold;
1544				if (!c || !(h <= u || h >= a.screen.width - u)) {
1545					if (d.extend(t, {
1546							isTouched: !0,
1547							isMoved: !1,
1548							allowTouchCallbacks: !0,
1549							isScrolling: void 0,
1550							startMoving: void 0
1551						}), r.startX = h, r.startY = p, t.touchStartTime = d.now(), this.allowClick = !
1552						0, this.updateSize(), this.swipeDirection = void 0, s.threshold > 0 &&
1553						(t.allowThresholdMove = !1), "touchstart" !== o.type) {
1554						var v = !0;
1555						l.is(t.formElements) && (v = !1), i.activeElement && n(i.activeElement)
1556							.is(t.formElements) && i.activeElement !== l[0] && i.activeElement.blur();
1557						var f = v && this.allowTouchMove && s.touchStartPreventDefault;
1558						(s.touchStartForcePreventDefault || f) && o.preventDefault()
1559					}
1560					this.emit("touchStart", o)
1561				}
1562			}
1563		}
1564	}
1565
1566	function H(e) {
1567		var t = this.touchEventsData,
1568			s = this.params,
1569			a = this.touches,
1570			r = this.rtlTranslate,
1571			o = e;
1572		if (o.originalEvent && (o = o.originalEvent), t.isTouched) {
1573			if (!t.isTouchEvent || "touchmove" === o.type) {
1574				var l = "touchmove" === o.type && o.targetTouches && (o.targetTouches[0] ||
1575						o.changedTouches[0]),
1576					h = "touchmove" === o.type ? l.pageX : o.pageX,
1577					p = "touchmove" === o.type ? l.pageY : o.pageY;
1578				if (o.preventedByNestedSwiper) return a.startX = h, void(a.startY = p);
1579				if (!this.allowTouchMove) return this.allowClick = !1, void(t.isTouched &&
1580					(d.extend(a, {
1581						startX: h,
1582						startY: p,
1583						currentX: h,
1584						currentY: p
1585					}), t.touchStartTime = d.now()));
1586				if (t.isTouchEvent && s.touchReleaseOnEdges && !s.loop)
1587					if (this.isVertical()) {
1588						if (p < a.startY && this.translate <= this.maxTranslate() || p > a.startY &&
1589							this.translate >= this.minTranslate()) return t.isTouched = !1, void(t
1590							.isMoved = !1)
1591					} else if (h < a.startX && this.translate <= this.maxTranslate() || h >
1592					a.startX && this.translate >= this.minTranslate()) return;
1593				if (t.isTouchEvent && i.activeElement && o.target === i.activeElement &&
1594					n(o.target).is(t.formElements)) return t.isMoved = !0, void(this.allowClick = !
1595					1);
1596				if (t.allowTouchCallbacks && this.emit("touchMove", o), !(o.targetTouches &&
1597						o.targetTouches.length > 1)) {
1598					a.currentX = h, a.currentY = p;
1599					var c = a.currentX - a.startX,
1600						u = a.currentY - a.startY;
1601					if (!(this.params.threshold && Math.sqrt(Math.pow(c, 2) + Math.pow(u, 2)) <
1602							this.params.threshold)) {
1603						var v;
1604						if (void 0 === t.isScrolling) this.isHorizontal() && a.currentY === a.startY ||
1605							this.isVertical() && a.currentX === a.startX ? t.isScrolling = !1 : c *
1606							c + u * u >= 25 && (v = 180 * Math.atan2(Math.abs(u), Math.abs(c)) /
1607								Math.PI, t.isScrolling = this.isHorizontal() ? v > s.touchAngle : 90 -
1608								v > s.touchAngle);
vendor: 8,901 bytes, lines 1609-1785
1609						if (t.isScrolling && this.emit("touchMoveOpposite", o), void 0 === t.startMoving &&
1610							(a.currentX === a.startX && a.currentY === a.startY || (t.startMoving = !
1611								0)), t.isScrolling) t.isTouched = !1;
1612						else if (t.startMoving) {
1613							this.allowClick = !1, !s.cssMode && o.cancelable && o.preventDefault(),
1614								s.touchMoveStopPropagation && !s.nested && o.stopPropagation(), t.isMoved ||
1615								(s.loop && this.loopFix(), t.startTranslate = this.getTranslate(),
1616									this.setTransition(0), this.animating && this.$wrapperEl.trigger(
1617										"webkitTransitionEnd transitionend"), t.allowMomentumBounce = !1, !
1618									s.grabCursor || !0 !== this.allowSlideNext && !0 !== this.allowSlidePrev ||
1619									this.setGrabCursor(!0), this.emit("sliderFirstMove", o)), this.emit(
1620									"sliderMove", o), t.isMoved = !0;
1621							var f = this.isHorizontal() ? c : u;
1622							a.diff = f, f *= s.touchRatio, r && (f = -f), this.swipeDirection = f >
1623								0 ? "prev" : "next", t.currentTranslate = f + t.startTranslate;
1624							var m = !0,
1625								g = s.resistanceRatio;
1626							if (s.touchReleaseOnEdges && (g = 0), f > 0 && t.currentTranslate >
1627								this.minTranslate() ? (m = !1, s.resistance && (t.currentTranslate =
1628									this.minTranslate() - 1 + Math.pow(-this.minTranslate() + t.startTranslate +
1629										f, g))) : f < 0 && t.currentTranslate < this.maxTranslate() && (m = !
1630									1, s.resistance && (t.currentTranslate = this.maxTranslate() + 1 -
1631										Math.pow(this.maxTranslate() - t.startTranslate - f, g))), m && (o.preventedByNestedSwiper = !
1632									0), !this.allowSlideNext && "next" === this.swipeDirection && t.currentTranslate <
1633								t.startTranslate && (t.currentTranslate = t.startTranslate), !this.allowSlidePrev &&
1634								"prev" === this.swipeDirection && t.currentTranslate > t.startTranslate &&
1635								(t.currentTranslate = t.startTranslate), s.threshold > 0) {
1636								if (!(Math.abs(f) > s.threshold || t.allowThresholdMove)) return void(
1637									t.currentTranslate = t.startTranslate);
1638								if (!t.allowThresholdMove) return t.allowThresholdMove = !0, a.startX =
1639									a.currentX, a.startY = a.currentY, t.currentTranslate = t.startTranslate,
1640									void(a.diff = this.isHorizontal() ? a.currentX - a.startX : a.currentY -
1641										a.startY)
1642							}
1643							s.followFinger && !s.cssMode && ((s.freeMode || s.watchSlidesProgress ||
1644									s.watchSlidesVisibility) && (this.updateActiveIndex(), this.updateSlidesClasses()),
1645								s.freeMode && (0 === t.velocities.length && t.velocities.push({
1646									position: a[this.isHorizontal() ? "startX" : "startY"],
1647									time: t.touchStartTime
1648								}), t.velocities.push({
1649									position: a[this.isHorizontal() ? "currentX" : "currentY"],
1650									time: d.now()
1651								})), this.updateProgress(t.currentTranslate), this.setTranslate(t.currentTranslate)
1652							)
1653						}
1654					}
1655				}
1656			}
1657		} else t.startMoving && t.isScrolling && this.emit("touchMoveOpposite", o)
1658	}
1659
1660	function B(e) {
1661		var t = this,
1662			i = t.touchEventsData,
1663			s = t.params,
1664			a = t.touches,
1665			r = t.rtlTranslate,
1666			n = t.$wrapperEl,
1667			o = t.slidesGrid,
1668			l = t.snapGrid,
1669			h = e;
1670		if (h.originalEvent && (h = h.originalEvent), i.allowTouchCallbacks && t.emit(
1671				"touchEnd", h), i.allowTouchCallbacks = !1, !i.isTouched) return i.isMoved &&
1672			s.grabCursor && t.setGrabCursor(!1), i.isMoved = !1, void(i.startMoving = !
1673				1);
1674		s.grabCursor && i.isMoved && i.isTouched && (!0 === t.allowSlideNext || !0 ===
1675			t.allowSlidePrev) && t.setGrabCursor(!1);
1676		var p, c = d.now(),
1677			u = c - i.touchStartTime;
1678		if (t.allowClick && (t.updateClickedSlide(h), t.emit("tap click", h), u <
1679				300 && c - i.lastClickTime < 300 && t.emit("doubleTap doubleClick", h)),
1680			i.lastClickTime = d.now(), d.nextTick((function() {
1681				t.destroyed || (t.allowClick = !0)
1682			})), !i.isTouched || !i.isMoved || !t.swipeDirection || 0 === a.diff || i.currentTranslate ===
1683			i.startTranslate) return i.isTouched = !1, i.isMoved = !1, void(i.startMoving = !
1684			1);
1685		if (i.isTouched = !1, i.isMoved = !1, i.startMoving = !1, p = s.followFinger ?
1686			r ? t.translate : -t.translate : -i.currentTranslate, !s.cssMode)
1687			if (s.freeMode) {
1688				if (p < -t.minTranslate()) return void t.slideTo(t.activeIndex);
1689				if (p > -t.maxTranslate()) return void(t.slides.length < l.length ? t.slideTo(
1690					l.length - 1) : t.slideTo(t.slides.length - 1));
1691				if (s.freeModeMomentum) {
1692					if (i.velocities.length > 1) {
1693						var v = i.velocities.pop(),
1694							f = i.velocities.pop(),
1695							m = v.position - f.position,
1696							g = v.time - f.time;
1697						t.velocity = m / g, t.velocity /= 2, Math.abs(t.velocity) < s.freeModeMinimumVelocity &&
1698							(t.velocity = 0), (g > 150 || d.now() - v.time > 300) && (t.velocity =
1699								0)
1700					} else t.velocity = 0;
1701					t.velocity *= s.freeModeMomentumVelocityRatio, i.velocities.length = 0;
1702					var b = 1e3 * s.freeModeMomentumRatio,
1703						w = t.velocity * b,
1704						y = t.translate + w;
1705					r && (y = -y);
1706					var x, E, T = !1,
1707						S = 20 * Math.abs(t.velocity) * s.freeModeMomentumBounceRatio;
1708					if (y < t.maxTranslate()) s.freeModeMomentumBounce ? (y + t.maxTranslate() <
1709						-S && (y = t.maxTranslate() - S), x = t.maxTranslate(), T = !0, i.allowMomentumBounce = !
1710						0) : y = t.maxTranslate(), s.loop && s.centeredSlides && (E = !0);
1711					else if (y > t.minTranslate()) s.freeModeMomentumBounce ? (y - t.minTranslate() >
1712						S && (y = t.minTranslate() + S), x = t.minTranslate(), T = !0, i.allowMomentumBounce = !
1713						0) : y = t.minTranslate(), s.loop && s.centeredSlides && (E = !0);
1714					else if (s.freeModeSticky) {
1715						for (var C, M = 0; M < l.length; M += 1)
1716							if (l[M] > -y) {
1717								C = M;
1718								break
1719							}
1720						y = -(y = Math.abs(l[C] - y) < Math.abs(l[C - 1] - y) || "next" === t.swipeDirection ?
1721							l[C] : l[C - 1])
1722					}
1723					if (E && t.once("transitionEnd", (function() {
1724							t.loopFix()
1725						})), 0 !== t.velocity) {
1726						if (b = r ? Math.abs((-y - t.translate) / t.velocity) : Math.abs((y - t
1727								.translate) / t.velocity), s.freeModeSticky) {
1728							var P = Math.abs((r ? -y : y) - t.translate),
1729								z = t.slidesSizesGrid[t.activeIndex];
1730							b = P < z ? s.speed : P < 2 * z ? 1.5 * s.speed : 2.5 * s.speed
1731						}
1732					} else if (s.freeModeSticky) return void t.slideToClosest();
1733					s.freeModeMomentumBounce && T ? (t.updateProgress(x), t.setTransition(b),
1734						t.setTranslate(y), t.transitionStart(!0, t.swipeDirection), t.animating = !
1735						0, n.transitionEnd((function() {
1736							t && !t.destroyed && i.allowMomentumBounce && (t.emit(
1737								"momentumBounce"), t.setTransition(s.speed), setTimeout((
1738								function() {
1739									t.setTranslate(x), n.transitionEnd((function() {
1740										t && !t.destroyed && t.transitionEnd()
1741									}))
1742								}), 0))
1743						}))) : t.velocity ? (t.updateProgress(y), t.setTransition(b), t.setTranslate(
1744						y), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !
1745						0, n.transitionEnd((function() {
1746							t && !t.destroyed && t.transitionEnd()
1747						})))) : t.updateProgress(y), t.updateActiveIndex(), t.updateSlidesClasses()
1748				} else if (s.freeModeSticky) return void t.slideToClosest();
1749				(!s.freeModeMomentum || u >= s.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(),
1750					t.updateSlidesClasses())
1751			} else {
1752				for (var k = 0, $ = t.slidesSizesGrid[0], L = 0; L < o.length; L += L < s
1753					.slidesPerGroupSkip ? 1 : s.slidesPerGroup) {
1754					var I = L < s.slidesPerGroupSkip - 1 ? 1 : s.slidesPerGroup;
1755					void 0 !== o[L + I] ? p >= o[L] && p < o[L + I] && (k = L, $ = o[L + I] -
1756						o[L]) : p >= o[L] && (k = L, $ = o[o.length - 1] - o[o.length - 2])
1757				}
1758				var D = (p - o[k]) / $,
1759					O = k < s.slidesPerGroupSkip - 1 ? 1 : s.slidesPerGroup;
1760				if (u > s.longSwipesMs) {
1761					if (!s.longSwipes) return void t.slideTo(t.activeIndex);
1762					"next" === t.swipeDirection && (D >= s.longSwipesRatio ? t.slideTo(k + O) :
1763						t.slideTo(k)), "prev" === t.swipeDirection && (D > 1 - s.longSwipesRatio ?
1764						t.slideTo(k + O) : t.slideTo(k))
1765				} else {
1766					if (!s.shortSwipes) return void t.slideTo(t.activeIndex);
1767					t.navigation && (h.target === t.navigation.nextEl || h.target === t.navigation
1768						.prevEl) ? h.target === t.navigation.nextEl ? t.slideTo(k + O) : t.slideTo(
1769						k) : ("next" === t.swipeDirection && t.slideTo(k + O), "prev" === t.swipeDirection &&
1770						t.slideTo(k))
1771				}
1772			}
1773	}
1774
1775	function N() {
1776		var e = this.params,
1777			t = this.el;
1778		if (!t || 0 !== t.offsetWidth) {
1779			e.breakpoints && this.setBreakpoint();
1780			var i = this.allowSlideNext,
1781				s = this.allowSlidePrev,
1782				a = this.snapGrid;
1783			this.allowSlideNext = !0, this.allowSlidePrev = !0, this.updateSize(),
1784				this.updateSlides(), this.updateSlidesClasses(), ("auto" === e.slidesPerView ||
1785					e.slidesPerView >
1785 1) && this.isEnd && !this.isBeginning && !this.params.centeredSlides ?
1786				this.slideTo(this.slides.length - 1, 0, !1, !0) : this.slideTo(this.activeIndex,
1787					0, !1, !0), this.autoplay && this.autoplay.running && this.autoplay.paused &&
1788				this.autoplay.run(), this.allowSlidePrev = s, this.allowSlideNext = i,
1789				this.params.watchOverflow && a !== this.snapGrid && this.checkOverflow()
1790		}
1791	}
1792
1793	function X(e) {
1794		this.allowClick || (this.params.preventClicks && e.preventDefault(), this.params
1795			.preventClicksPropagation && this.animating && (e.stopPropagation(), e.stopImmediatePropagation())
1796		)
1797	}
1798
1799	function V() {
1800		var e = this.wrapperEl,
1801			t = this.rtlTranslate;
1802		this.previousTranslate = this.translate, this.isHorizontal() ? this.translate =
1803			t ? e.scrollWidth - e.offsetWidth - e.scrollLeft : -e.scrollLeft : this.translate = -
1804			e.scrollTop, -0 === this.translate && (this.translate = 0), this.updateActiveIndex(),
1805			this.updateSlidesClasses();
1806		var i = this.maxTranslate() - this.minTranslate();
1807		(0 === i ? 0 : (this.translate - this.minTranslate()) / i) !== this.progress &&
1808			this.updateProgress(t ? -this.translate : this.translate), this.emit(
1809				"setTranslate", this.translate, !1)
1810	}
1811	var Y = !1;
1812
1813	function F() {}
1814	var W = {
1815			init: !0,
1816			direction: "horizontal",
1817			touchEventsTarget: "container",
1818			initialSlide: 0,
1819			speed: 300,
1820			cssMode: !1,
1821			updateOnWindowResize: !0,
1822			preventInteractionOnTransition: !1,
1823			edgeSwipeDetection: !1,
1824			edgeSwipeThreshold: 20,
1825			freeMode: !1,
1826			freeModeMomentum: !0,
1827			freeModeMomentumRatio: 1,
1828			freeModeMomentumBounce: !0,
1829			freeModeMomentumBounceRatio: 1,
1830			freeModeMomentumVelocityRatio: 1,
1831			freeModeSticky: !1,
1832			freeModeMinimumVelocity: .02,
1833			autoHeight: !1,
1834			setWrapperSize: !1,
1835			virtualTranslate: !1,
1836			effect: "slide",
1837			breakpoints: void 0,
1838			spaceBetween: 0,
1839			slidesPerView: 1,
1840			slidesPerColumn: 1,
1841			slidesPerColumnFill: "column",
1842			slidesPerGroup: 1,
1843			slidesPerGroupSkip: 0,
1844			centeredSlides: !1,
1845			centeredSlidesBounds: !1,
1846			slidesOffsetBefore: 0,
1847			slidesOffsetAfter: 0,
1848			normalizeSlideIndex: !0,
1849			centerInsufficientSlides: !1,
1850			watchOverflow: !1,
1851			roundLengths: !1,
1852			touchRatio: 1,
1853			touchAngle: 45,
1854			simulateTouch: !0,
1855			shortSwipes: !0,
1856			longSwipes: !0,
1857			longSwipesRatio: .5,
1858			longSwipesMs: 300,
1859			followFinger: !0,
1860			allowTouchMove: !0,
1861			threshold: 0,
1862			touchMoveStopPropagation: !1,
1863			touchStartPreventDefault: !0,
1864			touchStartForcePreventDefault: !1,
1865			touchReleaseOnEdges: !1,
1866			uniqueNavElements: !0,
1867			resistance: !0,
1868			resistanceRatio: .85,
1869			watchSlidesProgress: !1,
1870			watchSlidesVisibility: !1,
1871			grabCursor: !1,
1872			preventClicks: !0,
1873			preventClicksPropagation: !0,
1874			slideToClickedSlide: !1,
1875			preloadImages: !0,
1876			updateOnImagesReady: !0,
1877			loop: !1,
1878			loopAdditionalSlides: 0,
1879			loopedSlides: null,
1880			loopFillGroupWithBlank: !1,
1881			allowSlidePrev: !0,
1882			allowSlideNext: !0,
1883			swipeHandler: null,
1884			noSwiping: !0,
1885			noSwipingClass: "swiper-no-swiping",
1886			noSwipingSelector: null,
1887			passiveListeners: !0,
1888			containerModifierClass: "swiper-container-",
1889			slideClass: "swiper-slide",
1890			slideBlankClass: "swiper-slide-invisible-blank",
1891			slideActiveClass: "swiper-slide-active",
1892			slideDuplicateActiveClass: "swiper-slide-duplicate-active",
1893			slideVisibleClass: "swiper-slide-visible",
1894			slideDuplicateClass: "swiper-slide-duplicate",
1895			slideNextClass: "swiper-slide-next",
1896			slideDuplicateNextClass: "swiper-slide-duplicate-next",
1897			slidePrevClass: "swiper-slide-prev",
1898			slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
1899			wrapperClass: "swiper-wrapper",
1900			runCallbacksOnInit: !0
1901		},
1902		R = {
1903			update: u,
1904			translate: v,
1905			transition: f,
1906			slide: m,
1907			loop: g,
1908			grabCursor: b,
1909			manipulation: O,
1910			events: {
1911				attachEvents: function() {
1912					var e = this.params,
1913						t = this.touchEvents,
1914						s = this.el,
1915						a = this.wrapperEl;
1916					this.onTouchStart = G.bind(this), this.onTouchMove = H.bind(this), this
1917						.onTouchEnd = B.bind(this), e.cssMode && (this.onScroll = V.bind(this)),
1918						this.onClick = X.bind(this);
1919					var r = !!e.nested;
1920					if (!h.touch && h.pointerEvents) s.addEventListener(t.start, this.onTouchStart, !
1921						1), i.addEventListener(t.move, this.onTouchMove, r), i.addEventListener(
1922						t.end, this.onTouchEnd, !1);
1923					else {
1924						if (h.touch) {
1925							var n = !("touchstart" !== t.start || !h.passiveListener || !e.passiveListeners) && {
1926								passive: !0,
1927								capture: !1
1928							};
1929							s.addEventListener(t.start, this.onTouchStart, n), s.addEventListener(
1930									t.move, this.onTouchMove, h.passiveListener ? {
1931										passive: !1,
1932										capture: r
1933									} : r), s.addEventListener(t.end, this.onTouchEnd, n), t.cancel &&
1934								s.addEventListener(t.cancel, this.onTouchEnd, n), Y || (i.addEventListener(
1935									"touchstart", F), Y = !0)
1936						}(e.simulateTouch && !A.ios && !A.android || e.simulateTouch && !h.touch &&
1937							A.ios) && (s.addEventListener("mousedown", this.onTouchStart, !1), i.addEventListener(
1938							"mousemove", this.onTouchMove, r), i.addEventListener("mouseup",
1939							this.onTouchEnd, !1))
1940					}(e.preventClicks || e.preventClicksPropagation) && s.addEventListener(
1941						"click", this.onClick, !0), e.cssMode && a.addEventListener("scroll",
1942						this.onScroll), e.updateOnWindowResize ? this.on(A.ios || A.android ?
1943						"resize orientationchange observerUpdate" : "resize observerUpdate",
1944						N, !0) : this.on("observerUpdate", N, !0)
1945				},
1946				detachEvents: function() {
1947					var e = this.params,
1948						t = this.touchEvents,
1949						s = this.el,
1950						a = this.wrapperEl,
1951						r = !!e.nested;
1952					if (!h.touch && h.pointerEvents) s.removeEventListener(t.start, this.onTouchStart, !
1953						1), i.removeEventListener(t.move, this.onTouchMove, r), i.removeEventListener(
1954						t.end, this.onTouchEnd, !1);
1955					else {
1956						if (h.touch) {
1957							var n = !("onTouchStart" !== t.start || !h.passiveListener || !e.passiveListeners) && {
1958								passive: !0,
1959								capture: !1
1960							};
1961							s.removeEventListener(t.start, this.onTouchStart, n), s.removeEventListener(
1962								t.move, this.onTouchMove, r), s.removeEventListener(t.end, this.onTouchEnd,
1963								n), t.cancel && s.removeEventListener(t.cancel, this.onTouchEnd, n)
1964						}(e.simulateTouch && !A.ios && !A.android || e.simulateTouch && !h.touch &&
1965							A.ios) && (s.removeEventListener("mousedown", this.onTouchStart, !1),
1966							i.removeEventListener("mousemove", this.onTouchMove, r), i.removeEventListener(
1967								"mouseup", this.onTouchEnd, !1))
1968					}(e.preventClicks || e.preventClicksPropagation) && s.removeEventListener(
1969						"click", this.onClick, !0), e.cssMode && a.removeEventListener(
1970						"scroll", this.onScroll), this.off(A.ios || A.android ?
1971						"resize orientationchange observerUpdate" : "resize observerUpdate",
1972						N)
1973				}
1974			},
1975			breakpoints: {
1976				setBreakpoint: function() {
1977					var e = this.activeIndex,
1978						t = this.initialized,
1979						i = this.loopedSlides;
1980					void 0 === i && (i = 0);
1981					var s = this.params,
1982						a = this.$el,
1983						r = s.breakpoints;
1984					if (r && (!r || 0 !== Object.keys(r).length)) {
1985						var n = this.getBreakpoint(r);
1986						if (n && this.currentBreakpoint !== n) {
1987							var o = n in r ? r[n] : void 0;
1988							o && ["slidesPerView", "spaceBetween", "slidesPerGroup",
1989								"slidesPerGroupSkip", "slidesPerColumn"
1990							].forEach((function(e) {
1991								var t = o[e];
1992								void 0 !== t && (o[e] = "slidesPerView" !== e || "AUTO" !== t &&
1993									"auto" !== t ? "slidesPerView" === e ? parseFloat(t) : parseInt(
1994										t, 10) : "auto")
1995							}));
1996							var l = o || this.originalParams,
1997								h = s.slidesPerColumn > 1,
1998								p = l.slidesPerColumn > 1;
1999							h && !p ? a.removeClass(s.containerModifierClass + "multirow " + s.containerModifierClass +
2000								"multirow-column") : !h && p && (a.addClass(s.containerModifierClass +
2001								"multirow"), "column" === l.slidesPerColumnFill && a.addClass(s.containerModifierClass +
2002								"multirow-column"));
2003							var c = l.direction && l.direction !== s.direction,
2004								u = s.loop && (l.slidesPerView !== s.slidesPerView || c);
2005							c && t && this.changeDirection(), d.extend(this.params, l), d.extend(
2006								this, {
2007									allowTouchMove: this.params.allowTouchMove,
2008									allowSlideNext: this.params.allowSlideNext,
2009									allowSlidePrev: this.params.allowSlidePrev
2010								}), this.currentBreakpoint = n, u && t && (this.loopDestroy(), this
2011								.loopCreate(), this.updateSlides(), this.slideTo(e - i + this.loopedSlides,
2012									0, !1)), this.emit("breakpoint", l)
2013						}
2014					}
2015				},
2016				getBreakpoint: function(e) {
2017					if (e) {
2018						var t = !1,
2019							i = Object.keys(e).map((function(e) {
2020								if ("string" == typeof e && 0 === e.indexOf("@")) {
2021									var t = parseFloat(e.substr(1));
2022									return {
2023										value: a.innerHeight * t,
2024										point: e
2025									}
2026								}
2027								return {
2028									value: e,
2029									point: e
2030								}
2031							}));
2032						i.sort((function(e, t) {
2033							return parseInt(e.value, 10) - parseInt(t.value, 10)
2034						}));
2035						for (var s = 0; s < i.length; s += 1) {
2036							var r = i[s],
2037								n = r.point;
2038							r.value <= a.innerWidth && (t = n)
2039						}
2040						return t || "max"
2041					}
2042				}
2043			},
2044			checkOverflow: {
2045				checkOverflow: function() {
2046					var e = this.params,
2047						t = this.isLocked,
2048						i = this.slides.length > 0 && e.slidesOffsetBefore + e.spaceBetween *
2049						(this.slides.length - 1) + this.slides[0].offsetWidth * this.slides.length;
2050					e.slidesOffsetBefore && e.slidesOffsetAfter && i ? this.isLocked = i <=
2051						this.size : this.isLocked = 1 === this.snapGrid.length, this.allowSlideNext = !
2052						this.isLocked, this.allowSlidePrev = !this.isLocked, t !== this.isLocked &&
2053						this.emit(this.isLocked ? "lock" : "unlock"), t && t !== this.isLocked &&
2054						(this.isEnd = !1, this.navigation && this.navigation.update())
2055				}
2056			},
2057			classes: {
2058				addClasses: function() {
2059					var e = this.classNames,
2060						t = this.params,
2061						i = this.rtl,
2062						s = this.$el,
2063						a = [];
2064					a.push("initialized"), a.push(t.direction), t.freeMode && a.push(
2065							"free-mode"), t.autoHeight && a.push("autoheight"), i && a.push("rtl"),
2066						t.slidesPerColumn > 1 && (a.push("multirow"), "column" === t.slidesPerColumnFill &&
2067							a.push("multirow-column")), A.android && a.push("android"), A.ios &&
2068						a.push("ios"), t.cssMode && a.push("css-mode"), a.forEach((function(i) {
2069							e.push(t.containerModifierClass + i)
2070						})), s.addClass(e.join(" "))
2071				},
2072				removeClasses: function() {
2073					var e = this.$el,
2074						t = this.classNames;
2075					e.removeClass(t.join(" "))
2076				}
2077			},
2078			images: {
2079				loadImage: function(e, t, i, s, r, o) {
2080					var l;
2081
2082					function d() {
2083						o && o()
2084					}
2085					n(e).parent("picture")[0] || e.complete && r ? d() : t ? ((l = new a.Image)
2086						.onload = d, l.onerror = d, s && (l.sizes = s), i && (l.srcset = i),
2087						t && (l.src = t)) : d()
2088				},
2089				preloadImages: function() {
2090					var e = this;
2091
2092					function t() {
2093						null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded +=
2094							1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady &&
2095							e.update(), e.emit("imagesReady")))
2096					}
2097					e.imagesToLoad = e.$el.find("img");
2098					for (var i = 0; i < e.imagesToLoad.length; i += 1) {
2099						var s = e.imagesToLoad[i];
2100						e.loadImage(s, s.currentSrc || s.getAttribute("src"), s.srcset || s.getAttribute(
2101							"srcset"), s.sizes || s.getAttribute("sizes"), !0, t)
2102					}
2103				}
2104			}
2105		},
2106		q = {},
2107		j = function(e) {
2108			function t() {
2109				for (var i, s, a, r = [], o = arguments.length; o--;) r[o] = arguments[o];
2110				1 === r.length && r[0].constructor && r[0].constructor === Object ? a = r[
2111						0] : (s = (i = r)[0], a = i[1]), a || (a = {}), a = d.extend({}, a), s &&
2112					!a.el && (a.el = s), e.call(this, a), Object.keys(R).forEach((function(e) {
2113						Object.keys(R[e]).forEach((function(i) {
2114							t.prototype[i] || (t.prototype[i] = R[e][i])
2115						}))
2116					}));
2117				var l = this;
2118				void 0 === l.modules && (l.modules = {}), Object.keys(l.modules).forEach(
2119					(function(e) {
2120						var t = l.modules[e];
2121						if (t.params) {
2122							var i = Object.keys(t.params)[0],
2123								s = t.params[i];
2124							if ("object" != typeof s || null === s) return;
2125							if (!(i in a) || !("enabled" in s)) return;
2126							!0 === a[i] && (a[i] = {
2127								enabled: !0
2128							}), "object" != typeof a[i] || "enabled" in a[i] || (a[i].enabled = !
2129								0), a[i] || (a[i] = {
2130								enabled: !1
2131							})
2132						}
2133					}));
2134				var p = d.extend({}, W);
2135				l.useModulesParams(p), l.params = d.extend({}, p, q, a), l.originalParams =
2136					d.extend({}, l.params), l.passedParams = d.extend({}, a), l.$ = n;
2137				var c = n(l.params.el);
2138				if (s = c[0]) {
2139					if (c.length > 1) {
2140						var u = [];
2141						return c.each((function(e, i) {
2142							var s = d.extend({}, a, {
2143								el: i
2144							});
2145							u.push(new t(s))
2146						})), u
2147					}
2148					var v, f, m;
2149					return s.swiper = l, c.data("swiper", l), s && s.shadowRoot && s.shadowRoot
2150						.querySelector ? (v = n(s.shadowRoot.querySelector("." + l.params.wrapperClass)))
2151						.children = function(e) {
2152							return c.children(e)
2153						} : v = c.children("." + l.params.wrapperClass), d.extend(l, {
2154							$el: c,
2155							el: s,
2156							$wrapperEl: v,
2157							wrapperEl: v[0],
2158							classNames: [],
2159							slides: n(),
2160							slidesGrid: [],
2161							snapGrid: [],
2162							slidesSizesGrid: [],
2163							isHorizontal: function() {
2164								return "horizontal" === l.params.direction
2165							},
2166							isVertical: function() {
2167								return "vertical" === l.params.direction
2168							},
2169							rtl: "rtl" === s.dir.toLowerCase() || "rtl" === c.css("direction"),
2170							rtlTranslate: "horizontal" === l.params.direction && ("rtl" === s.dir
2171								.toLowerCase() || "rtl" === c.css("direction")),
2172							wrongRTL: "-webkit-box" === v.css("display"),
2173							activeIndex: 0,
2174							realIndex: 0,
2175							isBeginning: !0,
2176							isEnd: !1,
2177							translate: 0,
2178							previousTranslate: 0,
2179							progress: 0,
2180							velocity: 0,
2181							animating: !1,
2182							allowSlideNext: l.params.allowSlideNext,
2183							allowSlidePrev: l.params.allowSlidePrev,
2184							touchEvents: (f = ["touchstart", "touchmove", "touchend",
2185								"touchcancel"
2186							], m = ["mousedown", "mousemove", "mouseup"], h.pointerEvents && (m = [
2187								"pointerdown", "pointermove", "pointerup"
2188							]), l.touchEventsTouch = {
2189								start: f[0],
2190								move: f[1],
2191								end: f[2],
2192								cancel: f[3]
2193							}, l.touchEventsDesktop = {
2194								start: m[0],
2195								move: m[1],
2196								end: m[2]
2197							}, h.touch || !l.params.simulateTouch ? l.touchEventsTouch : l.touchEventsDesktop),
2198							touchEventsData: {
2199								isTouched: void 0,
2200								isMoved: void 0,
2201								allowTouchCallbacks: void 0,
2202								touchStartTime: void 0,
2203								isScrolling: void 0,
2204								currentTranslate: void 0,
2205								startTranslate: void 0,
2206								allowThresholdMove: void 0,
2207								formElements: "input, select, option, textarea, button, video, label",
2208								lastClickTime: d.now(),
2209								clickTimeout: void 0,
2210								velocities: [],
2211								allowMomentumBounce: void 0,
2212								isTouchEvent: void 0,
2213								startMoving: void 0
2214							},
2215							allowClick: !0,
2216							allowTouchMove: l.params.allowTouchMove,
2217							touches: {
2218								startX: 0,
2219								startY: 0,
2220								currentX: 0,
2221								currentY: 0,
2222								diff: 0
2223							},
2224							imagesToLoad: [],
2225							imagesLoaded: 0
2226						}
2226), l.useModules(), l.params.init && l.init(), l
2227				}
2228			}
2229			e && (t.__proto__ = e), t.prototype = Object.create(e && e.prototype), t.prototype
2230				.constructor = t;
2231			var i = {
2232				extendedDefaults: {
2233					configurable: !0
2234				},
2235				defaults: {
2236					configurable: !0
2237				},
2238				Class: {
2239					configurable: !0
2240				},
2241				$: {
2242					configurable: !0
2243				}
2244			};
2245			return t.prototype.slidesPerViewDynamic = function() {
2246				var e = this.params,
2247					t = this.slides,
2248					i = this.slidesGrid,
2249					s = this.size,
2250					a = this.activeIndex,
2251					r = 1;
2252				if (e.centeredSlides) {
2253					for (var n, o = t[a].swiperSlideSize, l = a + 1; l < t.length; l += 1) t[
2254						l] && !n && (r += 1, (o += t[l].swiperSlideSize) > s && (n = !0));
2255					for (var d = a - 1; d >= 0; d -= 1) t[d] && !n && (r += 1, (o += t[d].swiperSlideSize) >
2256						s && (n = !0))
2257				} else
2258					for (var h = a + 1; h < t.length; h += 1) i[h] - i[a] < s && (r += 1);
2259				return r
2260			}, t.prototype.update = function() {
2261				var e = this;
2262				if (e && !e.destroyed) {
2263					var t = e.snapGrid,
2264						i = e.params;
2265					i.breakpoints && e.setBreakpoint(), e.updateSize(), e.updateSlides(), e
2266						.updateProgress(), e.updateSlidesClasses(), e.params.freeMode ? (s(),
2267							e.params.autoHeight && e.updateAutoHeight()) : (("auto" === e.params.slidesPerView ||
2268								e.params.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides ?
2269							e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex,
2270								0, !1, !0)) || s(), i.watchOverflow && t !== e.snapGrid && e.checkOverflow(),
2271						e.emit("update")
2272				}
2273
2274				function s() {
2275					var t = e.rtlTranslate ? -1 * e.translate : e.translate,
2276						i = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
2277					e.setTranslate(i), e.updateActiveIndex(), e.updateSlidesClasses()
2278				}
2279			}, t.prototype.changeDirection = function(e, t) {
2280				void 0 === t && (t = !0);
2281				var i = this.params.direction;
2282				return e || (e = "horizontal" === i ? "vertical" : "horizontal"), e ===
2283					i || "horizontal" !== e && "vertical" !== e || (this.$el.removeClass("" +
2284						this.params.containerModifierClass + i).addClass("" + this.params.containerModifierClass +
2285						e), this.params.direction = e, this.slides.each((function(t, i) {
2286						"vertical" === e ? i.style.width = "" : i.style.height = ""
2287					})), this.emit("changeDirection"), t && this.update()), this
2288			}, t.prototype.init = function() {
2289				this.initialized || (this.emit("beforeInit"), this.params.breakpoints &&
2290					this.setBreakpoint(), this.addClasses(), this.params.loop && this.loopCreate(),
2291					this.updateSize(), this.updateSlides(), this.params.watchOverflow &&
2292					this.checkOverflow(), this.params.grabCursor && this.setGrabCursor(),
2293					this.params.preloadImages && this.preloadImages(), this.params.loop ?
2294					this.slideTo(this.params.initialSlide + this.loopedSlides, 0, this.params
2295						.runCallbacksOnInit) : this.slideTo(this.params.initialSlide, 0, this
2296						.params.runCallbacksOnInit), this.attachEvents(), this.initialized = !
2297					0, this.emit("init"))
2298			}, t.prototype.destroy = function(e, t) {
2299				void 0 === e && (e = !0), void 0 === t && (t = !0);
2300				var i = this,
2301					s = i.params,
2302					a = i.$el,
2303					r = i.$wrapperEl,
2304					n = i.slides;
2305				return void 0 === i.params || i.destroyed || (i.emit("beforeDestroy"), i
2306					.initialized = !1, i.detachEvents(), s.loop && i.loopDestroy(), t && (
2307						i.removeClasses(), a.removeAttr("style"), r.removeAttr("style"), n &&
2308						n.length && n.removeClass([s.slideVisibleClass, s.slideActiveClass, s
2309							.slideNextClass, s.slidePrevClass
2310						].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")
2311					), i.emit("destroy"), Object.keys(i.eventsListeners).forEach((function(
2312						e) {
2313						i.off(e)
2314					})), !1 !== e && (i.$el[0].swiper = null, i.$el.data("swiper", null),
2315						d.deleteProps(i)), i.destroyed = !0), null
2316			}, t.extendDefaults = function(e) {
2317				d.extend(q, e)
2318			}, i.extendedDefaults.get = function() {
2319				return q
2320			}, i.defaults.get = function() {
2321				return W
2322			}, i.Class.get = function() {
2323				return e
2324			}, i.$.get = function() {
2325				return n
2326			}, Object.defineProperties(t, i), t
2327		}(p),
2328		K = {
2329			name: "device",
2330			proto: {
2331				device: A
2332			},
2333			static: {
2334				device: A
2335			}
2336		},
2337		U = {
2338			name: "support",
2339			proto: {
2340				support: h
2341			},
2342			static: {
2343				support: h
2344			}
2345		},
2346		_ = {
2347			isEdge: !!a.navigator.userAgent.match(/Edge/g),
2348			isSafari: function() {
2349				var e = a.navigator.userAgent.toLowerCase();
2350				return e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf(
2351					"android") < 0
2352			}(),
2353			isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(a.navigator
2354				.userAgent)
2355		},
2356		Z = {
2357			name: "browser",
2358			proto: {
2359				browser: _
2360			},
2361			static: {
2362				browser: _
2363			}
2364		},
2365		Q = {
2366			name: "resize",
2367			create: function() {
2368				var e = this;
2369				d.extend(e, {
2370					resize: {
2371						resizeHandler: function() {
2372							e && !e.destroyed && e.initialized && (e.emit("beforeResize"), e.emit(
2373								"resize"))
2374						},
2375						orientationChangeHandler: function() {
2376							e && !e.destroyed && e.initialized && e.emit("orientationchange")
2377						}
2378					}
2379				})
2380			},
2381			on: {
2382				init: function() {
2383					a.addEventListener("resize", this.resize.resizeHandler), a.addEventListener(
2384						"orientationchange", this.resize.orientationChangeHandler)
2385				},
2386				destroy: function() {
2387					a.removeEventListener("resize", this.resize.resizeHandler), a.removeEventListener(
2388						"orientationchange", this.resize.orientationChangeHandler)
2389				}
2390			}
2391		},
2392		J = {
2393			func: a.MutationObserver || a.WebkitMutationObserver,
2394			attach: function(e, t) {
2395				void 0 === t && (t = {});
2396				var i = this,
2397					s = new(0, J.func)((function(e) {
2398						if (1 !== e.length) {
2399							var t = function() {
2400								i.emit("observerUpdate", e[0])
2401							};
2402							a.requestAnimationFrame ? a.requestAnimationFrame(t) : a.setTimeout(
2403								t, 0)
2404						} else i.emit("observerUpdate", e[0])
2405					}));
2406				s.observe(e, {
2407					attributes: void 0 === t.attributes || t.attributes,
2408					childList: void 0 === t.childList || t.childList,
2409					characterData: void 0 === t.characterData || t.characterData
2410				}), i.observer.observers.push(s)
2411			},
2412			init: function() {
2413				if (h.observer && this.params.observer) {
2414					if (this.params.observeParents)
2415						for (var e = this.$el.parents(), t = 0; t < e.length; t += 1) this.observer
2416							.attach(e[t]);
2417					this.observer.attach(this.$el[0], {
2418						childList: this.params.observeSlideChildren
2419					}), this.observer.attach(this.$wrapperEl[0], {
2420						attributes: !1
2421					})
2422				}
2423			},
2424			destroy: function() {
2425				this.observer.observers.forEach((function(e) {
2426					e.disconnect()
2427				})), this.observer.observers = []
2428			}
2429		},
2430		ee = {
2431			name: "observer",
2432			params: {
2433				observer: !1,
2434				observeParents: !1,
2435				observeSlideChildren: !1
2436			},
2437			create: function() {
2438				d.extend(this, {
2439					observer: {
2440						init: J.init.bind(this),
2441						attach: J.attach.bind(this),
2442						destroy: J.destroy.bind(this),
2443						observers: []
2444					}
2445				})
2446			},
2447			on: {
2448				init: function() {
2449					this.observer.init()
2450				},
2451				destroy: function() {
2452					this.observer.destroy()
2453				}
2454			}
2455		},
2456		te = {
2457			update: function(e) {
2458				var t = this,
2459					i = t.params,
2460					s = i.slidesPerView,
2461					a = i.slidesPerGroup,
2462					r = i.centeredSlides,
2463					n = t.params.virtual,
2464					o = n.addSlidesBefore,
2465					l = n.addSlidesAfter,
2466					h = t.virtual,
2467					p = h.from,
2468					c = h.to,
2469					u = h.slides,
2470					v = h.slidesGrid,
2471					f = h.renderSlide,
2472					m = h.offset;
2473				t.updateActiveIndex();
2474				var g, b, w, y = t.activeIndex || 0;
2475				g = t.rtlTranslate ? "right" : t.isHorizontal() ? "left" : "top", r ? (b =
2476					Math.floor(s / 2) + a + o, w = Math.floor(s / 2) + a + l) : (b = s + (
2477					a - 1) + o, w = a + l);
2478				var x = Math.max((y || 0) - w, 0),
2479					E = Math.min((y || 0) + b, u.length - 1),
2480					T = (t.slidesGrid[x] || 0) - (t.slidesGrid[0] || 0);
2481
2482				function S() {
2483					t.updateSlides(), t.updateProgress(), t.updateSlidesClasses(), t.lazy &&
2484						t.params.lazy.enabled && t.lazy.load()
2485				}
2486				if (d.extend(t.virtual, {
2487						from: x,
2488						to: E,
2489						offset: T,
2490						slidesGrid: t.slidesGrid
2491					}), p === x && c === E && !e) return t.slidesGrid !== v && T !== m && t
2492					.slides.css(g, T + "px"), void t.updateProgress();
2493				if (t.params.virtual.renderExternal) return t.params.virtual.renderExternal
2494					.call(t, {
2495						offset: T,
2496						from: x,
2497						to: E,
2498						slides: function() {
2499							for (var e = [], t = x; t <= E; t += 1) e.push(u[t]);
2500							return e
2501						}()
2502					}), void S();
2503				var C = [],
2504					M = [];
2505				if (e) t.$wrapperEl.find("." + t.params.slideClass).remove();
2506				else
2507					for (var P = p; P <= c; P += 1)(P < x || P > E) && t.$wrapperEl.find(
2508						"." + t.params.slideClass + '[data-swiper-slide-index="' + P + '"]').remove();
2509				for (var z = 0; z < u.length; z += 1) z >= x && z <= E && (void 0 === c ||
2510					e ? M.push(z) : (z > c && M.push(z), z < p && C.push(z)));
2511				M.forEach((function(e) {
2512					t.$wrapperEl.append(f(u[e], e))
2513				})), C.sort((function(e, t) {
2514					return t - e
2515				})).forEach((function(e) {
2516					t.$wrapperEl.prepend(f(u[e], e))
2517				})), t.$wrapperEl.children(".swiper-slide").css(g, T + "px"), S()
2518			},
2519			renderSlide: function(e, t) {
2520				var i = this.params.virtual;
2521				if (i.cache && this.virtual.cache[t]) return this.virtual.cache[t];
2522				var s = i.renderSlide ? n(i.renderSlide.call(this, e, t)) : n(
2523					'<div class="' + this.params.slideClass +
2524					'" data-swiper-slide-index="' + t + '">' + e + "</div>");
2525				return s.attr("data-swiper-slide-index") || s.attr(
2526						"data-swiper-slide-index", t), i.cache && (this.virtual.cache[t] = s),
2527					s
2528			},
2529			appendSlide: function(e) {
2530				if ("object" == typeof e && "length" in e)
2531					for (var t = 0; t < e.length; t += 1) e[t] && this.virtual.slides.push(
2532						e[t]);
2533				else this.virtual.slides.push(e);
2534				this.virtual.update(!0)
2535			},
2536			prependSlide: function(e) {
2537				var t = this.activeIndex,
2538					i = t + 1,
2539					s = 1;
2540				if (Array.isArray(e)) {
2541					for (var a = 0; a < e.length; a += 1) e[a] && this.virtual.slides.unshift(
2542						e[a]);
2543					i = t + e.length, s = e.length
2544				} else this.virtual.slides.unshift(e);
2545				if (this.params.virtual.cache) {
2546					var r = this.virtual.cache,
2547						n = {};
2548					Object.keys(r).forEach((function(e) {
2549						var t = r[e],
2550							i = t.attr("data-swiper-slide-index");
2551						i && t.attr("data-swiper-slide-index", parseInt(i, 10) + 1), n[
2552							parseInt(e, 10) + s] = t
2553					})), this.virtual.cache = n
2554				}
2555				this.virtual.update(!0), this.slideTo(i, 0)
2556			},
2557			removeSlide: function(e) {
2558				if (null != e) {
2559					var t = this.activeIndex;
2560					if (Array.isArray(e))
2561						for (var i = e.length - 1; i >= 0; i -= 1) this.virtual.slides.splice(
2562								e[i], 1), this.params.virtual.cache && delete this.virtual.cache[e[i]],
2563							e[i] < t && (t -= 1), t = Math.max(t, 0);
2564					else this.virtual.slides.splice(e, 1), this.params.virtual.cache &&
2565						delete this.virtual.cache[e], e < t && (t -= 1), t = Math.max(t, 0);
2566					this.virtual.update(!0), this.slideTo(t, 0)
2567				}
2568			},
2569			removeAllSlides: function() {
2570				this.virtual.slides = [], this.params.virtual.cache && (this.virtual.cache = {}),
2571					this.virtual.update(!0), this.slideTo(0, 0)
2572			}
2573		},
2574		ie = {
2575			name: "virtual",
2576			params: {
2577				virtual: {
2578					enabled: !1,
2579					slides: [],
2580					cache: !0,
2581					renderSlide: null,
2582					renderExternal: null,
2583					addSlidesBefore: 0,
2584					addSlidesAfter: 0
2585				}
2586			},
2587			create: function() {
2588				d.extend(this, {
2589					virtual: {
2590						update: te.update.bind(this),
2591						appendSlide: te.appendSlide.bind(this),
2592						prependSlide: te.prependSlide.bind(this),
2593						removeSlide: te.removeSlide.bind(this),
2594						removeAllSlides: te.removeAllSlides.bind(this),
2595						renderSlide: te.renderSlide.bind(this),
2596						slides: this.params.virtual.slides,
2597						cache: {}
2598					}
2599				})
2600			},
2601			on: {
2602				beforeInit: function() {
2603					if (this.params.virtual.enabled) {
2604						this.classNames.push(this.params.containerModifierClass + "virtual");
2605						var e = {
2606							watchSlidesProgress: !0
2607						};
2608						d.extend(this.params, e), d.extend(this.originalParams, e), this.params
2609							.initialSlide || this.virtual.update()
2610					}
2611				},
2612				setTranslate: function() {
2613					this.params.virtual.enabled && this.virtual.update()
2614				}
2615			}
2616		},
2617		se = {
2618			handle: function(e) {
2619				var t = this.rtlTranslate,
2620					s = e;
2621				s.originalEvent && (s = s.originalEvent);
2622				var r = s.keyCode || s.charCode,
2623					n = this.params.keyboard.pageUpDown,
2624					o = n && 33 === r,
2625					l = n && 34 === r,
2626					d = 37 === r,
2627					h = 39 === r,
2628					p = 38 === r,
2629					c = 40 === r;
2630				if (!this.allowSlideNext && (this.isHorizontal() && h || this.isVertical() &&
2631						c || l)) return !1;
2632				if (!this.allowSlidePrev && (this.isHorizontal() && d || this.isVertical() &&
2633						p || o)) return !1;
2634				if (!(s.shiftKey || s.altKey || s.ctrlKey || s.metaKey || i.activeElement &&
2635						i.activeElement.nodeName && ("input" === i.activeElement.nodeName.toLowerCase() ||
2636							"textarea" === i.activeElement.nodeName.toLowerCase()))) {
2637					if (this.params.keyboard.onlyInViewport && (o || l || d || h || p || c)) {
2638						var u = !1;
2639						if (this.$el.parents("." + this.params.slideClass).length > 0 && 0 ===
2640							this.$el.parents("." + this.params.slideActiveClass).length) return;
2641						var v = a.innerWidth,
2642							f = a.innerHeight,
2643							m = this.$el.offset();
2644						t && (m.left -= this.$el[0].scrollLeft);
2645						for (var g = [
2646								[m.left, m.top],
2647								[m.left + this.width, m.top],
2648								[m.left, m.top + this.height],
2649								[m.left + this.width, m.top + this.height]
2650							], b = 0; b < g.length; b += 1) {
2651							var w = g[b];
2652							w[0] >= 0 && w[0] <= v && w[1] >= 0 && w[1] <= f && (u = !0)
2653						}
2654						if (!u) return
2655					}
2656					this.isHorizontal() ? ((o || l || d || h) && (s.preventDefault ? s.preventDefault() :
2657						s.returnValue = !1), ((l || h) && !t || (o || d) && t) && this.slideNext(), (
2658						(o || d) && !t || (l || h) && t) && this.slidePrev()) : ((o || l || p ||
2659						c) && (s.preventDefault ? s.preventDefault() : s.returnValue = !1), (
2660						l || c) && this.slideNext(), (o || p) && this.slidePrev()), this.emit(
2661						"keyPress", r)
2662				}
2663			},
2664			enable: function() {
2665				this.keyboard.enabled || (n(i).on("keydown", this.keyboard.handle), this
2666					.keyboard.enabled = !0)
2667			},
2668			disable: function() {
2669				this.keyboard.enabled && (n(i).off("keydown", this.keyboard.handle),
2670					this.keyboard.enabled = !1)
2671			}
2672		},
2673		ae = {
2674			name: "keyboard",
2675			params: {
2676				keyboard: {
2677					enabled: !1,
2678					onlyInViewport: !0,
2679					pageUpDown: !0
2680				}
2681			},
2682			create: function() {
2683				d.extend(this, {
2684					keyboard: {
2685						enabled: !1,
2686						enable: se.enable.bind(this),
2687						disable: se.disable.bind(this),
2688						handle: se.handle.bind(this)
2689					}
2690				})
2691			},
2692			on: {
2693				init: function() {
2694					this.params.keyboard.enabled && this.keyboard.enable()
2695				},
2696				destroy: function() {
2697					this.keyboard.enabled && this.keyboard.disable()
2698				}
2699			}
2700		};
2701	var re = {
2702			lastScrollTime: d.now(),
2703			lastEventBeforeSnap: void 0,
2704			recentWheelEvents: [],
2705			event: function() {
2706				return a.navigator.userAgent.indexOf("firefox") > -1 ? "DOMMouseScroll" :
2707					function() {
2708						var e = "onwheel" in i;
2709						if (!e) {
2710							var t = i.createElement("div");
2711							t.setAttribute("onwheel", "return;"), e = "function" == typeof t.onwheel
2712						}
2713						return !e && i.implementation && i.implementation.hasFeature && !0 !==
2714							i.implementation.hasFeature("", "") && (e = i.implementation.hasFeature(
2715								"Events.wheel", "3.0")), e
2716					}() ? "wheel" : "mousewheel"
2717			},
2718			normalize: function(e) {
2719				var t = 0,
2720					i = 0,
2721					s = 0,
2722					a = 0;
2723				return "detail" in e && (i = e.detail), "wheelDelta" in e && (i = -e.wheelDelta /
2724						120), "wheelDeltaY" in e && (i = -e.wheelDeltaY / 120), "wheelDeltaX" in
2725					e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS &&
2726					(t = i, i = 0), s = 10 * t, a = 10 * i, "deltaY" in e && (a = e.deltaY),
2727					"deltaX" in e && (s = e.deltaX), e.shiftKey && !s && (s = a, a = 0), (s ||
2728						a) && e.deltaMode && (1 === e.deltaMode ? (s *= 40, a *= 40) : (s *=
2729						800, a *= 800)), s && !t && (t = s < 1 ? -1 : 1), a && !i && (i = a <
2730						1 ? -1 : 1), {
2731						spinX: t,
2732						spinY: i,
2733						pixelX: s,
2734						pixelY: a
2735					}
2736			},
2737			handleMouseEnter: function() {
2738				this.mouseEntered = !0
2739			},
2740			handleMouseLeave: function() {
2741				this.mouseEntered = !1
2742			},
2743			handle: function(e) {
2744				var t = e,
2745					i = this,
2746					s = i.params.mousewheel;
2747				i.params.cssMode && t.preventDefault();
2748				var a = i.$el;
2749				if ("container" !== i.params.mousewheel.eventsTarged && (a = n(i.params.mousewheel
2750						.eventsTarged)), !i.mouseEntered && !a[0].contains(t.target) && !s.releaseOnEdges)
2751					return !0;
2752				t.originalEvent && (t = t.originalEvent);
2753				var r = 0,
2754					o = i.rtlTranslate ? -1 : 1,
2755					l = re.normalize(t);
2756				if (s.forceToAxis)
2757					if (i.isHorizontal()) {
2758						if (!(Math.abs(l.pixelX) > Math.abs(l.pixelY))) return !0;
2759						r = -l.pixelX * o
2760					} else {
2761						if (!(Math.abs(l.pixelY) > Math.abs(l.pixelX))) return !0;
2762						r = -l.pixelY
2763					} else r = Math.abs(l.pixelX) > Math.abs(l.pixelY) ? -l.pixelX * o : -l
2764					.pixelY;
2765				if (0 === r) return !0;
2766				if (s.invert && (r = -r), i.params.freeMode) {
2767					var h = {
2768							time: d.now(),
2769							delta: Math.abs(r),
2770							direction: Math.sign(r)
2771						},
2772						p = i.mousewheel.lastEventBeforeSnap,
2773						c = p && h.time < p.time + 500 && h.delta <= p.delta && h.direction ===
2774						p.direction;
2775					if (!c) {
2776						i.mousewheel.lastEventBeforeSnap = void 0, i.params.loop && i.loopFix();
2777						var u = i.getTranslate() + r * s.sensitivity,
2778							v = i.isBeginning,
2779							f = i.isEnd;
2780						if (u >= i.minTranslate() && (u = i.minTranslate()), u <= i.maxTranslate() &&
2781							(u = i.maxTranslate()), i.setTransition(0), i.setTranslate(u), i.updateProgress(),
2782							i.updateActiveIndex(), i.updateSlidesClasses(), (!v && i.isBeginning ||
2783								!f && i.isEnd) && i.updateSlidesClasses(), i.params.freeModeSticky) {
2784							clearTimeout(i.mousewheel.timeout), i.mousewheel.timeout = void 0;
2785							var m = i.mousewheel.recentWheelEvents;
2786							m.length >= 15 && m.shift();
2787							var g = m.length ? m[m.length - 1] : void 0,
2788								b = m[0];
2789							if (m.push(h), g && (h.delta > g.delta || h.direction !== g.direction))
2790								m.splice(0);
2791							else if (m.length >= 15 && h.time - b.time < 500 && b.delta - h.delta >=
2792								1 && h.delta <= 6) {
2793								var w = r > 0 ? .8 : .2;
2794								i.mousewheel.lastEventBeforeSnap = h, m.splice(0), i.mousewheel.timeout =
2795									d.nextTick((function() {
2796										i.slideToClosest(i.params.speed, !0, void 0, w)
2797									}), 0)
2798							}
2799							i.mousewheel.timeout || (i.mousewheel.timeout = d.nextTick((function() {
2800								i.mousewheel.lastEventBeforeSnap = h, m.splice(0), i.slideToClosest(
2801									i.params.speed, !0, void 0, .5)
2802							}), 500))
2803						}
2804						if (c || i.emit("scroll", t), i.params.autoplay && i.params.autoplayDisableOnInteraction &&
2805							i.autoplay.stop(), u === i.minTranslate() || u === i.maxTranslate())
2806							return !0
2807					}
2808				} else {
2809					var y = {
2810							time: d.now(),
2811							delta: Math.abs(r),
2812							direction: Math.sign(r),
2813							raw: e
2814						},
2815						x = i.mousewheel.recentWheelEvents;
2816					x.length >= 2 && x.shift();
2817					var E = x.length ? x[x.length - 1] : void 0;
2818					if (x.push(y), E ? (y.direction !== E.direction || y.delta > E.delta ||
2819							y.time > E.time + 150) && i.mousewheel.animateSlider(y) : i.mousewheel
2820						.animateSlider(y), i.mousewheel.releaseScroll(y)) return !0
2821				}
2822				return t.preventDefault ? t.preventDefault() : t.returnValue = !1, !1
2823			},
2824			animateSlider: function(e) {
2825				return e.delta >= 6 && d.now() - this.mousewheel.lastScrollTime < 60 ||
2826					(e.direction < 0 ? this.isEnd && !this.params.loop || this.animating ||
2827						(this.slideNext(), this.emit("scroll", e.raw)) : this.isBeginning && !
2828						this.params.loop || this.animating || (this.slidePrev(), this.emit(
2829							"scroll", e.raw)), this.mousewheel.lastScrollTime = (new a.Date).getTime(), !
2830						1)
2831			},
2832			releaseScroll: function(e) {
2833				var t = this.params.mousewheel;
2834				if (e.direction < 0) {
2835					if (this.isEnd && !this.params.loop && t.releaseOnEdges) return !0
2836				} else if (this.isBeginning && !this.params.loop && t.releaseOnEdges)
2837					return !0;
2838				return !1
2839			},
2840			enable: function() {
2841				var e = re.event();
2842				if (this.params.cssMode) return this.wrapperEl.removeEventListener(e,
2843					this.mousewheel.handle), !0;
2844				if (!e) return !1;
2845				if (this.mousewheel.enabled) return !1;
2846				var t = this.$el;
2847				return "container" !== this.params.mousewheel.eventsTarged && (t = n(
2848						this.params.mousewheel.eventsTarged)), t.on("mouseenter", this.mousewheel
2849						.handleMouseEnter), t.on("mouseleave", this.mousewheel.handleMouseLeave),
2850					t.on(e, this.mousewheel.handle), this.mousewheel.enabled = !0, !0
2851			},
2852			disable: function() {
2853				var e = re.event();
2854				if (this.params.cssMode) return this.wrapperEl.addEventListener(e, this.mousewheel
2855					.handle), !0;
2856				if (!e) return !1;
2857				if (!this.mousewheel.enabled) return !1;
2858				var t = this.$el;
2859				return "container" !== this.params.mousewheel.eventsTarged && (t = n(
2860						this.params.mousewheel.eventsTarged)), t.off(e, this.mousewheel.handle),
2861					this.mousewheel.enabled = !1, !0
2862			}
2863		},
2864		ne = {
2865			update: function() {
2866				var e = this.params.navigation;
2867				if (!this.params.loop) {
2868					var t = this.navigation,
2869						i = t.$nextEl,
2870						s = t.$prevEl;
2871					s && s.length > 0 && (this.isBeginning ? s.addClass(e.disabledClass) :
2872						s.removeClass(e.disabledClass), s[this.params.watchOverflow && this.isLocked ?
2873							"addClass" : "removeClass"](e.lockClass)), i && i.length > 0 && (
2874						this.isEnd ? i.addClass(e.disabledClass) : i.removeClass(e.disabledClass),
2875						i[this.params.watchOverflow && this.isLocked ? "addClass" :
2876							"removeClass"](e.lockClass))
2877				}
2878			},
2879			onPrevClick: function(e) {
2880				e.preventDefault(), this.isBeginning && !this.params.loop || this.slidePrev()
2881			},
2882			onNextClick: function(e) {
2883				e.preventDefault(), this.isEnd && !this.params.loop || this.slideNext()
2884			},
2885			init: function() {
2886				var e, t, i = this.params.navigation;
2887				(i.nextEl || i.prevEl) && (i.nextEl && (e = n(i.nextEl), this.params.uniqueNavElements &&
2888						"string" == typeof i.nextEl && e.length > 1 && 1 === this.$el.find(i.nextEl)
2889						.length && (e = this.$el.find(i.nextEl))), i.prevEl && (t = n(i.prevEl),
2890						this.params.uniqueNavElements && "string" == typeof i.prevEl && t.length >
2891						1 && 1 === this.$el.find(i.prevEl).length && (t = this.$el.find(i.prevEl))
2892					), e && e.length > 0 && e.on("click", this.navigation.onNextClick), t &&
2893					t.length > 0 && t.on("click", this.navigation.onPrevClick), d.extend(
2894						this.navigation, {
2895							$nextEl: e,
2896							nextEl: e && e[0],
2897							$prevEl: t,
2898							prevEl: t && t[0]
2899						}))
2900			},
2901			destroy: function() {
2902				var e = this.navigation,
2903					t = e.$nextEl,
2904					i = e.$prevEl;
2905				t && t.length && (t.off("click", this.navigation.onNextClick), t.removeClass(
2906					this.params.navigation.disabledClass)), i && i.length && (i.off(
2907					"click", this.navigation.onPrevClick), i.removeClass(this.params.navigation
2908					.disabledClass))
2909			}
2910		},
2911		oe = {
2912			update: function() {
2913				var e = this.rtl,
2914					t = this.params.pagination;
2915				if (t.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination
2916					.$el.length) {
2917					var i, s = this.virtual && this.params.virtual.enabled ? this.virtual.slides
2918						.length : this.slides.length,
2919						a = this.pagination.$el,
2920						r = this.params.loop ? Math.ceil((s - 2 * this.loopedSlides) / this.params
2921							.slidesPerGroup) : this.snapGrid.length;
2922					if (this.params.loop ? ((i = Math.ceil((this.activeIndex - this.loopedSlides) /
2923								this.params.slidesPerGroup)) > s - 1 - 2 * this.loopedSlides && (i -=
2924								s - 2 * this.loopedSlides), i > r - 1 && (i -= r), i < 0 &&
2925							"bullets" !== this.params.paginationType && (i = r + i)) : i = void 0 !==
2926						this.snapIndex ? this.snapIndex : this.activeIndex || 0, "bullets" ===
2927						t.type && this.pagination.bullets && this.pagination.bullets.length >
2928						0) {
2929						var o, l, d, h = this.pagination.bullets;
2930						if (t.dynamicBullets && (this.pagination.bulletSize = h.eq(0)[this.isHorizontal() ?
2931									"outerWidth" : "outerHeight"](!0), a.css(this.isHorizontal() ?
2932									"width" : "height", this.pagination.bulletSize * (t.dynamicMainBullets +
2933										4) + "px"), t.dynamicMainBullets > 1 && void 0 !== this.previousIndex &&
2934								(this.pagination.dynamicBulletIndex += i - this.previousIndex, this.pagination
2935									.dynamicBulletIndex > t.dynamicMainBullets - 1 ? this.pagination.dynamicBulletIndex =
2936									t.dynamicMainBullets - 1 : this.pagination.dynamicBulletIndex < 0 &&
2937									(this.pagination.dynamicBulletIndex = 0)), o = i - this.pagination.dynamicBulletIndex,
2938								d = ((l = o + (Math.min(h.length, t.dynamicMainBullets) - 1)) + o) /
2939								2), h.removeClass(t.bulletActiveClass + " " + t.bulletActiveClass +
2940								"-next " + t.bulletActiveClass + "-next-next " + t.bulletActiveClass +
2941								"-prev " + t.bulletActiveClass + "-prev-prev " + t.bulletActiveClass +
2942								"-main"), a.length > 1) h.each((function(e, s) {
2943							var a = n(s),
2944								r = a.index();
2945							r === i && a.addClass(t.bulletActiveClass), t.dynamicBullets && (r >=
2946								o && r <= l && a.addClass(t.bulletActiveClass + "-main"), r ===
2947								o && a.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(
2948									t.bulletActiveClass + "-prev-prev"), r === l && a.next().addClass(
2949									t.bulletActiveClass + "-next").next().addClass(t.bulletActiveClass +
2950									"-next-next"))
2951						}));
2952						else {
2953							var p = h.eq(i),
2954								c = p.index();
2955							if (p.addClass(t.bulletActiveClass), t.dynamicBullets) {
2956								for (var u = h.eq(o), v = h.eq(l), f = o;
2956 f <= l; f += 1) h.eq(f).addClass(
2957									t.bulletActiveClass + "-main");
2958								if (this.params.loop)
2959									if (c >= h.length - t.dynamicMainBullets) {
2960										for (var m = t.dynamicMainBullets; m >= 0; m -= 1) h.eq(h.length -
2961											m).addClass(t.bulletActiveClass + "-main");
2962										h.eq(h.length - t.dynamicMainBullets - 1).addClass(t.bulletActiveClass +
2963											"-prev")
2964									} else u.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(
2965										t.bulletActiveClass + "-prev-prev"), v.next().addClass(t.bulletActiveClass +
2966										"-next").next().addClass(t.bulletActiveClass + "-next-next");
2967								else u.prev().addClass(t.bulletActiveClass + "-prev").prev().addClass(
2968									t.bulletActiveClass + "-prev-prev"), v.next().addClass(t.bulletActiveClass +
2969									"-next").next().addClass(t.bulletActiveClass + "-next-next")
2970							}
2971						}
2972						if (t.dynamicBullets) {
2973							var g = Math.min(h.length, t.dynamicMainBullets + 4),
2974								b = (this.pagination.bulletSize * g - this.pagination.bulletSize) /
2975								2 - d * this.pagination.bulletSize,
2976								w = e ? "right" : "left";
2977							h.css(this.isHorizontal() ? w : "top", b + "px")
2978						}
2979					}
2980					if ("fraction" === t.type && (a.find("." + t.currentClass).text(t.formatFractionCurrent(
2981							i + 1)), a.find("." + t.totalClass).text(t.formatFractionTotal(r))),
2982						"progressbar" === t.type) {
2983						var y;
2984						y = t.progressbarOpposite ? this.isHorizontal() ? "vertical" :
2985							"horizontal" : this.isHorizontal() ? "horizontal" : "vertical";
2986						var x = (i + 1) / r,
2987							E = 1,
2988							T = 1;
2989						"horizontal" === y ? E = x : T = x, a.find("." + t.progressbarFillClass)
2990							.transform("translate3d(0,0,0) scaleX(" + E + ") scaleY(" + T + ")").transition(
2991								this.params.speed)
2992					}
2993					"custom" === t.type && t.renderCustom ? (a.html(t.renderCustom(this, i +
2994						1, r)), this.emit("paginationRender", this, a[0])) : this.emit(
2995						"paginationUpdate", this, a[0]), a[this.params.watchOverflow && this.isLocked ?
2996						"addClass" : "removeClass"](t.lockClass)
2997				}
2998			},
2999			render: function() {
3000				var e = this.params.pagination;
3001				if (e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination
3002					.$el.length) {
3003					var t = this.virtual && this.params.virtual.enabled ? this.virtual.slides
3004						.length : this.slides.length,
3005						i = this.pagination.$el,
3006						s = "";
3007					if ("bullets" === e.type) {
3008						for (var a = this.params.loop ? Math.ceil((t - 2 * this.loopedSlides) /
3009								this.params.slidesPerGroup) : this.snapGrid.length, r = 0; r < a; r +=
3010							1) e.renderBullet ? s += e.renderBullet.call(this, r, e.bulletClass) :
3011							s += "<" + e.bulletElement + ' class="' + e.bulletClass + '"></' + e.bulletElement +
3012							">";
3013						i.html(s), this.pagination.bullets = i.find("." + e.bulletClass)
3014					}
3015					"fraction" === e.type && (s = e.renderFraction ? e.renderFraction.call(
3016								this, e.currentClass, e.totalClass) : '<span class="' + e.currentClass +
3017							'"></span> / <span class="' + e.totalClass + '"></span>', i.html(s)),
3018						"progressbar" === e.type && (s = e.renderProgressbar ? e.renderProgressbar
3019							.call(this, e.progressbarFillClass) : '<span class="' + e.progressbarFillClass +
3020							'"></span>', i.html(s)), "custom" !== e.type && this.emit(
3021							"paginationRender", this.pagination.$el[0])
3022				}
3023			},
3024			init: function() {
3025				var e = this,
3026					t = e.params.pagination;
3027				if (t.el) {
3028					var i = n(t.el);
3029					0 !== i.length && (e.params.uniqueNavElements && "string" == typeof t.el &&
3030						i.length > 1 && (i = e.$el.find(t.el)), "bullets" === t.type && t.clickable &&
3031						i.addClass(t.clickableClass), i.addClass(t.modifierClass + t.type),
3032						"bullets" === t.type && t.dynamicBullets && (i.addClass("" + t.modifierClass +
3033								t.type + "-dynamic"), e.pagination.dynamicBulletIndex = 0, t.dynamicMainBullets <
3034							1 && (t.dynamicMainBullets = 1)), "progressbar" === t.type && t.progressbarOpposite &&
3035						i.addClass(t.progressbarOppositeClass), t.clickable && i.on("click",
3036							"." + t.bulletClass, (function(t) {
3037								t.preventDefault();
3038								var i = n(this).index() * e.params.slidesPerGroup;
3039								e.params.loop && (i += e.loopedSlides), e.slideTo(i)
3040							})), d.extend(e.pagination, {
3041							$el: i,
3042							el: i[0]
3043						}))
3044				}
3045			},
3046			destroy: function() {
3047				var e = this.params.pagination;
3048				if (e.el && this.pagination.el && this.pagination.$el && 0 !== this.pagination
3049					.$el.length) {
3050					var t = this.pagination.$el;
3051					t.removeClass(e.hiddenClass), t.removeClass(e.modifierClass + e.type),
3052						this.pagination.bullets && this.pagination.bullets.removeClass(e.bulletActiveClass),
3053						e.clickable && t.off("click", "." + e.bulletClass)
3054				}
3055			}
3056		},
3057		le = {
3058			setTranslate: function() {
3059				if (this.params.scrollbar.el && this.scrollbar.el) {
3060					var e = this.scrollbar,
3061						t = this.rtlTranslate,
3062						i = this.progress,
3063						s = e.dragSize,
3064						a = e.trackSize,
3065						r = e.$dragEl,
3066						n = e.$el,
3067						o = this.params.scrollbar,
3068						l = s,
3069						d = (a - s) * i;
3070					t ? (d = -d) > 0 ? (l = s - d, d = 0) : -d + s > a && (l = a + d) : d <
3071						0 ? (l = s + d, d = 0) : d + s > a && (l = a - d), this.isHorizontal() ?
3072						(r.transform("translate3d(" + d + "px, 0, 0)"), r[0].style.width = l +
3073							"px") : (r.transform("translate3d(0px, " + d + "px, 0)"), r[0].style.height =
3074							l + "px"), o.hide && (clearTimeout(this.scrollbar.timeout), n[0].style
3075							.opacity = 1, this.scrollbar.timeout = setTimeout((function() {
3076								n[0].style.opacity = 0, n.transition(400)
3077							}), 1e3))
3078				}
3079			},
3080			setTransition: function(e) {
3081				this.params.scrollbar.el && this.scrollbar.el && this.scrollbar.$dragEl.transition(
3082					e)
3083			},
3084			updateSize: function() {
3085				if (this.params.scrollbar.el && this.scrollbar.el) {
3086					var e = this.scrollbar,
3087						t = e.$dragEl,
3088						i = e.$el;
3089					t[0].style.width = "", t[0].style.height = "";
3090					var s, a = this.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight,
3091						r = this.size / this.virtualSize,
3092						n = r * (a / this.size);
3093					s = "auto" === this.params.scrollbar.dragSize ? a * r : parseInt(this.params
3094							.scrollbar.dragSize, 10), this.isHorizontal() ? t[0].style.width = s +
3095						"px" : t[0].style.height = s + "px", i[0].style.display = r >= 1 ?
3096						"none" : "", this.params.scrollbar.hide && (i[0].style.opacity = 0), d
3097						.extend(e, {
3098							trackSize: a,
3099							divider: r,
3100							moveDivider: n,
3101							dragSize: s
3102						}), e.$el[this.params.watchOverflow && this.isLocked ? "addClass" :
3103							"removeClass"](this.params.scrollbar.lockClass)
3104				}
3105			},
3106			getPointerPosition: function(e) {
3107				return this.isHorizontal() ? "touchstart" === e.type || "touchmove" ===
3108					e.type ? e.targetTouches[0].clientX : e.clientX : "touchstart" === e.type ||
3109					"touchmove" === e.type ? e.targetTouches[0].clientY : e.clientY
3110			},
3111			setDragPosition: function(e) {
3112				var t, i = this.scrollbar,
3113					s = this.rtlTranslate,
3114					a = i.$el,
3115					r = i.dragSize,
3116					n = i.trackSize,
3117					o = i.dragStartPos;
3118				t = (i.getPointerPosition(e) - a.offset()[this.isHorizontal() ? "left" :
3119					"top"] - (null !== o ? o : r / 2)) / (n - r), t = Math.max(Math.min(t,
3120					1), 0), s && (t = 1 - t);
3121				var l = this.minTranslate() + (this.maxTranslate() - this.minTranslate()) *
3122					t;
3123				this.updateProgress(l), this.setTranslate(l), this.updateActiveIndex(),
3124					this.updateSlidesClasses()
3125			},
3126			onDragStart: function(e) {
3127				var t = this.params.scrollbar,
3128					i = this.scrollbar,
3129					s = this.$wrapperEl,
3130					a = i.$el,
3131					r = i.$dragEl;
3132				this.scrollbar.isTouched = !0, this.scrollbar.dragStartPos = e.target ===
3133					r[0] || e.target === r ? i.getPointerPosition(e) - e.target.getBoundingClientRect()[
3134						this.isHorizontal() ? "left" : "top"] : null, e.preventDefault(), e.stopPropagation(),
3135					s.transition(100), r.transition(100), i.setDragPosition(e),
3136					clearTimeout(this.scrollbar.dragTimeout), a.transition(0), t.hide && a.css(
3137						"opacity", 1), this.params.cssMode && this.$wrapperEl.css(
3138						"scroll-snap-type", "none"), this.emit("scrollbarDragStart", e)
3139			},
3140			onDragMove: function(e) {
3141				var t = this.scrollbar,
3142					i = this.$wrapperEl,
3143					s = t.$el,
3144					a = t.$dragEl;
3145				this.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !
3146					1, t.setDragPosition(e), i.transition(0), s.transition(0), a.transition(
3147						0), this.emit("scrollbarDragMove", e))
3148			},
3149			onDragEnd: function(e) {
3150				var t = this.params.scrollbar,
3151					i = this.scrollbar,
3152					s = this.$wrapperEl,
3153					a = i.$el;
3154				this.scrollbar.isTouched && (this.scrollbar.isTouched = !1, this.params.cssMode &&
3155					(this.$wrapperEl.css("scroll-snap-type", ""), s.transition("")), t.hide &&
3156					(clearTimeout(this.scrollbar.dragTimeout), this.scrollbar.dragTimeout =
3157						d.nextTick((function() {
3158							a.css("opacity", 0), a.transition(400)
3159						}), 1e3)), this.emit("scrollbarDragEnd", e), t.snapOnRelease && this.slideToClosest()
3160				)
3161			},
3162			enableDraggable: function() {
3163				if (this.params.scrollbar.el) {
3164					var e = this.scrollbar,
3165						t = this.touchEventsTouch,
3166						s = this.touchEventsDesktop,
3167						a = this.params,
3168						r = e.$el[0],
3169						n = !(!h.passiveListener || !a.passiveListeners) && {
3170							passive: !1,
3171							capture: !1
3172						},
3173						o = !(!h.passiveListener || !a.passiveListeners) && {
3174							passive: !0,
3175							capture: !1
3176						};
3177					h.touch ? (r.addEventListener(t.start, this.scrollbar.onDragStart, n),
3178						r.addEventListener(t.move, this.scrollbar.onDragMove, n), r.addEventListener(
3179							t.end, this.scrollbar.onDragEnd, o)) : (r.addEventListener(s.start,
3180						this.scrollbar.onDragStart, n), i.addEventListener(s.move, this.scrollbar
3181						.onDragMove, n), i.addEventListener(s.end, this.scrollbar.onDragEnd,
3182						o))
3183				}
3184			},
3185			disableDraggable: function() {
3186				if (this.params.scrollbar.el) {
3187					var e = this.scrollbar,
3188						t = this.touchEventsTouch,
3189						s = this.touchEventsDesktop,
3190						a = this.params,
3191						r = e.$el[0],
3192						n = !(!h.passiveListener || !a.passiveListeners) && {
3193							passive: !1,
3194							capture: !1
3195						},
3196						o = !(!h.passiveListener || !a.passiveListeners) && {
3197							passive: !0,
3198							capture: !1
3199						};
3200					h.touch ? (r.removeEventListener(t.start, this.scrollbar.onDragStart, n),
3201						r.removeEventListener(t.move, this.scrollbar.onDragMove, n), r.removeEventListener(
3202							t.end, this.scrollbar.onDragEnd, o)) : (r.removeEventListener(s.start,
3203						this.scrollbar.onDragStart, n), i.removeEventListener(s.move, this.scrollbar
3204						.onDragMove, n), i.removeEventListener(s.end, this.scrollbar.onDragEnd,
3205						o))
3206				}
3207			},
3208			init: function() {
3209				if (this.params.scrollbar.el) {
3210					var e = this.scrollbar,
3211						t = this.$el,
3212						i = this.params.scrollbar,
3213						s = n(i.el);
3214					this.params.uniqueNavElements && "string" == typeof i.el && s.length >
3215						1 && 1 === t.find(i.el).length && (s = t.find(i.el));
3216					var a = s.find("." + this.params.scrollbar.dragClass);
3217					0 === a.length && (a = n('<div class="' + this.params.scrollbar.dragClass +
3218						'"></div>'), s.append(a)), d.extend(e, {
3219						$el: s,
3220						el: s[0],
3221						$dragEl: a,
3222						dragEl: a[0]
3223					}), i.draggable && e.enableDraggable()
3224				}
3225			},
3226			destroy: function() {
3227				this.scrollbar.disableDraggable()
3228			}
3229		},
3230		de = {
3231			setTransform: function(e, t) {
3232				var i = this.rtl,
3233					s = n(e),
3234					a = i ? -1 : 1,
3235					r = s.attr("data-swiper-parallax") || "0",
3236					o = s.attr("data-swiper-parallax-x"),
3237					l = s.attr("data-swiper-parallax-y"),
3238					d = s.attr("data-swiper-parallax-scale"),
3239					h = s.attr("data-swiper-parallax-opacity");
3240				if (o || l ? (o = o || "0", l = l || "0") : this.isHorizontal() ? (o = r,
3241						l = "0") : (l = r, o = "0"), o = o.indexOf("%") >= 0 ? parseInt(o, 10) *
3242					t * a + "%" : o * t * a + "px", l = l.indexOf("%") >= 0 ? parseInt(l,
3243						10) * t + "%" : l * t + "px", null != h) {
3244					var p = h - (h - 1) * (1 - Math.abs(t));
3245					s[0].style.opacity = p
3246				}
3247				if (null == d) s.transform("translate3d(" + o + ", " + l + ", 0px)");
3248				else {
3249					var c = d - (d - 1) * (1 - Math.abs(t));
3250					s.transform("translate3d(" + o + ", " + l + ", 0px) scale(" + c + ")")
3251				}
3252			},
3253			setTranslate: function() {
3254				var e = this,
3255					t = e.$el,
3256					i = e.slides,
3257					s = e.progress,
3258					a = e.snapGrid;
3259				t.children(
3260					"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
3261				).each((function(t, i) {
3262					e.parallax.setTransform(i, s)
3263				})), i.each((function(t, i) {
3264					var r = i.progress;
3265					e.params.slidesPerGroup > 1 && "auto" !== e.params.slidesPerView &&
3266						(r += Math.ceil(t / 2) - s * (a.length - 1)), r = Math.min(Math.max(
vendor: 17,648 bytes, lines 3267-3651
3267							r, -1), 1), n(i).find(
3268							"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
3269						).each((function(t, i) {
3270							e.parallax.setTransform(i, r)
3271						}))
3272				}))
3273			},
3274			setTransition: function(e) {
3275				void 0 === e && (e = this.params.speed);
3276				this.$el.find(
3277					"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
3278				).each((function(t, i) {
3279					var s = n(i),
3280						a = parseInt(s.attr("data-swiper-parallax-duration"), 10) || e;
3281					0 === e && (a = 0), s.transition(a)
3282				}))
3283			}
3284		},
3285		he = {
3286			getDistanceBetweenTouches: function(e) {
3287				if (e.targetTouches.length < 2) return 1;
3288				var t = e.targetTouches[0].pageX,
3289					i = e.targetTouches[0].pageY,
3290					s = e.targetTouches[1].pageX,
3291					a = e.targetTouches[1].pageY;
3292				return Math.sqrt(Math.pow(s - t, 2) + Math.pow(a - i, 2))
3293			},
3294			onGestureStart: function(e) {
3295				var t = this.params.zoom,
3296					i = this.zoom,
3297					s = i.gesture;
3298				if (i.fakeGestureTouched = !1, i.fakeGestureMoved = !1, !h.gestures) {
3299					if ("touchstart" !== e.type || "touchstart" === e.type && e.targetTouches
3300						.length < 2) return;
3301					i.fakeGestureTouched = !0, s.scaleStart = he.getDistanceBetweenTouches(
3302						e)
3303				}
3304				s.$slideEl && s.$slideEl.length || (s.$slideEl = n(e.target).closest("." +
3305							this.params.slideClass), 0 === s.$slideEl.length && (s.$slideEl =
3306							this.slides.eq(this.activeIndex)), s.$imageEl = s.$slideEl.find(
3307							"img, svg, canvas, picture, .swiper-zoom-target"), s.$imageWrapEl = s
3308						.$imageEl.parent("." + t.containerClass), s.maxRatio = s.$imageWrapEl.attr(
3309							"data-swiper-zoom") || t.maxRatio, 0 !== s.$imageWrapEl.length) ? (s.$imageEl &&
3310						s.$imageEl.transition(0), this.zoom.isScaling = !0) : s.$imageEl =
3311					void 0
3312			},
3313			onGestureChange: function(e) {
3314				var t = this.params.zoom,
3315					i = this.zoom,
3316					s = i.gesture;
3317				if (!h.gestures) {
3318					if ("touchmove" !== e.type || "touchmove" === e.type && e.targetTouches
3319						.length < 2) return;
3320					i.fakeGestureMoved = !0, s.scaleMove = he.getDistanceBetweenTouches(e)
3321				}
3322				s.$imageEl && 0 !== s.$imageEl.length && (i.scale = h.gestures ? e.scale *
3323					i.currentScale : s.scaleMove / s.scaleStart * i.currentScale, i.scale >
3324					s.maxRatio && (i.scale = s.maxRatio - 1 + Math.pow(i.scale - s.maxRatio +
3325						1, .5)), i.scale < t.minRatio && (i.scale = t.minRatio + 1 - Math.pow(
3326						t.minRatio - i.scale + 1, .5)), s.$imageEl.transform(
3327						"translate3d(0,0,0) scale(" + i.scale + ")"))
3328			},
3329			onGestureEnd: function(e) {
3330				var t = this.params.zoom,
3331					i = this.zoom,
3332					s = i.gesture;
3333				if (!h.gestures) {
3334					if (!i.fakeGestureTouched || !i.fakeGestureMoved) return;
3335					if ("touchend" !== e.type || "touchend" === e.type && e.changedTouches.length <
3336						2 && !A.android) return;
3337					i.fakeGestureTouched = !1, i.fakeGestureMoved = !1
3338				}
3339				s.$imageEl && 0 !== s.$imageEl.length && (i.scale = Math.max(Math.min(i.scale,
3340						s.maxRatio), t.minRatio), s.$imageEl.transition(this.params.speed).transform(
3341						"translate3d(0,0,0) scale(" + i.scale + ")"), i.currentScale = i.scale,
3342					i.isScaling = !1, 1 === i.scale && (s.$slideEl = void 0))
3343			},
3344			onTouchStart: function(e) {
3345				var t = this.zoom,
3346					i = t.gesture,
3347					s = t.image;
3348				i.$imageEl && 0 !== i.$imageEl.length && (s.isTouched || (A.android && e
3349					.cancelable && e.preventDefault(), s.isTouched = !0, s.touchesStart.x =
3350					"touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesStart
3351					.y = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY))
3352			},
3353			onTouchMove: function(e) {
3354				var t = this.zoom,
3355					i = t.gesture,
3356					s = t.image,
3357					a = t.velocity;
3358				if (i.$imageEl && 0 !== i.$imageEl.length && (this.allowClick = !1, s.isTouched &&
3359						i.$slideEl)) {
3360					s.isMoved || (s.width = i.$imageEl[0].offsetWidth, s.height = i.$imageEl[
3361							0].offsetHeight, s.startX = d.getTranslate(i.$imageWrapEl[0], "x") ||
3362						0, s.startY = d.getTranslate(i.$imageWrapEl[0], "y") || 0, i.slideWidth =
3363						i.$slideEl[0].offsetWidth, i.slideHeight = i.$slideEl[0].offsetHeight,
3364						i.$imageWrapEl.transition(0), this.rtl && (s.startX = -s.startX, s.startY = -
3365							s.startY));
3366					var r = s.width * t.scale,
3367						n = s.height * t.scale;
3368					if (!(r < i.slideWidth && n < i.slideHeight)) {
3369						if (s.minX = Math.min(i.slideWidth / 2 - r / 2, 0), s.maxX = -s.minX,
3370							s.minY = Math.min(i.slideHeight / 2 - n / 2, 0), s.maxY = -s.minY, s.touchesCurrent
3371							.x = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, s.touchesCurrent
3372							.y = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, !s.isMoved &&
3373							!t.isScaling) {
3374							if (this.isHorizontal() && (Math.floor(s.minX) === Math.floor(s.startX) &&
3375									s.touchesCurrent.x < s.touchesStart.x || Math.floor(s.maxX) ===
3376									Math.floor(s.startX) && s.touchesCurrent.x > s.touchesStart.x))
3377								return void(s.isTouched = !1);
3378							if (!this.isHorizontal() && (Math.floor(s.minY) === Math.floor(s.startY) &&
3379									s.touchesCurrent.y < s.touchesStart.y || Math.floor(s.maxY) ===
3380									Math.floor(s.startY) && s.touchesCurrent.y > s.touchesStart.y))
3381								return void(s.isTouched = !1)
3382						}
3383						e.cancelable && e.preventDefault(), e.stopPropagation(), s.isMoved = !
3384							0, s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX, s.currentY =
3385							s.touchesCurrent.y - s.touchesStart.y + s.startY, s.currentX < s.minX &&
3386							(s.currentX = s.minX + 1 - Math.pow(s.minX - s.currentX + 1, .8)), s.currentX >
3387							s.maxX && (s.currentX = s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1,
3388								.8)), s.currentY < s.minY && (s.currentY = s.minY + 1 - Math.pow(s.minY -
3389								s.currentY + 1, .8)), s.currentY > s.maxY && (s.currentY = s.maxY -
3390								1 + Math.pow(s.currentY - s.maxY + 1, .8)), a.prevPositionX || (a.prevPositionX =
3391								s.touchesCurrent.x), a.prevPositionY || (a.prevPositionY = s.touchesCurrent
3392								.y), a.prevTime || (a.prevTime = Date.now()), a.x = (s.touchesCurrent
3393								.x - a.prevPositionX) / (Date.now() - a.prevTime) / 2, a.y = (s.touchesCurrent
3394								.y - a.prevPositionY) / (Date.now() - a.prevTime) / 2, Math.abs(s.touchesCurrent
3395								.x - a.prevPositionX) < 2 && (a.x = 0), Math.abs(s.touchesCurrent.y -
3396								a.prevPositionY) < 2 && (a.y = 0), a.prevPositionX = s.touchesCurrent
3397							.x, a.prevPositionY = s.touchesCurrent.y, a.prevTime = Date.now(), i.$imageWrapEl
3398							.transform("translate3d(" + s.currentX + "px, " + s.currentY +
3399								"px,0)")
3400					}
3401				}
3402			},
3403			onTouchEnd: function() {
3404				var e = this.zoom,
3405					t = e.gesture,
3406					i = e.image,
3407					s = e.velocity;
3408				if (t.$imageEl && 0 !== t.$imageEl.length) {
3409					if (!i.isTouched || !i.isMoved) return i.isTouched = !1, void(i.isMoved = !
3410						1);
3411					i.isTouched = !1, i.isMoved = !1;
3412					var a = 300,
3413						r = 300,
3414						n = s.x * a,
3415						o = i.currentX + n,
3416						l = s.y * r,
3417						d = i.currentY + l;
3418					0 !== s.x && (a = Math.abs((o - i.currentX) / s.x)), 0 !== s.y && (r =
3419						Math.abs((d - i.currentY) / s.y));
3420					var h = Math.max(a, r);
3421					i.currentX = o, i.currentY = d;
3422					var p = i.width * e.scale,
3423						c = i.height * e.scale;
3424					i.minX = Math.min(t.slideWidth / 2 - p / 2, 0), i.maxX = -i.minX, i.minY =
3425						Math.min(t.slideHeight / 2 - c / 2, 0), i.maxY = -i.minY, i.currentX =
3426						Math.max(Math.min(i.currentX, i.maxX), i.minX), i.currentY = Math.max(
3427							Math.min(i.currentY, i.maxY), i.minY), t.$imageWrapEl.transition(h).transform(
3428							"translate3d(" + i.currentX + "px, " + i.currentY + "px,0)")
3429				}
3430			},
3431			onTransitionEnd: function() {
3432				var e = this.zoom,
3433					t = e.gesture;
3434				t.$slideEl && this.previousIndex !== this.activeIndex && (t.$imageEl &&
3435					t.$imageEl.transform("translate3d(0,0,0) scale(1)"), t.$imageWrapEl &&
3436					t.$imageWrapEl.transform("translate3d(0,0,0)"), e.scale = 1, e.currentScale =
3437					1, t.$slideEl = void 0, t.$imageEl = void 0, t.$imageWrapEl = void 0)
3438			},
3439			toggle: function(e) {
3440				var t = this.zoom;
3441				t.scale && 1 !== t.scale ? t.out() : t.in(e)
3442			},
3443			in : function(e) {
3444				var t, i, s, a, r, n, o, l, d, h, p, c, u, v, f, m, g = this.zoom,
3445					b = this.params.zoom,
3446					w = g.gesture,
3447					y = g.image;
3448				(w.$slideEl || (this.params.virtual && this.params.virtual.enabled &&
3449						this.virtual ? w.$slideEl = this.$wrapperEl.children("." + this.params
3450							.slideActiveClass) : w.$slideEl = this.slides.eq(this.activeIndex), w
3451						.$imageEl = w.$slideEl.find(
3452							"img, svg, canvas, picture, .swiper-zoom-target"), w.$imageWrapEl = w
3453						.$imageEl.parent("." + b.containerClass)), w.$imageEl && 0 !== w.$imageEl
3454					.length) && (w.$slideEl.addClass("" + b.zoomedSlideClass), void 0 === y
3455					.touchesStart.x && e ? (t = "touchend" === e.type ? e.changedTouches[0]
3456						.pageX : e.pageX, i = "touchend" === e.type ? e.changedTouches[0].pageY :
3457						e.pageY) : (t = y.touchesStart.x, i = y.touchesStart.y), g.scale = w.$imageWrapEl
3458					.attr("data-swiper-zoom") || b.maxRatio, g.currentScale = w.$imageWrapEl
3459					.attr("data-swiper-zoom") || b.maxRatio, e ? (f = w.$slideEl[0].offsetWidth,
3460						m = w.$slideEl[0].offsetHeight, s = w.$slideEl.offset().left + f / 2 -
3461						t, a = w.$slideEl.offset().top + m / 2 - i, o = w.$imageEl[0].offsetWidth,
3462						l = w.$imageEl[0].offsetHeight, d = o * g.scale, h = l * g.scale, u = -
3463						(p = Math.min(f / 2 - d / 2, 0)), v = -(c = Math.min(m / 2 - h / 2, 0)), (
3464							r = s * g.scale) < p && (r = p), r > u && (r = u), (n = a * g.scale) <
3465						c && (n = c), n > v && (n = v)) : (r = 0, n = 0), w.$imageWrapEl.transition(
3466						300).transform("translate3d(" + r + "px, " + n + "px,0)"), w.$imageEl.transition(
3467						300).transform("translate3d(0,0,0) scale(" + g.scale + ")"))
3468			},
3469			out: function() {
3470				var e = this.zoom,
3471					t = this.params.zoom,
3472					i = e.gesture;
3473				i.$slideEl || (this.params.virtual && this.params.virtual.enabled &&
3474						this.virtual ? i.$slideEl = this.$wrapperEl.children("." + this.params
3475							.slideActiveClass) : i.$slideEl = this.slides.eq(this.activeIndex), i
3476						.$imageEl = i.$slideEl.find(
3477							"img, svg, canvas, picture, .swiper-zoom-target"), i.$imageWrapEl = i
3478						.$imageEl.parent("." + t.containerClass)), i.$imageEl && 0 !== i.$imageEl
3479					.length && (e.scale = 1, e.currentScale = 1, i.$imageWrapEl.transition(
3480							300).transform("translate3d(0,0,0)"), i.$imageEl.transition(300).transform(
3481							"translate3d(0,0,0) scale(1)"), i.$slideEl.removeClass("" + t.zoomedSlideClass),
3482						i.$slideEl = void 0)
3483			},
3484			enable: function() {
3485				var e = this.zoom;
3486				if (!e.enabled) {
3487					e.enabled = !0;
3488					var t = !("touchstart" !== this.touchEvents.start || !h.passiveListener ||
3489							!this.params.passiveListeners) && {
3490							passive: !0,
3491							capture: !1
3492						},
3493						i = !h.passiveListener || {
3494							passive: !1,
3495							capture: !0
3496						},
3497						s = "." + this.params.slideClass;
3498					h.gestures ? (this.$wrapperEl.on("gesturestart", s, e.onGestureStart, t),
3499							this.$wrapperEl.on("gesturechange", s, e.onGestureChange, t), this.$wrapperEl
3500							.on("gestureend", s, e.onGestureEnd, t)) : "touchstart" === this.touchEvents
3501						.start && (this.$wrapperEl.on(this.touchEvents.start, s, e.onGestureStart,
3502								t), this.$wrapperEl.on(this.touchEvents.move, s, e.onGestureChange,
3503								i), this.$wrapperEl.on(this.touchEvents.end, s, e.onGestureEnd, t),
3504							this.touchEvents.cancel && this.$wrapperEl.on(this.touchEvents.cancel,
3505								s, e.onGestureEnd, t)), this.$wrapperEl.on(this.touchEvents.move,
3506							"." + this.params.zoom.containerClass, e.onTouchMove, i)
3507				}
3508			},
3509			disable: function() {
3510				var e = this.zoom;
3511				if (e.enabled) {
3512					this.zoom.enabled = !1;
3513					var t = !("touchstart" !== this.touchEvents.start || !h.passiveListener ||
3514							!this.params.passiveListeners) && {
3515							passive: !0,
3516							capture: !1
3517						},
3518						i = !h.passiveListener || {
3519							passive: !1,
3520							capture: !0
3521						},
3522						s = "." + this.params.slideClass;
3523					h.gestures ? (this.$wrapperEl.off("gesturestart", s, e.onGestureStart,
3524								t), this.$wrapperEl.off("gesturechange", s, e.onGestureChange, t),
3525							this.$wrapperEl.off("gestureend", s, e.onGestureEnd, t)) :
3526						"touchstart" === this.touchEvents.start && (this.$wrapperEl.off(this.touchEvents
3527								.start, s, e.onGestureStart, t), this.$wrapperEl.off(this.touchEvents
3528								.move, s, e.onGestureChange, i), this.$wrapperEl.off(this.touchEvents
3529								.end, s, e.onGestureEnd, t), this.touchEvents.cancel && this.$wrapperEl
3530							.off(this.touchEvents.cancel, s, e.onGestureEnd, t)), this.$wrapperEl
3531						.off(this.touchEvents.move, "." + this.params.zoom.containerClass, e.onTouchMove,
3532							i)
3533				}
3534			}
3535		},
3536		pe = {
3537			loadInSlide: function(e, t) {
3538				void 0 === t && (t = !0);
3539				var i = this,
3540					s = i.params.lazy;
3541				if (void 0 !== e && 0 !== i.slides.length) {
3542					var a = i.virtual && i.params.virtual.enabled ? i.$wrapperEl.children(
3543							"." + i.params.slideClass + '[data-swiper-slide-index="' + e + '"]') :
3544						i.slides.eq(e),
3545						r = a.find("." + s.elementClass + ":not(." + s.loadedClass + "):not(." +
3546							s.loadingClass + ")");
3547					!a.hasClass(s.elementClass) || a.hasClass(s.loadedClass) || a.hasClass(
3548						s.loadingClass) || (r = r.add(a[0])), 0 !== r.length && r.each((
3549						function(e, r) {
3550							var o = n(r);
3551							o.addClass(s.loadingClass);
3552							var l = o.attr("data-background"),
3553								d = o.attr("data-src"),
3554								h = o.attr("data-srcset"),
3555								p = o.attr("data-sizes"),
3556								c = o.parent("picture");
3557							i.loadImage(o[0], d || l, h, p, !1, (function() {
3558								if (null != i && i && (!i || i.params) && !i.destroyed) {
3559									if (l ? (o.css("background-image", 'url("' + l + '")'), o.removeAttr(
3560											"data-background")) : (h && (o.attr("srcset", h), o.removeAttr(
3561											"data-srcset")), p && (o.attr("sizes", p), o.removeAttr(
3562											"data-sizes")), c.length && c.children("source").each((
3563											function(e, t) {
3564												var i = n(t);
3565												i.attr("data-srcset") && (i.attr("srcset", i.attr(
3566													"data-srcset")), i.removeAttr("data-srcset"))
3567											})), d && (o.attr("src", d), o.removeAttr("data-src"))), o.addClass(
3568											s.loadedClass).removeClass(s.loadingClass), a.find("." + s.preloaderClass)
3569										.remove(), i.params.loop && t) {
3570										var e = a.attr("data-swiper-slide-index");
3571										if (a.hasClass(i.params.slideDuplicateClass)) {
3572											var r = i.$wrapperEl.children('[data-swiper-slide-index="' +
3573												e + '"]:not(.' + i.params.slideDuplicateClass + ")");
3574											i.lazy.loadInSlide(r.index(), !1)
3575										} else {
3576											var u = i.$wrapperEl.children("." + i.params.slideDuplicateClass +
3577												'[data-swiper-slide-index="' + e + '"]');
3578											i.lazy.loadInSlide(u.index(), !1)
3579										}
3580									}
3581									i.emit("lazyImageReady", a[0], o[0]), i.params.autoHeight && i
3582										.updateAutoHeight()
3583								}
3584							})), i.emit("lazyImageLoad", a[0], o[0])
3585						}))
3586				}
3587			},
3588			load: function() {
3589				var e = this,
3590					t = e.$wrapperEl,
3591					i = e.params,
3592					s = e.slides,
3593					a = e.activeIndex,
3594					r = e.virtual && i.virtual.enabled,
3595					o = i.lazy,
3596					l = i.slidesPerView;
3597
3598				function d(e) {
3599					if (r) {
3600						if (t.children("." + i.slideClass + '[data-swiper-slide-index="' + e +
3601								'"]').length) return !0
3602					} else if (s[e]) return !0;
3603					return !1
3604				}
3605
3606				function h(e) {
3607					return r ? n(e).attr("data-swiper-slide-index") : n(e).index()
3608				}
3609				if ("auto" === l && (l = 0), e.lazy.initialImageLoaded || (e.lazy.initialImageLoaded = !
3610						0), e.params.watchSlidesVisibility) t.children("." + i.slideVisibleClass)
3611					.each((function(t, i) {
3612						var s = r ? n(i).attr("data-swiper-slide-index") : n(i).index();
3613						e.lazy.loadInSlide(s)
3614					}));
3615				else if (l > 1)
3616					for (var p = a; p < a + l; p += 1) d(p) && e.lazy.loadInSlide(p);
3617				else e.lazy.loadInSlide(a);
3618				if (o.loadPrevNext)
3619					if (l > 1 || o.loadPrevNextAmount && o.loadPrevNextAmount > 1) {
3620						for (var c = o.loadPrevNextAmount, u = l, v = Math.min(a + u + Math.max(
3621								c, u), s.length), f = Math.max(a - Math.max(u, c), 0), m = a + l; m <
3622							v; m += 1) d(m) && e.lazy.loadInSlide(m);
3623						for (var g = f; g < a; g += 1) d(g) && e.lazy.loadInSlide(g)
3624					} else {
3625						var b = t.children("." + i.slideNextClass);
3626						b.length > 0 && e.lazy.loadInSlide(h(b));
3627						var w = t.children("." + i.slidePrevClass);
3628						w.length > 0 && e.lazy.loadInSlide(h(w))
3629					}
3630			}
3631		},
3632		ce = {
3633			LinearSpline: function(e, t) {
3634				var i, s, a, r, n, o = function(e, t) {
3635					for (s = -1, i = e.length; i - s > 1;) e[a = i + s >> 1] <= t ? s = a :
3636						i = a;
3637					return i
3638				};
3639				return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate =
3640					function(e) {
3641						return e ? (n = o(this.x, e), r = n - 1, (e - this.x[r]) * (this.y[n] -
3642							this.y[r]) / (this.x[n] - this.x[r]) + this.y[r]) : 0
3643					}, this
3644			},
3645			getInterpolateFunction: function(e) {
3646				this.controller.spline || (this.controller.spline = this.params.loop ?
3647					new ce.LinearSpline(this.slidesGrid, e.slidesGrid) : new ce.LinearSpline(
3648						this.snapGrid, e.snapGrid))
3649			},
3650			setTranslate: function(e, t) {
3651				var i, s, a = this,
3652					r = a.controller.control;
3653
3654				function n(e) {
3655					var t = a.rtlTranslate ? -a.translate : a.translate;
3656					"slide" === a.params.controller.by && (a.controller.getInterpolateFunction(
3657							e), s = -a.controller.spline.interpolate(-t)), s && "container" !== a
3658						.params.controller.by || (i = (e.maxTranslate() - e.minTranslate()) /
3659							(a.maxTranslate() - a.minTranslate()), s = (t - a.minTranslate()) * i +
3660							e.minTranslate()), a.params.controller.inverse && (s = e.maxTranslate() -
3661							s), e.updateProgress(s), e.setTranslate(s, a), e.updateActiveIndex(),
3662						e.updateSlidesClasses()
3663				}
3664				if (Array.isArray(r))
3665					for (var o = 0; o < r.length; o += 1) r[o] !== t && r[o] instanceof j &&
3666						n(r[o]);
3667				else r instanceof j && t !== r && n(r)
3668			},
3669			setTransition: function(e, t) {
3670				var i, s = this,
3671					a = s.controller.control;
3672
3673				function r(t) {
3674					t.setTransition(e, s), 0 !== e && (t.transitionStart(), t.params.autoHeight &&
3675						d.nextTick((function() {
3676							t.updateAutoHeight()
3677						})), t.$wrapperEl.transitionEnd((function() {
3678							a && (t.params.loop && "slide" === s.params.controller.by && t.loopFix(),
3679								t.transitionEnd())
3680						})))
3681				}
3682				if (Array.isArray(a))
3683					for (i = 0; i < a.length; i += 1) a[i] !== t && a[i] instanceof j && r(
3684						a[i]);
3685				else a instanceof j && t !== a && r(a)
3686			}
3687		},
3688		ue = {
3689			makeElFocusable: function(e) {
3690				return e.attr("tabIndex", "0"), e
3691			},
3692			makeElNotFocusable: function(e) {
3693				return e.attr("tabIndex", "0"), e
3694			},
3695			addElRole: function(e, t) {
3696				return e.attr("role", t), e
3697			},
3698			addElLabel: function(e, t) {
3699				return e.attr("aria-label", t), e
3700			},
3701			disableEl: function(e) {
3702				return e.attr("aria-disabled", !0), e
3703			},
3704			enableEl: function(e) {
3705				return e.attr("aria-disabled", !1), e
3706			},
3707			onEnterKey: function(e) {
3708				var t = this.params.a11y;
3709				if (13 === e.keyCode) {
3710					var i = n(e.target);
3711					this.navigation && this.navigation.$nextEl && i.is(this.navigation.$nextEl) &&
3712						(this.isEnd && !this.params.loop || this.slideNext(), this.isEnd ?
3713							this.a11y.notify(t.lastSlideMessage) : this.a11y.notify(t.nextSlideMessage)
3714						), this.navigation && this.navigation.$prevEl && i.is(this.navigation.$prevEl) &&
3715						(this.isBeginning && !this.params.loop || this.slidePrev(), this.isBeginning ?
3716							this.a11y.notify(t.firstSlideMessage) : this.a11y.notify(t.prevSlideMessage)
3717						), this.pagination && i.is("." + this.params.pagination.bulletClass) &&
3718						i[0].click()
3719				}
3720			},
3721			notify: function(e) {
3722				var t = this.a11y.liveRegion;
3723				0 !== t.length && (t.html(""), t.html(e))
3724			},
3725			updateNavigation: function() {
3726				if (!this.params.loop && this.navigation) {
3727					var e = this.navigation,
3728						t = e.$nextEl,
3729						i = e.$prevEl;
3730					i && i.length > 0 && (this.isBeginning ? (this.a11y.disableEl(i), this.a11y
3731						.makeElNotFocusable(i)) : (this.a11y.enableEl(i), this.a11y.makeElFocusable(
3732						i))), t && t.length > 0 && (this.isEnd ? (this.a11y.disableEl(t),
3733						this.a11y.makeElNotFocusable(t)) : (this.a11y.enableEl(t), this.a11y
3734						.makeElFocusable(t)))
3735				}
3736			},
3737			updatePagination: function() {
3738				var e = this,
3739					t = e.params.a11y;
3740				e.pagination && e.params.pagination.clickable && e.pagination.bullets &&
3741					e.pagination.bullets.length && e.pagination.bullets.each((function(i, s) {
3742						var a = n(s);
3743						e.a11y.makeElFocusable(a), e.a11y.addElRole(a, "button"), e.a11y.addElLabel(
3744							a, t.paginationBulletMessage.replace(/\{\{index\}\}/, a.index() +
3745								1))
3746					}))
3747			},
3748			init: function() {
3749				this.$el.append(this.a11y.liveRegion);
3750				var e, t, i = this.params.a11y;
3751				this.navigation && this.navigation.$nextEl && (e = this.navigation.$nextEl),
3752					this.navigation && this.navigation.$prevEl && (t = this.navigation.$prevEl),
3753					e && (this.a11y.makeElFocusable(e), this.a11y.addElRole(e, "button"),
3754						this.a11y.addElLabel(e, i.nextSlideMessage), e.on("keydown", this.a11y
3755							.onEnterKey)), t && (this.a11y.makeElFocusable(t), this.a11y.addElRole(
3756						t, "button"), this.a11y.addElLabel(t, i.prevSlideMessage), t.on(
3757						"keydown", this.a11y.onEnterKey)), this.pagination && this.params.pagination
3758					.clickable && this.pagination.bullets && this.pagination.bullets.length &&
3759					this.pagination.$el.on("keydown", "." + this.params.pagination.bulletClass,
3760						this.a11y.onEnterKey)
3761			},
3762			destroy: function() {
3763				var e, t;
3764				this.a11y.liveRegion && this.a11y.liveRegion.length > 0 && this.a11y.liveRegion
3765					.remove(), this.navigation && this.navigation.$nextEl && (e = this.navigation
3766						.$nextEl), this.navigation && this.navigation.$prevEl && (t = this.navigation
3767						.$prevEl), e && e.off("keydown", this.a11y.onEnterKey), t && t.off(
3768						"keydown", this.a11y.onEnterKey), this.pagination && this.params.pagination
3769					.clickable && this.pagination.bullets && this.pagination.bullets.length &&
3770					this.pagination.$el.off("keydown", "." + this.params.pagination.bulletClass,
3771						this.a11y.onEnterKey)
3772			}
3773		},
3774		ve = {
3775			init: function() {
3776				if (this.params.history) {
3777					if (!a.history || !a.history.pushState) return this.params.history.enabled = !
3778						1, void(this.params.hashNavigation.enabled = !0);
3779					var e = this.history;
3780					e.initialized = !0, e.paths = ve.getPathValues(), (e.paths.key || e.paths
3781						.value) && (e.scrollToSlide(0, e.paths.value, this.params.runCallbacksOnInit),
3782						this.params.history.replaceState || a.addEventListener("popstate",
3783							this.history.setHistoryPopState))
3784				}
3785			},
3786			destroy: function() {
3787				this.params.history.replaceState || a.removeEventListener("popstate",
3788					this.history.setHistoryPopState)
3789			},
3790			setHistoryPopState: function() {
3791				this.history.paths = ve.getPathValues(), this.history.scrollToSlide(this
3792					.params.speed, this.history.paths.value, !1)
3793			},
3794			getPathValues: function() {
3795				var e = a.location.pathname.slice(1).split("/").filter((function(e) {
3796						return "" !== e
3797					})),
3798					t = e.length;
3799				return {
3800					key: e[t - 2],
3801					value: e[t - 1]
3802				}
3803			},
3804			setHistory: function(e, t) {
3805				if (this.history.initialized && this.params.history.enabled) {
3806					var i = this.slides.eq(t),
3807						s = ve.slugify(i.attr("data-history"));
3808					a.location.pathname.includes(e) || (s = e + "/" + s);
3809					var r = a.history.state;
3810					r && r.value === s || (this.params.history.replaceState ? a.history.replaceState({
3811						value: s
3812					}, null, s) : a.history.pushState({
3813						value: s
3814					}, null, s))
3815				}
3816			},
3817			slugify: function(e) {
3818				return e.toString().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(
3819					/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "")
3820			},
3821			scrollToSlide: function(e, t, i) {
3822				if (t)
3823					for (var s = 0, a = this.slides.length; s < a; s += 1) {
3824						var r = this.slides.eq(s);
3825						if (ve.slugify(r.attr("data-history")) === t && !r.hasClass(this.params
3826								.slideDuplicateClass)) {
3827							var n = r.index();
3828							this.slideTo(n, e, i)
3829						}
3830					} else this.slideTo(0, e, i)
3831			}
3832		},
3833		fe = {
3834			onHashCange: function() {
3835				this.emit("hashChange");
3836				var e = i.location.hash.replace("#", "");
3837				if (e !== this.slides.eq(this.activeIndex).attr("data-hash")) {
3838					var t = this.$wrapperEl.children("." + this.params.slideClass +
3839						'[data-hash="' + e + '"]').index();
3840					if (void 0 === t) return;
3841					this.slideTo(t)
3842				}
3843			},
3844			setHash: function() {
3845				if (this.hashNavigation.initialized && this.params.hashNavigation.enabled)
3846					if (this.params.hashNavigation.replaceState && a.history && a.history.replaceState)
3847						a.history.replaceState(null, null, "#" + this.slides.eq(this.activeIndex)
3848							.attr("data-hash") || ""), this.emit("hashSet");
3849					else {
3850						var e = this.slides.eq(this.activeIndex),
3851							t = e.attr("data-hash") || e.attr("data-history");
3852						i.location.hash = t || "", this.emit("hashSet")
3853					}
3854			},
3855			init: function() {
3856				if (!(!this.params.hashNavigation.enabled || this.params.history && this
3857						.params.history.enabled)) {
3858					this.hashNavigation.initialized = !0;
3859					var e = i.location.hash.replace("#", "");
3860					if (e)
3861						for (var t = 0, s = this.slides.length; t < s; t += 1) {
3862							var r = this.slides.eq(t);
3863							if ((r.attr("data-hash") || r.attr("data-history")) === e && !r.hasClass(
3864									this.params.slideDuplicateClass)) {
3865								var o = r.index();
3866								this.slideTo(o, 0, this.params.runCallbacksOnInit, !0)
3867							}
3868						}
3869					this.params.hashNavigation.watchState && n(a).on("hashchange", this.hashNavigation
3870						.onHashCange)
3871				}
3872			},
3873			destroy: function() {
3874				this.params.hashNavigation.watchState && n(a).off("hashchange", this.hashNavigation
3875					.onHashCange)
3876			}
3877		},
3878		me = {
3879			run: function() {
3880				var e = this,
3881					t = e.slides.eq(e.activeIndex),
3882					i = e.params.autoplay.delay;
3883				t.attr("data-swiper-autoplay") && (i = t.attr("data-swiper-autoplay") ||
3884						e.params.autoplay.delay), clearTimeout(e.autoplay.timeout), e.autoplay
3885					.timeout = d.nextTick((function() {
3886						e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), e
3887								.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.isBeginning ?
3888							e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(
3889								e.slides.length - 1, e.params.speed, !0, !0), e.emit("autoplay")) :
3890							(e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.params
3891							.loop ? (e.loopFix(), e.slideNext(e.params.speed, !0, !0), e.emit(
3892								"autoplay")) : e.isEnd ? e.params.autoplay.stopOnLastSlide ? e.autoplay
3893							.stop() : (e.slideTo(0, e.params.speed, !0, !0), e.emit("autoplay")) :
3894							(e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")), e.params
3895							.cssMode && e.autoplay.running && e.autoplay.run()
3896					}), i)
3897			},
3898			start: function() {
3899				return void 0 === this.autoplay.timeout && (!this.autoplay.running && (
3900					this.autoplay.running = !0, this.emit("autoplayStart"), this.autoplay
3901					.run(), !0))
3902			},
3903			stop: function() {
3904				if (document.querySelectorAll(".swiper_pause").length > 0) {
3905					//autoplay
3906					const TXT_PAUSE = document.querySelectorAll(".swiper_pause-inner");
3907					const TXT_PLAY = "再生";
3908					TXT_PAUSE.forEach((element) => {
3909						element.textContent = TXT_PLAY;
3910						element.classList.add("paused");
3911					
3912					});
3913					const BUTTON_PLAY = document.querySelectorAll(".swiper_pause");
3914					BUTTON_PLAY.forEach((element) => {
3915						element.classList.add("paused");
3916					});
3917				}
3918			
3919				return !!this.autoplay.running && (void 0 !== this.autoplay.timeout && (
3920					this.autoplay.timeout && (clearTimeout(this.autoplay.timeout), this.autoplay
3921						.timeout = void 0), this.autoplay.running = !1, this.emit(
3922						"autoplayStop"), !0))
3923			},
3924			pause: function(e) {
3925				this.autoplay.running && (this.autoplay.paused || (this.autoplay.timeout &&
3926					clearTimeout(this.autoplay.timeout), this.autoplay.paused = !0, 0 !==
3927					e && this.params.autoplay.waitForTransition ? (this.$wrapperEl[0].addEventListener(
3928							"transitionend", this.autoplay.onTransitionEnd), this.$wrapperEl[0]
3929						.addEventListener("webkitTransitionEnd", this.autoplay.onTransitionEnd)
3930					) : (this.autoplay.paused = !1, this.autoplay.run())))
3931			}
3932		},
3933		ge = {
3934			setTranslate: function() {
3935				for (var e = this.slides, t = 0; t < e.length; t += 1) {
3936					var i = this.slides.eq(t),
3937						s = -i[0].swiperSlideOffset;
3938					this.params.virtualTranslate || (s -= this.translate);
3939					var a = 0;
3940					this.isHorizontal() || (a = s, s = 0);
3941					var r = this.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress),
3942						0) : 1 + Math.min(Math.max(i[0].progress, -1), 0);
3943					i.css({
3944						opacity: r
3945					}).transform("translate3d(" + s + "px, " + a + "px, 0px)")
3946				}
3947			},
3948			setTransition: function(e) {
3949				var t = this,
3950					i = t.slides,
3951					s = t.$wrapperEl;
3952				if (i.transition(e), t.params.virtualTranslate && 0 !== e) {
3953					var a = !1;
3954					i.transitionEnd((function() {
3955						if (!a && t && !t.destroyed) {
3956							a = !0, t.animating = !1;
3957							for (var e = ["webkitTransitionEnd", "transitionend"], i = 0; i <
3958								e.length; i += 1) s.trigger(e[i])
3959						}
3960					}))
3961				}
3962			}
3963		},
3964		be = {
3965			setTranslate: function() {
3966				var e, t = this.$el,
3967					i = this.$wrapperEl,
3968					s = this.slides,
3969					a = this.width,
3970					r = this.height,
3971					o = this.rtlTranslate,
3972					l = this.size,
3973					d = this.params.cubeEffect,
3974					h = this.isHorizontal(),
3975					p = this.virtual && this.params.virtual.enabled,
3976					c = 0;
3977				d.shadow && (h ? (0 === (e = i.find(".swiper-cube-shadow")).length && (e =
3978					n('<div class="swiper-cube-shadow"></div>'), i.append(e)), e.css({
3979					height: a + "px"
3980				})) : 0 === (e = t.find(".swiper-cube-shadow")).length && (e = n(
3981					'<div class="swiper-cube-shadow"></div>'), t.append(e)));
3982				for (var u = 0; u < s.length; u += 1) {
3983					var v = s.eq(u),
3984						f = u;
3985					p && (f = parseInt(v.attr("data-swiper-slide-index"), 10));
3986					var m = 90 * f,
3987						g = Math.floor(m / 360);
vendor: 5,740 bytes, lines 3988-4115
3988					o && (m = -m, g = Math.floor(-m / 360));
3989					var b = Math.max(Math.min(v[0].progress, 1), -1),
3990						w = 0,
3991						y = 0,
3992						x = 0;
3993					f % 4 == 0 ? (w = 4 * -g * l, x = 0) : (f - 1) % 4 == 0 ? (w = 0, x = 4 *
3994							-g * l) : (f - 2) % 4 == 0 ? (w = l + 4 * g * l, x = l) : (f - 3) % 4 ==
3995						0 && (w = -l, x = 3 * l + 4 * l * g), o && (w = -w), h || (y = w, w =
3996							0);
3997					var E = "rotateX(" + (h ? 0 : -m) + "deg) rotateY(" + (h ? m : 0) +
3998						"deg) translate3d(" + w + "px, " + y + "px, " + x + "px)";
3999					if (b <= 1 && b > -1 && (c = 90 * f + 90 * b, o && (c = 90 * -f - 90 *
4000							b)), v.transform(E), d.slideShadows) {
4001						var T = h ? v.find(".swiper-slide-shadow-left") : v.find(
4002								".swiper-slide-shadow-top"),
4003							S = h ? v.find(".swiper-slide-shadow-right") : v.find(
4004								".swiper-slide-shadow-bottom");
4005						0 === T.length && (T = n('<div class="swiper-slide-shadow-' + (h ?
4006							"left" : "top") + '"></div>'), v.append(T)), 0 === S.length && (S =
4007							n('<div class="swiper-slide-shadow-' + (h ? "right" : "bottom") +
4008								'"></div>'), v.append(S)), T.length && (T[0].style.opacity = Math.max(-
4009							b, 0)), S.length && (S[0].style.opacity = Math.max(b, 0))
4010					}
4011				}
4012				if (i.css({
4013						"-webkit-transform-origin": "50% 50% -" + l / 2 + "px",
4014						"-moz-transform-origin": "50% 50% -" + l / 2 + "px",
4015						"-ms-transform-origin": "50% 50% -" + l / 2 + "px",
4016						"transform-origin": "50% 50% -" + l / 2 + "px"
4017					}), d.shadow)
4018					if (h) e.transform("translate3d(0px, " + (a / 2 + d.shadowOffset) +
4019						"px, " + -a / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + d.shadowScale +
4020						")");
4021					else {
4022						var C = Math.abs(c) - 90 * Math.floor(Math.abs(c) / 90),
4023							M = 1.5 - (Math.sin(2 * C * Math.PI / 360) / 2 + Math.cos(2 * C *
4024								Math.PI / 360) / 2),
4025							P = d.shadowScale,
4026							z = d.shadowScale / M,
4027							k = d.shadowOffset;
4028						e.transform("scale3d(" + P + ", 1, " + z + ") translate3d(0px, " + (r /
4029							2 + k) + "px, " + -r / 2 / z + "px) rotateX(-90deg)")
4030					}
4031				var $ = _.isSafari || _.isWebView ? -l / 2 : 0;
4032				i.transform("translate3d(0px,0," + $ + "px) rotateX(" + (this.isHorizontal() ?
4033					0 : c) + "deg) rotateY(" + (this.isHorizontal() ? -c : 0) + "deg)")
4034			},
4035			setTransition: function(e) {
4036				var t = this.$el;
4037				this.slides.transition(e).find(
4038						".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
4039					).transition(e), this.params.cubeEffect.shadow && !this.isHorizontal() &&
4040					t.find(".swiper-cube-shadow").transition(e)
4041			}
4042		},
4043		we = {
4044			setTranslate: function() {
4045				for (var e = this.slides, t = this.rtlTranslate, i = 0; i < e.length; i +=
4046					1) {
4047					var s = e.eq(i),
4048						a = s[0].progress;
4049					this.params.flipEffect.limitRotation && (a = Math.max(Math.min(s[0].progress,
4050						1), -1));
4051					var r = -180 * a,
4052						o = 0,
4053						l = -s[0].swiperSlideOffset,
4054						d = 0;
4055					if (this.isHorizontal() ? t && (r = -r) : (d = l, l = 0, o = -r, r = 0),
4056						s[0].style.zIndex = -Math.abs(Math.round(a)) + e.length, this.params.flipEffect
4057						.slideShadows) {
4058						var h = this.isHorizontal() ? s.find(".swiper-slide-shadow-left") : s.find(
4059								".swiper-slide-shadow-top"),
4060							p = this.isHorizontal() ? s.find(".swiper-slide-shadow-right") : s.find(
4061								".swiper-slide-shadow-bottom");
4062						0 === h.length && (h = n('<div class="swiper-slide-shadow-' + (this.isHorizontal() ?
4063							"left" : "top") + '"></div>'), s.append(h)), 0 === p.length && (p =
4064							n('<div class="swiper-slide-shadow-' + (this.isHorizontal() ?
4065								"right" : "bottom") + '"></div>'), s.append(p)), h.length && (h[0].style
4066							.opacity = Math.max(-a, 0)), p.length && (p[0].style.opacity = Math.max(
4067							a, 0))
4068					}
4069					s.transform("translate3d(" + l + "px, " + d + "px, 0px) rotateX(" + o +
4070						"deg) rotateY(" + r + "deg)")
4071				}
4072			},
4073			setTransition: function(e) {
4074				var t = this,
4075					i = t.slides,
4076					s = t.activeIndex,
4077					a = t.$wrapperEl;
4078				if (i.transition(e).find(
4079						".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
4080					).transition(e), t.params.virtualTranslate && 0 !== e) {
4081					var r = !1;
4082					i.eq(s).transitionEnd((function() {
4083						if (!r && t && !t.destroyed) {
4084							r = !0, t.animating = !1;
4085							for (var e = ["webkitTransitionEnd", "transitionend"], i = 0; i <
4086								e.length; i += 1) a.trigger(e[i])
4087						}
4088					}))
4089				}
4090			}
4091		},
4092		ye = {
4093			setTranslate: function() {
4094				for (var e = this.width, t = this.height, i = this.slides, s = this.$wrapperEl,
4095						a = this.slidesSizesGrid, r = this.params.coverflowEffect, o = this.isHorizontal(),
4096						l = this.translate, d = o ? e / 2 - l : t / 2 - l, p = o ? r.rotate :
4097						-r.rotate, c = r.depth, u = 0, v = i.length; u < v; u += 1) {
4098					var f = i.eq(u),
4099						m = a[u],
4100						g = (d - f[0].swiperSlideOffset - m / 2) / m * r.modifier,
4101						b = o ? p * g : 0,
4102						w = o ? 0 : p * g,
4103						y = -c * Math.abs(g),
4104						x = r.stretch;
4105					"string" == typeof x && -1 !== x.indexOf("%") && (x = parseFloat(r.stretch) /
4106						100 * m);
4107					var E = o ? 0 : x * g,
4108						T = o ? x * g : 0,
4109						S = 1 - (1 - r.scale) * Math.abs(g);
4110					Math.abs(T) < .001 && (T = 0), Math.abs(E) < .001 && (E = 0), Math.abs(
4111							y) < .001 && (y = 0), Math.abs(b) < .001 && (b = 0), Math.abs(w) < .001 &&
4112						(w = 0), Math.abs(S) < .001 && (S = 0);
4113					var C = "translate3d(" + T + "px," + E + "px," + y + "px)  rotateX(" +
4114						w + "deg) rotateY(" + b + "deg) scale(" + S + ")";
4115					if (f.transform(C), f[0].style.zIndex = 1 - Math.abs(Math.round(g)), r.slideShadows) {
4116						var M = o ? f.find(".swiper-slide-shadow-left") : f.find(
4117								".swiper-slide-shadow-top"),
4118							P = o ? f.find(".swiper-slide-shadow-right") : f.find(
4119								".swiper-slide-shadow-bottom");
4120						0 === M.length && (M = n('<div class="swiper-slide-shadow-' + (o ?
4121							"left" : "top") + '"></div>'), f.append(M)), 0 === P.length && (P =
4122							n('<div class="swiper-slide-shadow-' + (o ? "right" : "bottom") +
4123								'"></div>'), f.append(P)), M.length && (M[0].style.opacity = g > 0 ?
4124							g : 0), P.length && (P[0].style.opacity = -g > 0 ? -g : 0)
4125					}
4126				}(h.pointerEvents || h.prefixedPointerEvents) && (s[0].style.perspectiveOrigin =
4127					d + "px 50%")
4128			},
4129			setTransition: function(e) {
4130				this.slides.transition(e).find(
4131					".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
4132				).transition(e)
4133			}
4134		},
4135		xe = {
4136			init: function() {
4137				var e = this.params.thumbs,
4138					t = this.constructor;
4139				e.swiper instanceof t ? (this.thumbs.swiper = e.swiper, d.extend(this.thumbs
4140					.swiper.originalParams, {
4141						watchSlidesProgress: !0,
4142						slideToClickedSlide: !1
4143					}), d.extend(this.thumbs.swiper.params, {
4144					watchSlidesProgress: !0,
4145					slideToClickedSlide: !1
4146				})) : d.isObject(e.swiper) && (this.thumbs.swiper = new t(d.extend({},
4147					e.swiper, {
4148						watchSlidesVisibility: !0,
4149						watchSlidesProgress: !0,
4150						slideToClickedSlide: !1
4151					})), this.thumbs.swiperCreated = !0), this.thumbs.swiper.$el.addClass(
4152					this.params.thumbs.thumbsContainerClass), this.thumbs.swiper.on("tap",
4153					this.thumbs.onThumbClick)
4154			},
4155			onThumbClick: function() {
4156				var e = this.thumbs.swiper;
4157				if (e) {
4158					var t = e.clickedIndex,
4159						i = e.clickedSlide;
4160					if (!(i && n(i).hasClass(this.params.thumbs.slideThumbActiveClass) ||
4161							null == t)) {
4162						var s;
4163						if (s = e.params.loop ? parseInt(n(e.clickedSlide).attr(
4164								"data-swiper-slide-index"), 10) : t, this.params.loop) {
4165							var a = this.activeIndex;
4166							this.slides.eq(a).hasClass(this.params.slideDuplicateClass) && (this.loopFix(),
4167								this._clientLeft = this.$wrapperEl[0].clientLeft, a = this.activeIndex
4168							);
4169							var r = this.slides.eq(a).prevAll('[data-swiper-slide-index="' + s +
4170									'"]').eq(0).index(),
4171								o = this.slides.eq(a).nextAll('[data-swiper-slide-index="' + s +
4172									'"]').eq(0).index();
4173							s = void 0 === r ? o : void 0 === o ? r : o - a < a - r ? o : r
4174						}
4175						this.slideTo(s)
4176					}
4177				}
4178			},
4179			update: function(e) {
4180				var t = this.thumbs.swiper;
4181				if (t) {
4182					var i = "auto" === t.params.slidesPerView ? t.slidesPerViewDynamic() :
4183						t.params.slidesPerView,
4184						s = this.params.thumbs.autoScrollOffset,
4185						a = s && !t.params.loop;
4186					if (this.realIndex !== t.realIndex || a) {
4187						var r, n, o = t.activeIndex;
4188						if (t.params.loop) {
4189							t.slides.eq(o).hasClass(t.params.slideDuplicateClass) && (t.loopFix(),
4190								t._clientLeft = t.$wrapperEl[0].clientLeft, o = t.activeIndex);
4191							var l = t.slides.eq(o).prevAll('[data-swiper-slide-index="' + this.realIndex +
4192									'"]').eq(0).index(),
4193								d = t.slides.eq(o).nextAll('[data-swiper-slide-index="' + this.realIndex +
4194									'"]').eq(0).index();
4195							r = void 0 === l ? d : void 0 === d ? l : d - o == o - l ? o : d - o <
4196								o - l ? d : l, n = this.activeIndex > this.previousIndex ? "next" :
4197								"prev"
4198						} else n = (r = this.realIndex) > this.previousIndex ? "next" : "prev";
4199						a && (r += "next" === n ? s : -1 * s), t.visibleSlidesIndexes && t.visibleSlidesIndexes
4200							.indexOf(r) < 0 && (t.params.centeredSlides ? r = r > o ? r - Math.floor(
4201									i / 2) + 1 : r + Math.floor(i / 2) - 1 : r > o && (r = r - i + 1),
4202								t.slideTo(r, e ? 0 : void 0))
4203					}
4204					var h = 1,
4205						p = this.params.thumbs.slideThumbActiveClass;
4206					if (this.params.slidesPerView > 1 && !this.params.centeredSlides && (h =
4207							this.params.slidesPerView), this.params.thumbs.multipleActiveThumbs ||
4208						(h = 1), h = Math.floor(h), t.slides.removeClass(p), t.params.loop ||
4209						t.params.virtual && t.params.virtual.enabled)
4210						for (var c = 0; c < h; c += 1) t.$wrapperEl.children(
4211							'[data-swiper-slide-index="' + (this.realIndex + c) + '"]').addClass(
4212							p);
4213					else
4214						for (var u = 0; u < h; u += 1) t.slides.eq(this.realIndex + u).addClass(
4215							p)
4216				}
4217			}
4218		},
4219		Ee = [K, U, Z, Q, ee, ie, ae, {
4220			name: "mousewheel",
4221			params: {
4222				mousewheel: {
4223					enabled: !1,
4224					releaseOnEdges: !1,
4225					invert: !1,
4226					forceToAxis: !1,
4227					sensitivity: 1,
4228					eventsTarged: "container"
4229				}
4230			},
4231			create: function() {
4232				d.extend(this, {
4233					mousewheel: {
4234						enabled: !1,
4235						enable: re.enable.bind(this),
4236						disable: re.disable.bind(this),
4237						handle: re.handle.bind(this),
4238						handleMouseEnter: re.handleMouseEnter.bind(this),
4239						handleMouseLeave: re.handleMouseLeave.bind(this),
4240						animateSlider: re.animateSlider.bind(this),
4241						releaseScroll: re.releaseScroll.bind(this),
4242						lastScrollTime: d.now(),
4243						lastEventBeforeSnap: void 0,
4244						recentWheelEvents: []
4245					}
4246				})
4247			},
4248			on: {
4249				init: function() {
4250					!this.params.mousewheel.enabled && this.params.cssMode && this.mousewheel
4251						.disable(), this.params.mousewheel.enabled && this.mousewheel.enable()
4252				},
4253				destroy: function() {
4254					this.params.cssMode && this.mousewheel.enable(), this.mousewheel.enabled &&
4255						this.mousewheel.disable()
4256				}
4257			}
4258		}, {
4259			name: "navigation",
4260			params: {
4261				navigation: {
4262					nextEl: null,
4263					prevEl: null,
4264					hideOnClick: !1,
4265					disabledClass: "swiper-button-disabled",
4266					hiddenClass: "swiper-button-hidden",
4267					lockClass: "swiper-button-lock"
4268				}
4269			},
4270			create: function() {
4271				d.extend(this, {
4272					navigation: {
4273						init: ne.init.bind(this),
4274						update: ne.update.bind(this),
4275						destroy: ne.destroy.bind(this),
4276						onNextClick: ne.onNextClick.bind(this),
4277						onPrevClick: ne.onPrevClick.bind(this)
4278					}
4279				})
4280			},
4281			on: {
4282				init: function() {
4283					this.navigation.init(), this.navigation.update()
4284				},
4285				toEdge: function() {
4286					this.navigation.update()
4287				},
4288				fromEdge: function() {
4289					this.navigation.update()
4290				},
4291				destroy: function() {
4292					this.navigation.destroy()
4293				},
4294				click: function(e) {
4295					var t, i = this.navigation,
4296						s = i.$nextEl,
4297						a = i.$prevEl;
4298					!this.params.navigation.hideOnClick || n(e.target).is(a) || n(e.target)
4299						.is(s) || (s ? t = s.hasClass(this.params.navigation.hiddenClass) : a &&
4300							(t = a.hasClass(this.params.navigation.hiddenClass)), !0 === t ?
vendor: 20,316 bytes, lines 4301-5034
4301							this.emit("navigationShow", this) : this.emit("navigationHide", this),
4302							s && s.toggleClass(this.params.navigation.hiddenClass), a && a.toggleClass(
4303								this.params.navigation.hiddenClass))
4304				}
4305			}
4306		}, {
4307			name: "pagination",
4308			params: {
4309				pagination: {
4310					el: null,
4311					bulletElement: "span",
4312					clickable: !1,
4313					hideOnClick: !1,
4314					renderBullet: null,
4315					renderProgressbar: null,
4316					renderFraction: null,
4317					renderCustom: null,
4318					progressbarOpposite: !1,
4319					type: "bullets",
4320					dynamicBullets: !1,
4321					dynamicMainBullets: 1,
4322					formatFractionCurrent: function(e) {
4323						return e
4324					},
4325					formatFractionTotal: function(e) {
4326						return e
4327					},
4328					bulletClass: "swiper-pagination-bullet",
4329					bulletActiveClass: "swiper-pagination-bullet-active",
4330					modifierClass: "swiper-pagination-",
4331					currentClass: "swiper-pagination-current",
4332					totalClass: "swiper-pagination-total",
4333					hiddenClass: "swiper-pagination-hidden",
4334					progressbarFillClass: "swiper-pagination-progressbar-fill",
4335					progressbarOppositeClass: "swiper-pagination-progressbar-opposite",
4336					clickableClass: "swiper-pagination-clickable",
4337					lockClass: "swiper-pagination-lock"
4338				}
4339			},
4340			create: function() {
4341				d.extend(this, {
4342					pagination: {
4343						init: oe.init.bind(this),
4344						render: oe.render.bind(this),
4345						update: oe.update.bind(this),
4346						destroy: oe.destroy.bind(this),
4347						dynamicBulletIndex: 0
4348					}
4349				})
4350			},
4351			on: {
4352				init: function() {
4353					this.pagination.init(), this.pagination.render(), this.pagination.update()
4354				},
4355				activeIndexChange: function() {
4356					(this.params.loop || void 0 === this.snapIndex) && this.pagination.update()
4357				},
4358				snapIndexChange: function() {
4359					this.params.loop || this.pagination.update()
4360				},
4361				slidesLengthChange: function() {
4362					this.params.loop && (this.pagination.render(), this.pagination.update())
4363				},
4364				snapGridLengthChange: function() {
4365					this.params.loop || (this.pagination.render(), this.pagination.update())
4366				},
4367				destroy: function() {
4368					this.pagination.destroy()
4369				},
4370				click: function(e) {
4371					this.params.pagination.el && this.params.pagination.hideOnClick &&
4372						this.pagination.$el.length > 0 && !n(e.target).hasClass(this.params.pagination
4373							.bulletClass) && (!0 === this.pagination.$el.hasClass(this.params.pagination
4374							.hiddenClass) ? this.emit("paginationShow", this) : this.emit(
4375							"paginationHide", this), this.pagination.$el.toggleClass(this.params
4376							.pagination.hiddenClass))
4377				}
4378			}
4379		}, {
4380			name: "scrollbar",
4381			params: {
4382				scrollbar: {
4383					el: null,
4384					dragSize: "auto",
4385					hide: !1,
4386					draggable: !1,
4387					snapOnRelease: !0,
4388					lockClass: "swiper-scrollbar-lock",
4389					dragClass: "swiper-scrollbar-drag"
4390				}
4391			},
4392			create: function() {
4393				d.extend(this, {
4394					scrollbar: {
4395						init: le.init.bind(this),
4396						destroy: le.destroy.bind(this),
4397						updateSize: le.updateSize.bind(this),
4398						setTranslate: le.setTranslate.bind(this),
4399						setTransition: le.setTransition.bind(this),
4400						enableDraggable: le.enableDraggable.bind(this),
4401						disableDraggable: le.disableDraggable.bind(this),
4402						setDragPosition: le.setDragPosition.bind(this),
4403						getPointerPosition: le.getPointerPosition.bind(this),
4404						onDragStart: le.onDragStart.bind(this),
4405						onDragMove: le.onDragMove.bind(this),
4406						onDragEnd: le.onDragEnd.bind(this),
4407						isTouched: !1,
4408						timeout: null,
4409						dragTimeout: null
4410					}
4411				})
4412			},
4413			on: {
4414				init: function() {
4415					this.scrollbar.init(), this.scrollbar.updateSize(), this.scrollbar.setTranslate()
4416				},
4417				update: function() {
4418					this.scrollbar.updateSize()
4419				},
4420				resize: function() {
4421					this.scrollbar.updateSize()
4422				},
4423				observerUpdate: function() {
4424					this.scrollbar.updateSize()
4425				},
4426				setTranslate: function() {
4427					this.scrollbar.setTranslate()
4428				},
4429				setTransition: function(e) {
4430					this.scrollbar.setTransition(e)
4431				},
4432				destroy: function() {
4433					this.scrollbar.destroy()
4434				}
4435			}
4436		}, {
4437			name: "parallax",
4438			params: {
4439				parallax: {
4440					enabled: !1
4441				}
4442			},
4443			create: function() {
4444				d.extend(this, {
4445					parallax: {
4446						setTransform: de.setTransform.bind(this),
4447						setTranslate: de.setTranslate.bind(this),
4448						setTransition: de.setTransition.bind(this)
4449					}
4450				})
4451			},
4452			on: {
4453				beforeInit: function() {
4454					this.params.parallax.enabled && (this.params.watchSlidesProgress = !0,
4455						this.originalParams.watchSlidesProgress = !0)
4456				},
4457				init: function() {
4458					this.params.parallax.enabled && this.parallax.setTranslate()
4459				},
4460				setTranslate: function() {
4461					this.params.parallax.enabled && this.parallax.setTranslate()
4462				},
4463				setTransition: function(e) {
4464					this.params.parallax.enabled && this.parallax.setTransition(e)
4465				}
4466			}
4467		}, {
4468			name: "zoom",
4469			params: {
4470				zoom: {
4471					enabled: !1,
4472					maxRatio: 3,
4473					minRatio: 1,
4474					toggle: !0,
4475					containerClass: "swiper-zoom-container",
4476					zoomedSlideClass: "swiper-slide-zoomed"
4477				}
4478			},
4479			create: function() {
4480				var e = this,
4481					t = {
4482						enabled: !1,
4483						scale: 1,
4484						currentScale: 1,
4485						isScaling: !1,
4486						gesture: {
4487							$slideEl: void 0,
4488							slideWidth: void 0,
4489							slideHeight: void 0,
4490							$imageEl: void 0,
4491							$imageWrapEl: void 0,
4492							maxRatio: 3
4493						},
4494						image: {
4495							isTouched: void 0,
4496							isMoved: void 0,
4497							currentX: void 0,
4498							currentY: void 0,
4499							minX: void 0,
4500							minY: void 0,
4501							maxX: void 0,
4502							maxY: void 0,
4503							width: void 0,
4504							height: void 0,
4505							startX: void 0,
4506							startY: void 0,
4507							touchesStart: {},
4508							touchesCurrent: {}
4509						},
4510						velocity: {
4511							x: void 0,
4512							y: void 0,
4513							prevPositionX: void 0,
4514							prevPositionY: void 0,
4515							prevTime: void 0
4516						}
4517					};
4518				"onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out"
4519				.split(" ").forEach((function(i) {
4520					t[i] = he[i].bind(e)
4521				})), d.extend(e, {
4522					zoom: t
4523				});
4524				var i = 1;
4525				Object.defineProperty(e.zoom, "scale", {
4526					get: function() {
4527						return i
4528					},
4529					set: function(t) {
4530						if (i !== t) {
4531							var s = e.zoom.gesture.$imageEl ? e.zoom.gesture.$imageEl[0] :
4532								void 0,
4533								a = e.zoom.gesture.$slideEl ? e.zoom.gesture.$slideEl[0] : void 0;
4534							e.emit("zoomChange", t, s, a)
4535						}
4536						i = t
4537					}
4538				})
4539			},
4540			on: {
4541				init: function() {
4542					this.params.zoom.enabled && this.zoom.enable()
4543				},
4544				destroy: function() {
4545					this.zoom.disable()
4546				},
4547				touchStart: function(e) {
4548					this.zoom.enabled && this.zoom.onTouchStart(e)
4549				},
4550				touchEnd: function(e) {
4551					this.zoom.enabled && this.zoom.onTouchEnd(e)
4552				},
4553				doubleTap: function(e) {
4554					this.params.zoom.enabled && this.zoom.enabled && this.params.zoom.toggle &&
4555						this.zoom.toggle(e)
4556				},
4557				transitionEnd: function() {
4558					this.zoom.enabled && this.params.zoom.enabled && this.zoom.onTransitionEnd()
4559				},
4560				slideChange: function() {
4561					this.zoom.enabled && this.params.zoom.enabled && this.params.cssMode &&
4562						this.zoom.onTransitionEnd()
4563				}
4564			}
4565		}, {
4566			name: "lazy",
4567			params: {
4568				lazy: {
4569					enabled: !1,
4570					loadPrevNext: !1,
4571					loadPrevNextAmount: 1,
4572					loadOnTransitionStart: !1,
4573					elementClass: "swiper-lazy",
4574					loadingClass: "swiper-lazy-loading",
4575					loadedClass: "swiper-lazy-loaded",
4576					preloaderClass: "swiper-lazy-preloader"
4577				}
4578			},
4579			create: function() {
4580				d.extend(this, {
4581					lazy: {
4582						initialImageLoaded: !1,
4583						load: pe.load.bind(this),
4584						loadInSlide: pe.loadInSlide.bind(this)
4585					}
4586				})
4587			},
4588			on: {
4589				beforeInit: function() {
4590					this.params.lazy.enabled && this.params.preloadImages && (this.params.preloadImages = !
4591						1)
4592				},
4593				init: function() {
4594					this.params.lazy.enabled && !this.params.loop && 0 === this.params.initialSlide &&
4595						this.lazy.load()
4596				},
4597				scroll: function() {
4598					this.params.freeMode && !this.params.freeModeSticky && this.lazy.load()
4599				},
4600				resize: function() {
4601					this.params.lazy.enabled && this.lazy.load()
4602				},
4603				scrollbarDragMove: function() {
4604					this.params.lazy.enabled && this.lazy.load()
4605				},
4606				transitionStart: function() {
4607					this.params.lazy.enabled && (this.params.lazy.loadOnTransitionStart ||
4608						!this.params.lazy.loadOnTransitionStart && !this.lazy.initialImageLoaded
4609					) && this.lazy.load()
4610				},
4611				transitionEnd: function() {
4612					this.params.lazy.enabled && !this.params.lazy.loadOnTransitionStart &&
4613						this.lazy.load()
4614				},
4615				slideChange: function() {
4616					this.params.lazy.enabled && this.params.cssMode && this.lazy.load()
4617				}
4618			}
4619		}, {
4620			name: "controller",
4621			params: {
4622				controller: {
4623					control: void 0,
4624					inverse: !1,
4625					by: "slide"
4626				}
4627			},
4628			create: function() {
4629				d.extend(this, {
4630					controller: {
4631						control: this.params.controller.control,
4632						getInterpolateFunction: ce.getInterpolateFunction.bind(this),
4633						setTranslate: ce.setTranslate.bind(this),
4634						setTransition: ce.setTransition.bind(this)
4635					}
4636				})
4637			},
4638			on: {
4639				update: function() {
4640					this.controller.control && this.controller.spline && (this.controller.spline =
4641						void 0, delete this.controller.spline)
4642				},
4643				resize: function() {
4644					this.controller.control && this.controller.spline && (this.controller.spline =
4645						void 0, delete this.controller.spline)
4646				},
4647				observerUpdate: function() {
4648					this.controller.control && this.controller.spline && (this.controller.spline =
4649						void 0, delete this.controller.spline)
4650				},
4651				setTranslate: function(e, t) {
4652					this.controller.control && this.controller.setTranslate(e, t)
4653				},
4654				setTransition: function(e, t) {
4655					this.controller.control && this.controller.setTransition(e, t)
4656				}
4657			}
4658		}, {
4659			name: "a11y",
4660			params: {
4661				a11y: {
4662					enabled: !0,
4663					notificationClass: "swiper-notification",
4664					prevSlideMessage: "Previous slide",
4665					nextSlideMessage: "Next slide",
4666					firstSlideMessage: "This is the first slide",
4667					lastSlideMessage: "This is the last slide",
4668					paginationBulletMessage: "Go to slide {{index}}"
4669				}
4670			},
4671			create: function() {
4672				var e = this;
4673				d.extend(e, {
4674					a11y: {
4675						liveRegion: n('<span class="' + e.params.a11y.notificationClass +
4676							'" aria-live="assertive" aria-atomic="true"></span>')
4677					}
4678				}), Object.keys(ue).forEach((function(t) {
4679					e.a11y[t] = ue[t].bind(e)
4680				}))
4681			},
4682			on: {
4683				init: function() {
4684					this.params.a11y.enabled && (this.a11y.init(), this.a11y.updateNavigation())
4685				},
4686				toEdge: function() {
4687					this.params.a11y.enabled && this.a11y.updateNavigation()
4688				},
4689				fromEdge: function() {
4690					this.params.a11y.enabled && this.a11y.updateNavigation()
4691				},
4692				paginationUpdate: function() {
4693					this.params.a11y.enabled && this.a11y.updatePagination()
4694				},
4695				destroy: function() {
4696					this.params.a11y.enabled && this.a11y.destroy()
4697				}
4698			}
4699		}, {
4700			name: "history",
4701			params: {
4702				history: {
4703					enabled: !1,
4704					replaceState: !1,
4705					key: "slides"
4706				}
4707			},
4708			create: function() {
4709				d.extend(this, {
4710					history: {
4711						init: ve.init.bind(this),
4712						setHistory: ve.setHistory.bind(this),
4713						setHistoryPopState: ve.setHistoryPopState.bind(this),
4714						scrollToSlide: ve.scrollToSlide.bind(this),
4715						destroy: ve.destroy.bind(this)
4716					}
4717				})
4718			},
4719			on: {
4720				init: function() {
4721					this.params.history.enabled && this.history.init()
4722				},
4723				destroy: function() {
4724					this.params.history.enabled && this.history.destroy()
4725				},
4726				transitionEnd: function() {
4727					this.history.initialized && this.history.setHistory(this.params.history
4728						.key, this.activeIndex)
4729				},
4730				slideChange: function() {
4731					this.history.initialized && this.params.cssMode && this.history.setHistory(
4732						this.params.history.key, this.activeIndex)
4733				}
4734			}
4735		}, {
4736			name: "hash-navigation",
4737			params: {
4738				hashNavigation: {
4739					enabled: !1,
4740					replaceState: !1,
4741					watchState: !1
4742				}
4743			},
4744			create: function() {
4745				d.extend(this, {
4746					hashNavigation: {
4747						initialized: !1,
4748						init: fe.init.bind(this),
4749						destroy: fe.destroy.bind(this),
4750						setHash: fe.setHash.bind(this),
4751						onHashCange: fe.onHashCange.bind(this)
4752					}
4753				})
4754			},
4755			on: {
4756				init: function() {
4757					this.params.hashNavigation.enabled && this.hashNavigation.init()
4758				},
4759				destroy: function() {
4760					this.params.hashNavigation.enabled && this.hashNavigation.destroy()
4761				},
4762				transitionEnd: function() {
4763					this.hashNavigation.initialized && this.hashNavigation.setHash()
4764				},
4765				slideChange: function() {
4766					this.hashNavigation.initialized && this.params.cssMode && this.hashNavigation
4767						.setHash()
4768				}
4769			}
4770		}, {
4771			name: "autoplay",
4772			params: {
4773				autoplay: {
4774					enabled: !1,
4775					delay: 3e3,
4776					waitForTransition: !0,
4777					disableOnInteraction: !0,
4778					stopOnLastSlide: !1,
4779					reverseDirection: !1
4780				}
4781			},
4782			create: function() {
4783				var e = this;
4784				d.extend(e, {
4785					autoplay: {
4786						running: !1,
4787						paused: !1,
4788						run: me.run.bind(e),
4789						start: me.start.bind(e),
4790						stop: me.stop.bind(e),
4791						pause: me.pause.bind(e),
4792						onVisibilityChange: function() {
4793							"hidden" === document.visibilityState && e.autoplay.running && e.autoplay
4794								.pause(), "visible" === document.visibilityState && e.autoplay.paused &&
4795								(e.autoplay.run(), e.autoplay.paused = !1)
4796						},
4797						onTransitionEnd: function(t) {
4798							e && !e.destroyed && e.$wrapperEl && t.target === this && (e.$wrapperEl[
4799									0].removeEventListener("transitionend", e.autoplay.onTransitionEnd),
4800								e.$wrapperEl[0].removeEventListener("webkitTransitionEnd", e.autoplay
4801									.onTransitionEnd), e.autoplay.paused = !1, e.autoplay.running ?
4802								e.autoplay.run() : e.autoplay.stop())
4803						}
4804					}
4805				})
4806			},
4807			on: {
4808				init: function() {
4809					this.params.autoplay.enabled && (this.autoplay.start(), document.addEventListener(
4810						"visibilitychange", this.autoplay.onVisibilityChange))
4811				},
4812				beforeTransitionStart: function(e, t) {
4813					this.autoplay.running && (t || !this.params.autoplay.disableOnInteraction ?
4814						this.autoplay.pause(e) : this.autoplay.stop())
4815				},
4816				sliderFirstMove: function() {
4817					this.autoplay.running && (this.params.autoplay.disableOnInteraction ?
4818						this.autoplay.stop() : this.autoplay.pause())
4819				},
4820				touchEnd: function() {
4821					this.params.cssMode && this.autoplay.paused && !this.params.autoplay.disableOnInteraction &&
4822						this.autoplay.run()
4823				},
4824				destroy: function() {
4825					this.autoplay.running && this.autoplay.stop(), document.removeEventListener(
4826						"visibilitychange", this.autoplay.onVisibilityChange)
4827				}
4828			}
4829		}, {
4830			name: "effect-fade",
4831			params: {
4832				fadeEffect: {
4833					crossFade: !1
4834				}
4835			},
4836			create: function() {
4837				d.extend(this, {
4838					fadeEffect: {
4839						setTranslate: ge.setTranslate.bind(this),
4840						setTransition: ge.setTransition.bind(this)
4841					}
4842				})
4843			},
4844			on: {
4845				beforeInit: function() {
4846					if ("fade" === this.params.effect) {
4847						this.classNames.push(this.params.containerModifierClass + "fade");
4848						var e = {
4849							slidesPerView: 1,
4850							slidesPerColumn: 1,
4851							slidesPerGroup: 1,
4852							watchSlidesProgress: !0,
4853							spaceBetween: 0,
4854							virtualTranslate: !0
4855						};
4856						d.extend(this.params, e), d.extend(this.originalParams, e)
4857					}
4858				},
4859				setTranslate: function() {
4860					"fade" === this.params.effect && this.fadeEffect.setTranslate()
4861				},
4862				setTransition: function(e) {
4863					"fade" === this.params.effect && this.fadeEffect.setTransition(e)
4864				}
4865			}
4866		}, {
4867			name: "effect-cube",
4868			params: {
4869				cubeEffect: {
4870					slideShadows: !0,
4871					shadow: !0,
4872					shadowOffset: 20,
4873					shadowScale: .94
4874				}
4875			},
4876			create: function() {
4877				d.extend(this, {
4878					cubeEffect: {
4879						setTranslate: be.setTranslate.bind(this),
4880						setTransition: be.setTransition.bind(this)
4881					}
4882				})
4883			},
4884			on: {
4885				beforeInit: function() {
4886					if ("cube" === this.params.effect) {
4887						this.classNames.push(this.params.containerModifierClass + "cube"),
4888							this.classNames.push(this.params.containerModifierClass + "3d");
4889						var e = {
4890							slidesPerView: 1,
4891							slidesPerColumn: 1,
4892							slidesPerGroup: 1,
4893							watchSlidesProgress: !0,
4894							resistanceRatio: 0,
4895							spaceBetween: 0,
4896							centeredSlides: !1,
4897							virtualTranslate: !0
4898						};
4899						d.extend(this.params, e), d.extend(this.originalParams, e)
4900					}
4901				},
4902				setTranslate: function() {
4903					"cube" === this.params.effect && this.cubeEffect.setTranslate()
4904				},
4905				setTransition: function(e) {
4906					"cube" === this.params.effect && this.cubeEffect.setTransition(e)
4907				}
4908			}
4909		}, {
4910			name: "effect-flip",
4911			params: {
4912				flipEffect: {
4913					slideShadows: !0,
4914					limitRotation: !0
4915				}
4916			},
4917			create: function() {
4918				d.extend(this, {
4919					flipEffect: {
4920						setTranslate: we.setTranslate.bind(this),
4921						setTransition: we.setTransition.bind(this)
4922					}
4923				})
4924			},
4925			on: {
4926				beforeInit: function() {
4927					if ("flip" === this.params.effect) {
4928						this.classNames.push(this.params.containerModifierClass + "flip"),
4929							this.classNames.push(this.params.containerModifierClass + "3d");
4930						var e = {
4931							slidesPerView: 1,
4932							slidesPerColumn: 1,
4933							slidesPerGroup: 1,
4934							watchSlidesProgress: !0,
4935							spaceBetween: 0,
4936							virtualTranslate: !0
4937						};
4938						d.extend(this.params, e), d.extend(this.originalParams, e)
4939					}
4940				},
4941				setTranslate: function() {
4942					"flip" === this.params.effect && this.flipEffect.setTranslate()
4943				},
4944				setTransition: function(e) {
4945					"flip" === this.params.effect && this.flipEffect.setTransition(e)
4946				}
4947			}
4948		}, {
4949			name: "effect-coverflow",
4950			params: {
4951				coverflowEffect: {
4952					rotate: 50,
4953					stretch: 0,
4954					depth: 100,
4955					scale: 1,
4956					modifier: 1,
4957					slideShadows: !0
4958				}
4959			},
4960			create: function() {
4961				d.extend(this, {
4962					coverflowEffect: {
4963						setTranslate: ye.setTranslate.bind(this),
4964						setTransition: ye.setTransition.bind(this)
4965					}
4966				})
4967			},
4968			on: {
4969				beforeInit: function() {
4970					"coverflow" === this.params.effect && (this.classNames.push(this.params
4971							.containerModifierClass + "coverflow"), this.classNames.push(this.params
4972							.containerModifierClass + "3d"), this.params.watchSlidesProgress = !
4973						0, this.originalParams.watchSlidesProgress = !0)
4974				},
4975				setTranslate: function() {
4976					"coverflow" === this.params.effect && this.coverflowEffect.setTranslate()
4977				},
4978				setTransition: function(e) {
4979					"coverflow" === this.params.effect && this.coverflowEffect.setTransition(
4980						e)
4981				}
4982			}
4983		}, {
4984			name: "thumbs",
4985			params: {
4986				thumbs: {
4987					swiper: null,
4988					multipleActiveThumbs: !0,
4989					autoScrollOffset: 0,
4990					slideThumbActiveClass: "swiper-slide-thumb-active",
4991					thumbsContainerClass: "swiper-container-thumbs"
4992				}
4993			},
4994			create: function() {
4995				d.extend(this, {
4996					thumbs: {
4997						swiper: null,
4998						init: xe.init.bind(this),
4999						update: xe.update.bind(this),
5000						onThumbClick: xe.onThumbClick.bind(this)
5001					}
5002				})
5003			},
5004			on: {
5005				beforeInit: function() {
5006					var e = this.params.thumbs;
5007					e && e.swiper && (this.thumbs.init(), this.thumbs.update(!0))
5008				},
5009				slideChange: function() {
5010					this.thumbs.swiper && this.thumbs.update()
5011				},
5012				update: function() {
5013					this.thumbs.swiper && this.thumbs.update()
5014				},
5015				resize: function() {
5016					this.thumbs.swiper && this.thumbs.update()
5017				},
5018				observerUpdate: function() {
5019					this.thumbs.swiper && this.thumbs.update()
5020				},
5021				setTransition: function(e) {
5022					var t = this.thumbs.swiper;
5023					t && t.setTransition(e)
5024				},
5025				beforeDestroy: function() {
5026					var e = this.thumbs.swiper;
5027					e && this.thumbs.swiperCreated && e && e.destroy()
5028				}
5029			}
5030		}];
5031	return void 0 === j.use && (j.use = j.Class.use, j.installModule = j.Class.installModule),
5032		j.use(Ee), j
5033}));
5034//# sourceMappingURL=swiper.min.js.map

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