PageSourceSearch

https://www.purina.com.au/on/demandware.static/Sites-StaffAndFamil…/en_AU/v1790877709475/js/productCarousel.js

js purina.com.au collected 2026-10-02 05:25:35 UTC 405,922 bytes, 10,600 lines download raw bytes

1/******/ (function() { // webpackBootstrap
2/******/ 	"use strict";
3/******/ 	var __webpack_modules__ = ({
4
vendor: 4,009 bytes, lines 5-170
5/***/ "./node_modules/ssr-window/ssr-window.esm.js":
6/*!***************************************************!*\
7  !*** ./node_modules/ssr-window/ssr-window.esm.js ***!
8  \***************************************************/
9/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10
11__webpack_require__.r(__webpack_exports__);
12/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13/* harmony export */   "extend": function() { return /* binding */ extend; },
14/* harmony export */   "getDocument": function() { return /* binding */ getDocument; },
15/* harmony export */   "getWindow": function() { return /* binding */ getWindow; },
16/* harmony export */   "ssrDocument": function() { return /* binding */ ssrDocument; },
17/* harmony export */   "ssrWindow": function() { return /* binding */ ssrWindow; }
18/* harmony export */ });
19/**
20 * SSR Window 4.0.2
21 * Better handling for window object in SSR environment
22 * https://github.com/nolimits4web/ssr-window
23 *
24 * Copyright 2021, Vladimir Kharlampidi
25 *
26 * Licensed under MIT
27 *
28 * Released on: December 13, 2021
29 */
30/* eslint-disable no-param-reassign */
31function isObject(obj) {
32    return (obj !== null &&
33        typeof obj === 'object' &&
34        'constructor' in obj &&
35        obj.constructor === Object);
36}
37function extend(target = {}, src = {}) {
38    Object.keys(src).forEach((key) => {
39        if (typeof target[key] === 'undefined')
40            target[key] = src[key];
41        else if (isObject(src[key]) &&
42            isObject(target[key]) &&
43            Object.keys(src[key]).length > 0) {
44            extend(target[key], src[key]);
45        }
46    });
47}
48
49const ssrDocument = {
50    body: {},
51    addEventListener() { },
52    removeEventListener() { },
53    activeElement: {
54        blur() { },
55        nodeName: '',
56    },
57    querySelector() {
58        return null;
59    },
60    querySelectorAll() {
61        return [];
62    },
63    getElementById() {
64        return null;
65    },
66    createEvent() {
67        return {
68            initEvent() { },
69        };
70    },
71    createElement() {
72        return {
73            children: [],
74            childNodes: [],
75            style: {},
76            setAttribute() { },
77            getElementsByTagName() {
78                return [];
79            },
80        };
81    },
82    createElementNS() {
83        return {};
84    },
85    importNode() {
86        return null;
87    },
88    location: {
89        hash: '',
90        host: '',
91        hostname: '',
92        href: '',
93        origin: '',
94        pathname: '',
95        protocol: '',
96        search: '',
97    },
98};
99function getDocument() {
100    const doc = typeof document !== 'undefined' ? document : {};
101    extend(doc, ssrDocument);
102    return doc;
103}
104
105const ssrWindow = {
106    document: ssrDocument,
107    navigator: {
108        userAgent: '',
109    },
110    location: {
111        hash: '',
112        host: '',
113        hostname: '',
114        href: '',
115        origin: '',
116        pathname: '',
117        protocol: '',
118        search: '',
119    },
120    history: {
121        replaceState() { },
122        pushState() { },
123        go() { },
124        back() { },
125    },
126    CustomEvent: function CustomEvent() {
127        return this;
128    },
129    addEventListener() { },
130    removeEventListener() { },
131    getComputedStyle() {
132        return {
133            getPropertyValue() {
134                return '';
135            },
136        };
137    },
138    Image() { },
139    Date() { },
140    screen: {},
141    setTimeout() { },
142    clearTimeout() { },
143    matchMedia() {
144        return {};
145    },
146    requestAnimationFrame(callback) {
147        if (typeof setTimeout === 'undefined') {
148            callback();
149            return null;
150        }
151        return setTimeout(callback, 0);
152    },
153    cancelAnimationFrame(id) {
154        if (typeof setTimeout === 'undefined') {
155            return;
156        }
157        clearTimeout(id);
158    },
159};
160function getWindow() {
161    const win = typeof window !== 'undefined' ? window : {};
162    extend(win, ssrWindow);
163    return win;
164}
165
166
167
168
169/***/ }),
170
vendor: 1,854 bytes, lines 171-220
171/***/ "./node_modules/swiper/core/breakpoints/getBreakpoint.js":
172/*!***************************************************************!*\
173  !*** ./node_modules/swiper/core/breakpoints/getBreakpoint.js ***!
174  \***************************************************************/
175/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
176
177__webpack_require__.r(__webpack_exports__);
178/* harmony export */ __webpack_require__.d(__webpack_exports__, {
179/* harmony export */   "default": function() { return /* binding */ getBreakpoint; }
180/* harmony export */ });
181/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
182
183function getBreakpoint(breakpoints, base = 'window', containerEl) {
184  if (!breakpoints || base === 'container' && !containerEl) return undefined;
185  let breakpoint = false;
186  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
187  const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;
188  const points = Object.keys(breakpoints).map(point => {
189    if (typeof point === 'string' && point.indexOf('@') === 0) {
190      const minRatio = parseFloat(point.substr(1));
191      const value = currentHeight * minRatio;
192      return {
193        value,
194        point
195      };
196    }
197    return {
198      value: point,
199      point
200    };
201  });
202  points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));
203  for (let i = 0; i < points.length; i += 1) {
204    const {
205      point,
206      value
207    } = points[i];
208    if (base === 'window') {
209      if (window.matchMedia(`(min-width: ${value}px)`).matches) {
210        breakpoint = point;
211      }
212    } else if (value <= containerEl.clientWidth) {
213      breakpoint = point;
214    }
215  }
216  return breakpoint || 'max';
217}
218
219/***/ }),
220
vendor: 975 bytes, lines 221-238
221/***/ "./node_modules/swiper/core/breakpoints/index.js":
222/*!*******************************************************!*\
223  !*** ./node_modules/swiper/core/breakpoints/index.js ***!
224  \*******************************************************/
225/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
226
227__webpack_require__.r(__webpack_exports__);
228/* harmony import */ var _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setBreakpoint.js */ "./node_modules/swiper/core/breakpoints/setBreakpoint.js");
229/* harmony import */ var _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getBreakpoint.js */ "./node_modules/swiper/core/breakpoints/getBreakpoint.js");
230
231
232/* harmony default export */ __webpack_exports__["default"] = ({
233  setBreakpoint: _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__["default"],
234  getBreakpoint: _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__["default"]
235});
236
237/***/ }),
238
vendor: 3,666 bytes, lines 239-323
239/***/ "./node_modules/swiper/core/breakpoints/setBreakpoint.js":
240/*!***************************************************************!*\
241  !*** ./node_modules/swiper/core/breakpoints/setBreakpoint.js ***!
242  \***************************************************************/
243/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
244
245__webpack_require__.r(__webpack_exports__);
246/* harmony export */ __webpack_require__.d(__webpack_exports__, {
247/* harmony export */   "default": function() { return /* binding */ setBreakpoint; }
248/* harmony export */ });
249/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
250
251const isGridEnabled = (swiper, params) => {
252  return swiper.grid && params.grid && params.grid.rows > 1;
253};
254function setBreakpoint() {
255  const swiper = this;
256  const {
257    realIndex,
258    initialized,
259    params,
260    el
261  } = swiper;
262  const breakpoints = params.breakpoints;
263  if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;
264
265  // Get breakpoint for window width and update parameters
266  const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);
267  if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;
268  const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;
269  const breakpointParams = breakpointOnlyParams || swiper.originalParams;
270  const wasMultiRow = isGridEnabled(swiper, params);
271  const isMultiRow = isGridEnabled(swiper, breakpointParams);
272  const wasEnabled = params.enabled;
273  if (wasMultiRow && !isMultiRow) {
274    el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);
275    swiper.emitContainerClasses();
276  } else if (!wasMultiRow && isMultiRow) {
277    el.classList.add(`${params.containerModifierClass}grid`);
278    if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {
279      el.classList.add(`${params.containerModifierClass}grid-column`);
280    }
281    swiper.emitContainerClasses();
282  }
283
284  // Toggle navigation, pagination, scrollbar
285  ['navigation', 'pagination', 'scrollbar'].forEach(prop => {
286    const wasModuleEnabled = params[prop] && params[prop].enabled;
287    const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;
288    if (wasModuleEnabled && !isModuleEnabled) {
289      swiper[prop].disable();
290    }
291    if (!wasModuleEnabled && isModuleEnabled) {
292      swiper[prop].enable();
293    }
294  });
295  const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;
296  const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);
297  if (directionChanged && initialized) {
298    swiper.changeDirection();
299  }
300  (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(swiper.params, breakpointParams);
301  const isEnabled = swiper.params.enabled;
302  Object.assign(swiper, {
303    allowTouchMove: swiper.params.allowTouchMove,
304    allowSlideNext: swiper.params.allowSlideNext,
305    allowSlidePrev: swiper.params.allowSlidePrev
306  });
307  if (wasEnabled && !isEnabled) {
308    swiper.disable();
309  } else if (!wasEnabled && isEnabled) {
310    swiper.enable();
311  }
312  swiper.currentBreakpoint = breakpoint;
313  swiper.emit('_beforeBreakpoint', breakpointParams);
314  if (needsReLoop && initialized) {
315    swiper.loopDestroy();
316    swiper.loopCreate(realIndex);
317    swiper.updateSlides();
318  }
319  swiper.emit('breakpoint', breakpointParams);
320}
321
322/***/ }),
323
vendor: 1,344 bytes, lines 324-365
324/***/ "./node_modules/swiper/core/check-overflow/index.js":
325/*!**********************************************************!*\
326  !*** ./node_modules/swiper/core/check-overflow/index.js ***!
327  \**********************************************************/
328/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
329
330__webpack_require__.r(__webpack_exports__);
331function checkOverflow() {
332  const swiper = this;
333  const {
334    isLocked: wasLocked,
335    params
336  } = swiper;
337  const {
338    slidesOffsetBefore
339  } = params;
340  if (slidesOffsetBefore) {
341    const lastSlideIndex = swiper.slides.length - 1;
342    const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;
343    swiper.isLocked = swiper.size > lastSlideRightEdge;
344  } else {
345    swiper.isLocked = swiper.snapGrid.length === 1;
346  }
347  if (params.allowSlideNext === true) {
348    swiper.allowSlideNext = !swiper.isLocked;
349  }
350  if (params.allowSlidePrev === true) {
351    swiper.allowSlidePrev = !swiper.isLocked;
352  }
353  if (wasLocked && wasLocked !== swiper.isLocked) {
354    swiper.isEnd = false;
355  }
356  if (wasLocked !== swiper.isLocked) {
357    swiper.emit(swiper.isLocked ? 'lock' : 'unlock');
358  }
359}
360/* harmony default export */ __webpack_exports__["default"] = ({
361  checkOverflow
362});
363
364/***/ }),
365
vendor: 1,841 bytes, lines 366-428
366/***/ "./node_modules/swiper/core/classes/addClasses.js":
367/*!********************************************************!*\
368  !*** ./node_modules/swiper/core/classes/addClasses.js ***!
369  \********************************************************/
370/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
371
372__webpack_require__.r(__webpack_exports__);
373/* harmony export */ __webpack_require__.d(__webpack_exports__, {
374/* harmony export */   "default": function() { return /* binding */ addClasses; }
375/* harmony export */ });
376function prepareClasses(entries, prefix) {
377  const resultClasses = [];
378  entries.forEach(item => {
379    if (typeof item === 'object') {
380      Object.keys(item).forEach(classNames => {
381        if (item[classNames]) {
382          resultClasses.push(prefix + classNames);
383        }
384      });
385    } else if (typeof item === 'string') {
386      resultClasses.push(prefix + item);
387    }
388  });
389  return resultClasses;
390}
391function addClasses() {
392  const swiper = this;
393  const {
394    classNames,
395    params,
396    rtl,
397    el,
398    device
399  } = swiper;
400  // prettier-ignore
401  const suffixes = prepareClasses(['initialized', params.direction, {
402    'free-mode': swiper.params.freeMode && params.freeMode.enabled
403  }, {
404    'autoheight': params.autoHeight
405  }, {
406    'rtl': rtl
407  }, {
408    'grid': params.grid && params.grid.rows > 1
409  }, {
410    'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'
411  }, {
412    'android': device.android
413  }, {
414    'ios': device.ios
415  }, {
416    'css-mode': params.cssMode
417  }, {
418    'centered': params.cssMode && params.centeredSlides
419  }, {
420    'watch-progress': params.watchSlidesProgress
421  }], params.containerModifierClass);
422  classNames.push(...suffixes);
423  el.classList.add(...classNames);
424  swiper.emitContainerClasses();
425}
426
427/***/ }),
428
vendor: 936 bytes, lines 429-446
429/***/ "./node_modules/swiper/core/classes/index.js":
430/*!***************************************************!*\
431  !*** ./node_modules/swiper/core/classes/index.js ***!
432  \***************************************************/
433/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
434
435__webpack_require__.r(__webpack_exports__);
436/* harmony import */ var _addClasses_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./addClasses.js */ "./node_modules/swiper/core/classes/addClasses.js");
437/* harmony import */ var _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./removeClasses.js */ "./node_modules/swiper/core/classes/removeClasses.js");
438
439
440/* harmony default export */ __webpack_exports__["default"] = ({
441  addClasses: _addClasses_js__WEBPACK_IMPORTED_MODULE_0__["default"],
442  removeClasses: _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__["default"]
443});
444
445/***/ }),
446
vendor: 755 bytes, lines 447-468
447/***/ "./node_modules/swiper/core/classes/removeClasses.js":
448/*!***********************************************************!*\
449  !*** ./node_modules/swiper/core/classes/removeClasses.js ***!
450  \***********************************************************/
451/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
452
453__webpack_require__.r(__webpack_exports__);
454/* harmony export */ __webpack_require__.d(__webpack_exports__, {
455/* harmony export */   "default": function() { return /* binding */ removeClasses; }
456/* harmony export */ });
457function removeClasses() {
458  const swiper = this;
459  const {
460    el,
461    classNames
462  } = swiper;
463  el.classList.remove(...classNames);
464  swiper.emitContainerClasses();
465}
466
467/***/ }),
468
vendor: 23,627 bytes, lines 469-1097
469/***/ "./node_modules/swiper/core/core.js":
470/*!******************************************!*\
471  !*** ./node_modules/swiper/core/core.js ***!
472  \******************************************/
473/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
474
475__webpack_require__.r(__webpack_exports__);
476/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
477/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
478/* harmony import */ var _shared_get_support_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared/get-support.js */ "./node_modules/swiper/shared/get-support.js");
479/* harmony import */ var _shared_get_device_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared/get-device.js */ "./node_modules/swiper/shared/get-device.js");
480/* harmony import */ var _shared_get_browser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared/get-browser.js */ "./node_modules/swiper/shared/get-browser.js");
481/* harmony import */ var _modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/resize/resize.js */ "./node_modules/swiper/core/modules/resize/resize.js");
482/* harmony import */ var _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/observer/observer.js */ "./node_modules/swiper/core/modules/observer/observer.js");
483/* harmony import */ var _events_emitter_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./events-emitter.js */ "./node_modules/swiper/core/events-emitter.js");
484/* harmony import */ var _update_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./update/index.js */ "./node_modules/swiper/core/update/index.js");
485/* harmony import */ var _translate_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./translate/index.js */ "./node_modules/swiper/core/translate/index.js");
486/* harmony import */ var _transition_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./transition/index.js */ "./node_modules/swiper/core/transition/index.js");
487/* harmony import */ var _slide_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./slide/index.js */ "./node_modules/swiper/core/slide/index.js");
488/* harmony import */ var _loop_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./loop/index.js */ "./node_modules/swiper/core/loop/index.js");
489/* harmony import */ var _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./grab-cursor/index.js */ "./node_modules/swiper/core/grab-cursor/index.js");
490/* harmony import */ var _events_index_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./events/index.js */ "./node_modules/swiper/core/events/index.js");
491/* harmony import */ var _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./breakpoints/index.js */ "./node_modules/swiper/core/breakpoints/index.js");
492/* harmony import */ var _classes_index_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./classes/index.js */ "./node_modules/swiper/core/classes/index.js");
493/* harmony import */ var _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./check-overflow/index.js */ "./node_modules/swiper/core/check-overflow/index.js");
494/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./defaults.js */ "./node_modules/swiper/core/defaults.js");
495/* harmony import */ var _moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./moduleExtendParams.js */ "./node_modules/swiper/core/moduleExtendParams.js");
496/* harmony import */ var _shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../shared/process-lazy-preloader.js */ "./node_modules/swiper/shared/process-lazy-preloader.js");
497/* eslint no-param-reassign: "off" */
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519const prototypes = {
520  eventsEmitter: _events_emitter_js__WEBPACK_IMPORTED_MODULE_7__["default"],
521  update: _update_index_js__WEBPACK_IMPORTED_MODULE_8__["default"],
522  translate: _translate_index_js__WEBPACK_IMPORTED_MODULE_9__["default"],
523  transition: _transition_index_js__WEBPACK_IMPORTED_MODULE_10__["default"],
524  slide: _slide_index_js__WEBPACK_IMPORTED_MODULE_11__["default"],
525  loop: _loop_index_js__WEBPACK_IMPORTED_MODULE_12__["default"],
526  grabCursor: _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_13__["default"],
527  events: _events_index_js__WEBPACK_IMPORTED_MODULE_14__["default"],
528  breakpoints: _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_15__["default"],
529  checkOverflow: _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_17__["default"],
530  classes: _classes_index_js__WEBPACK_IMPORTED_MODULE_16__["default"]
531};
532const extendedDefaults = {};
533class Swiper {
534  constructor(...args) {
535    let el;
536    let params;
537    if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {
538      params = args[0];
539    } else {
540      [el, params] = args;
541    }
542    if (!params) params = {};
543    params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, params);
544    if (el && !params.el) params.el = el;
545    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
546    if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {
547      const swipers = [];
548      document.querySelectorAll(params.el).forEach(containerEl => {
549        const newParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, params, {
550          el: containerEl
551        });
552        swipers.push(new Swiper(newParams));
553      });
554      // eslint-disable-next-line no-constructor-return
555      return swipers;
556    }
557
558    // Swiper Instance
559    const swiper = this;
560    swiper.__swiper__ = true;
561    swiper.support = (0,_shared_get_support_js__WEBPACK_IMPORTED_MODULE_2__.getSupport)();
562    swiper.device = (0,_shared_get_device_js__WEBPACK_IMPORTED_MODULE_3__.getDevice)({
563      userAgent: params.userAgent
564    });
565    swiper.browser = (0,_shared_get_browser_js__WEBPACK_IMPORTED_MODULE_4__.getBrowser)();
566    swiper.eventsListeners = {};
567    swiper.eventsAnyListeners = [];
568    swiper.modules = [...swiper.__modules__];
569    if (params.modules && Array.isArray(params.modules)) {
570      swiper.modules.push(...params.modules);
571    }
572    const allModulesParams = {};
573    swiper.modules.forEach(mod => {
574      mod({
575        params,
576        swiper,
577        extendParams: (0,_moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_19__["default"])(params, allModulesParams),
578        on: swiper.on.bind(swiper),
579        once: swiper.once.bind(swiper),
580        off: swiper.off.bind(swiper),
581        emit: swiper.emit.bind(swiper)
582      });
583    });
584
585    // Extend defaults with modules params
586    const swiperParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, _defaults_js__WEBPACK_IMPORTED_MODULE_18__["default"], allModulesParams);
587
588    // Extend defaults with passed params
589    swiper.params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, swiperParams, extendedDefaults, params);
590    swiper.originalParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, swiper.params);
591    swiper.passedParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)({}, params);
592
593    // add event listeners
594    if (swiper.params && swiper.params.on) {
595      Object.keys(swiper.params.on).forEach(eventName => {
596        swiper.on(eventName, swiper.params.on[eventName]);
597      });
598    }
599    if (swiper.params && swiper.params.onAny) {
600      swiper.onAny(swiper.params.onAny);
601    }
602
603    // Extend Swiper
604    Object.assign(swiper, {
605      enabled: swiper.params.enabled,
606      el,
607      // Classes
608      classNames: [],
609      // Slides
610      slides: [],
611      slidesGrid: [],
612      snapGrid: [],
613      slidesSizesGrid: [],
614      // isDirection
615      isHorizontal() {
616        return swiper.params.direction === 'horizontal';
617      },
618      isVertical() {
619        return swiper.params.direction === 'vertical';
620      },
621      // Indexes
622      activeIndex: 0,
623      realIndex: 0,
624      //
625      isBeginning: true,
626      isEnd: false,
627      // Props
628      translate: 0,
629      previousTranslate: 0,
630      progress: 0,
631      velocity: 0,
632      animating: false,
633      cssOverflowAdjustment() {
634        // Returns 0 unless `translate` is > 2**23
635        // Should be subtracted from css values to prevent overflow
636        return Math.trunc(this.translate / 2 ** 23) * 2 ** 23;
637      },
638      // Locks
639      allowSlideNext: swiper.params.allowSlideNext,
640      allowSlidePrev: swiper.params.allowSlidePrev,
641      // Touch Events
642      touchEventsData: {
643        isTouched: undefined,
644        isMoved: undefined,
645        allowTouchCallbacks: undefined,
646        touchStartTime: undefined,
647        isScrolling: undefined,
648        currentTranslate: undefined,
649        startTranslate: undefined,
650        allowThresholdMove: undefined,
651        // Form elements to match
652        focusableElements: swiper.params.focusableElements,
653        // Last click time
654        lastClickTime: 0,
655        clickTimeout: undefined,
656        // Velocities
657        velocities: [],
658        allowMomentumBounce: undefined,
659        startMoving: undefined,
660        evCache: []
661      },
662      // Clicks
663      allowClick: true,
664      // Touches
665      allowTouchMove: swiper.params.allowTouchMove,
666      touches: {
667        startX: 0,
668        startY: 0,
669        currentX: 0,
670        currentY: 0,
671        diff: 0
672      },
673      // Images
674      imagesToLoad: [],
675      imagesLoaded: 0
676    });
677    swiper.emit('_swiper');
678
679    // Init
680    if (swiper.params.init) {
681      swiper.init();
682    }
683
684    // Return app instance
685    // eslint-disable-next-line no-constructor-return
686    return swiper;
687  }
688  getSlideIndex(slideEl) {
689    const {
690      slidesEl,
691      params
692    } = this;
693    const slides = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(slidesEl, `.${params.slideClass}, swiper-slide`);
694    const firstSlideIndex = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementIndex)(slides[0]);
695    return (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementIndex)(slideEl) - firstSlideIndex;
696  }
697  getSlideIndexByData(index) {
698    return this.getSlideIndex(this.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === index)[0]);
699  }
700  recalcSlides() {
701    const swiper = this;
702    const {
703      slidesEl,
704      params
705    } = swiper;
706    swiper.slides = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(slidesEl, `.${params.slideClass}, swiper-slide`);
707  }
708  enable() {
709    const swiper = this;
710    if (swiper.enabled) return;
711    swiper.enabled = true;
712    if (swiper.params.grabCursor) {
713      swiper.setGrabCursor();
714    }
715    swiper.emit('enable');
716  }
717  disable() {
718    const swiper = this;
719    if (!swiper.enabled) return;
720    swiper.enabled = false;
721    if (swiper.params.grabCursor) {
722      swiper.unsetGrabCursor();
723    }
724    swiper.emit('disable');
725  }
726  setProgress(progress, speed) {
727    const swiper = this;
728    progress = Math.min(Math.max(progress, 0), 1);
729    const min = swiper.minTranslate();
730    const max = swiper.maxTranslate();
731    const current = (max - min) * progress + min;
732    swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);
733    swiper.updateActiveIndex();
734    swiper.updateSlidesClasses();
735  }
736  emitContainerClasses() {
737    const swiper = this;
738    if (!swiper.params._emitClasses || !swiper.el) return;
739    const cls = swiper.el.className.split(' ').filter(className => {
740      return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;
741    });
742    swiper.emit('_containerClasses', cls.join(' '));
743  }
744  getSlideClasses(slideEl) {
745    const swiper = this;
746    if (swiper.destroyed) return '';
747    return slideEl.className.split(' ').filter(className => {
748      return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;
749    }).join(' ');
750  }
751  emitSlidesClasses() {
752    const swiper = this;
753    if (!swiper.params._emitClasses || !swiper.el) return;
754    const updates = [];
755    swiper.slides.forEach(slideEl => {
756      const classNames = swiper.getSlideClasses(slideEl);
757      updates.push({
758        slideEl,
759        classNames
760      });
761      swiper.emit('_slideClass', slideEl, classNames);
762    });
763    swiper.emit('_slideClasses', updates);
764  }
765  slidesPerViewDynamic(view = 'current', exact = false) {
766    const swiper = this;
767    const {
768      params,
769      slides,
770      slidesGrid,
771      slidesSizesGrid,
772      size: swiperSize,
773      activeIndex
774    } = swiper;
775    let spv = 1;
776    if (params.centeredSlides) {
777      let slideSize = slides[activeIndex].swiperSlideSize;
778      let breakLoop;
779      for (let i = activeIndex + 1; i < slides.length; i += 1) {
780        if (slides[i] && !breakLoop) {
781          slideSize += slides[i].swiperSlideSize;
782          spv += 1;
783          if (slideSize > swiperSize) breakLoop = true;
784        }
785      }
786      for (let i = activeIndex - 1; i >= 0; i -= 1) {
787        if (slides[i] && !breakLoop) {
788          slideSize += slides[i].swiperSlideSize;
789          spv += 1;
790          if (slideSize > swiperSize) breakLoop = true;
791        }
792      }
793    } else {
794      // eslint-disable-next-line
795      if (view === 'current') {
796        for (let i = activeIndex + 1; i < slides.length; i += 1) {
797          const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;
798          if (slideInView) {
799            spv += 1;
800          }
801        }
802      } else {
803        // previous
804        for (let i = activeIndex - 1; i >= 0; i -= 1) {
805          const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;
806          if (slideInView) {
807            spv += 1;
808          }
809        }
810      }
811    }
812    return spv;
813  }
814  update() {
815    const swiper = this;
816    if (!swiper || swiper.destroyed) return;
817    const {
818      snapGrid,
819      params
820    } = swiper;
821    // Breakpoints
822    if (params.breakpoints) {
823      swiper.setBreakpoint();
824    }
825    [...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl => {
826      if (imageEl.complete) {
827        (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.processLazyPreloader)(swiper, imageEl);
828      }
829    });
830    swiper.updateSize();
831    swiper.updateSlides();
832    swiper.updateProgress();
833    swiper.updateSlidesClasses();
834    function setTranslate() {
835      const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;
836      const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());
837      swiper.setTranslate(newTranslate);
838      swiper.updateActiveIndex();
839      swiper.updateSlidesClasses();
840    }
841    let translated;
842    if (swiper.params.freeMode && swiper.params.freeMode.enabled) {
843      setTranslate();
844      if (swiper.params.autoHeight) {
845        swiper.updateAutoHeight();
846      }
847    } else {
848      if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {
849        const slides = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides : swiper.slides;
850        translated = swiper.slideTo(slides.length - 1, 0, false, true);
851      } else {
852        translated = swiper.slideTo(swiper.activeIndex, 0, false, true);
853      }
854      if (!translated) {
855        setTranslate();
856      }
857    }
858    if (params.watchOverflow && snapGrid !== swiper.snapGrid) {
859      swiper.checkOverflow();
860    }
861    swiper.emit('update');
862  }
863  changeDirection(newDirection, needUpdate = true) {
864    const swiper = this;
865    const currentDirection = swiper.params.direction;
866    if (!newDirection) {
867      // eslint-disable-next-line
868      newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';
869    }
870    if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {
871      return swiper;
872    }
873    swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);
874    swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);
875    swiper.emitContainerClasses();
876    swiper.params.direction = newDirection;
877    swiper.slides.forEach(slideEl => {
878      if (newDirection === 'vertical') {
879        slideEl.style.width = '';
880      } else {
881        slideEl.style.height = '';
882      }
883    });
884    swiper.emit('changeDirection');
885    if (needUpdate) swiper.update();
886    return swiper;
887  }
888  changeLanguageDirection(direction) {
889    const swiper = this;
890    if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;
891    swiper.rtl = direction === 'rtl';
892    swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;
893    if (swiper.rtl) {
894      swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);
895      swiper.el.dir = 'rtl';
896    } else {
897      swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);
898      swiper.el.dir = 'ltr';
899    }
900    swiper.update();
901  }
902  mount(element) {
903    const swiper = this;
904    if (swiper.mounted) return true;
905
906    // Find el
907    let el = element || swiper.params.el;
908    if (typeof el === 'string') {
909      el = document.querySelector(el);
910    }
911    if (!el) {
912      return false;
913    }
914    el.swiper = swiper;
915    if (el.shadowEl) {
916      swiper.isElement = true;
917    }
918    const getWrapperSelector = () => {
919      return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;
920    };
921    const getWrapper = () => {
922      if (el && el.shadowRoot && el.shadowRoot.querySelector) {
923        const res = el.shadowRoot.querySelector(getWrapperSelector());
924        // Children needs to return slot items
925        return res;
926      }
927      return (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(el, getWrapperSelector())[0];
928    };
929    // Find Wrapper
930    let wrapperEl = getWrapper();
931    if (!wrapperEl && swiper.params.createElements) {
932      wrapperEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', swiper.params.wrapperClass);
933      el.append(wrapperEl);
934      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(el, `.${swiper.params.slideClass}`).forEach(slideEl => {
935        wrapperEl.append(slideEl);
936      });
937    }
938    Object.assign(swiper, {
939      el,
940      wrapperEl,
941      slidesEl: swiper.isElement ? el : wrapperEl,
942      mounted: true,
943      // RTL
944      rtl: el.dir.toLowerCase() === 'rtl' || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementStyle)(el, 'direction') === 'rtl',
945      rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementStyle)(el, 'direction') === 'rtl'),
946      wrongRTL: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementStyle)(wrapperEl, 'display') === '-webkit-box'
947    });
948    return true;
949  }
950  init(el) {
951    const swiper = this;
952    if (swiper.initialized) return swiper;
953    const mounted = swiper.mount(el);
954    if (mounted === false) return swiper;
955    swiper.emit('beforeInit');
956
957    // Set breakpoint
958    if (swiper.params.breakpoints) {
959      swiper.setBreakpoint();
960    }
961
962    // Add Classes
963    swiper.addClasses();
964
965    // Update size
966    swiper.updateSize();
967
968    // Update slides
969    swiper.updateSlides();
970    if (swiper.params.watchOverflow) {
971      swiper.checkOverflow();
972    }
973
974    // Set Grab Cursor
975    if (swiper.params.grabCursor && swiper.enabled) {
976      swiper.setGrabCursor();
977    }
978
979    // Slide To Initial Slide
980    if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {
981      swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);
982    } else {
983      swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);
984    }
985
986    // Create loop
987    if (swiper.params.loop) {
988      swiper.loopCreate();
989    }
990
991    // Attach events
992    swiper.attachEvents();
993    [...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl => {
994      if (imageEl.complete) {
995        (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.processLazyPreloader)(swiper, imageEl);
996      } else {
997        imageEl.addEventListener('load', e => {
998          (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.processLazyPreloader)(swiper, e.target);
999        });
1000      }
1001    });
1002    (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.preload)(swiper);
1003
1004    // Init Flag
1005    swiper.initialized = true;
1006    (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_20__.preload)(swiper);
1007
1008    // Emit
1009    swiper.emit('init');
1010    swiper.emit('afterInit');
1011    return swiper;
1012  }
1013  destroy(deleteInstance = true, cleanStyles = true) {
1014    const swiper = this;
1015    const {
1016      params,
1017      el,
1018      wrapperEl,
1019      slides
1020    } = swiper;
1021    if (typeof swiper.params === 'undefined' || swiper.destroyed) {
1022      return null;
1023    }
1024    swiper.emit('beforeDestroy');
1025
1026    // Init Flag
1027    swiper.initialized = false;
1028
1029    // Detach events
1030    swiper.detachEvents();
1031
1032    // Destroy loop
1033    if (params.loop) {
1034      swiper.loopDestroy();
1035    }
1036
1037    // Cleanup styles
1038    if (cleanStyles) {
1039      swiper.removeClasses();
1040      el.removeAttribute('style');
1041      wrapperEl.removeAttribute('style');
1042      if (slides && slides.length) {
1043        slides.forEach(slideEl => {
1044          slideEl.classList.remove(params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);
1045          slideEl.removeAttribute('style');
1046          slideEl.removeAttribute('data-swiper-slide-index');
1047        });
1048      }
1049    }
1050    swiper.emit('destroy');
1051
1052    // Detach emitter events
1053    Object.keys(swiper.eventsListeners).forEach(eventName => {
1054      swiper.off(eventName);
1055    });
1056    if (deleteInstance !== false) {
1057      swiper.el.swiper = null;
1058      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.deleteProps)(swiper);
1059    }
1060    swiper.destroyed = true;
1061    return null;
1062  }
1063  static extendDefaults(newDefaults) {
1064    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.extend)(extendedDefaults, newDefaults);
1065  }
1066  static get extendedDefaults() {
1067    return extendedDefaults;
1068  }
1069  static get defaults() {
1070    return _defaults_js__WEBPACK_IMPORTED_MODULE_18__["default"];
1071  }
1072  static installModule(mod) {
1073    if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];
1074    const modules = Swiper.prototype.__modules__;
1075    if (typeof mod === 'function' && modules.indexOf(mod) < 0) {
1076      modules.push(mod);
1077    }
1078  }
1079  static use(module) {
1080    if (Array.isArray(module)) {
1081      module.forEach(m => Swiper.installModule(m));
1082      return Swiper;
1083    }
1084    Swiper.installModule(module);
1085    return Swiper;
1086  }
1087}
1088Object.keys(prototypes).forEach(prototypeGroup => {
1089  Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {
1090    Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];
1091  });
1092});
1093Swiper.use([_modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_5__["default"], _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_6__["default"]]);
1094/* harmony default export */ __webpack_exports__["default"] = (Swiper);
1095
1096/***/ }),
1097
vendor: 3,257 bytes, lines 1098-1224
1098/***/ "./node_modules/swiper/core/defaults.js":
1099/*!**********************************************!*\
1100  !*** ./node_modules/swiper/core/defaults.js ***!
1101  \**********************************************/
1102/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1103
1104__webpack_require__.r(__webpack_exports__);
1105/* harmony default export */ __webpack_exports__["default"] = ({
1106  init: true,
1107  direction: 'horizontal',
1108  oneWayMovement: false,
1109  touchEventsTarget: 'wrapper',
1110  initialSlide: 0,
1111  speed: 300,
1112  cssMode: false,
1113  updateOnWindowResize: true,
1114  resizeObserver: true,
1115  nested: false,
1116  createElements: false,
1117  enabled: true,
1118  focusableElements: 'input, select, option, textarea, button, video, label',
1119  // Overrides
1120  width: null,
1121  height: null,
1122  //
1123  preventInteractionOnTransition: false,
1124  // ssr
1125  userAgent: null,
1126  url: null,
1127  // To support iOS's swipe-to-go-back gesture (when being used in-app).
1128  edgeSwipeDetection: false,
1129  edgeSwipeThreshold: 20,
1130  // Autoheight
1131  autoHeight: false,
1132  // Set wrapper width
1133  setWrapperSize: false,
1134  // Virtual Translate
1135  virtualTranslate: false,
1136  // Effects
1137  effect: 'slide',
1138  // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'
1139
1140  // Breakpoints
1141  breakpoints: undefined,
1142  breakpointsBase: 'window',
1143  // Slides grid
1144  spaceBetween: 0,
1145  slidesPerView: 1,
1146  slidesPerGroup: 1,
1147  slidesPerGroupSkip: 0,
1148  slidesPerGroupAuto: false,
1149  centeredSlides: false,
1150  centeredSlidesBounds: false,
1151  slidesOffsetBefore: 0,
1152  // in px
1153  slidesOffsetAfter: 0,
1154  // in px
1155  normalizeSlideIndex: true,
1156  centerInsufficientSlides: false,
1157  // Disable swiper and hide navigation when container not overflow
1158  watchOverflow: true,
1159  // Round length
1160  roundLengths: false,
1161  // Touches
1162  touchRatio: 1,
1163  touchAngle: 45,
1164  simulateTouch: true,
1165  shortSwipes: true,
1166  longSwipes: true,
1167  longSwipesRatio: 0.5,
1168  longSwipesMs: 300,
1169  followFinger: true,
1170  allowTouchMove: true,
1171  threshold: 5,
1172  touchMoveStopPropagation: false,
1173  touchStartPreventDefault: true,
1174  touchStartForcePreventDefault: false,
1175  touchReleaseOnEdges: false,
1176  // Unique Navigation Elements
1177  uniqueNavElements: true,
1178  // Resistance
1179  resistance: true,
1180  resistanceRatio: 0.85,
1181  // Progress
1182  watchSlidesProgress: false,
1183  // Cursor
1184  grabCursor: false,
1185  // Clicks
1186  preventClicks: true,
1187  preventClicksPropagation: true,
1188  slideToClickedSlide: false,
1189  // loop
1190  loop: false,
1191  loopedSlides: null,
1192  loopPreventsSliding: true,
1193  // rewind
1194  rewind: false,
1195  // Swiping/no swiping
1196  allowSlidePrev: true,
1197  allowSlideNext: true,
1198  swipeHandler: null,
1199  // '.swipe-handler',
1200  noSwiping: true,
1201  noSwipingClass: 'swiper-no-swiping',
1202  noSwipingSelector: null,
1203  // Passive Listeners
1204  passiveListeners: true,
1205  maxBackfaceHiddenSlides: 10,
1206  // NS
1207  containerModifierClass: 'swiper-',
1208  // NEW
1209  slideClass: 'swiper-slide',
1210  slideActiveClass: 'swiper-slide-active',
1211  slideVisibleClass: 'swiper-slide-visible',
1212  slideNextClass: 'swiper-slide-next',
1213  slidePrevClass: 'swiper-slide-prev',
1214  wrapperClass: 'swiper-wrapper',
1215  lazyPreloaderClass: 'swiper-lazy-preloader',
1216  lazyPreloadPrevNext: 0,
1217  // Callbacks
1218  runCallbacksOnInit: true,
1219  // Internals
1220  _emitClasses: false
1221});
1222
1223/***/ }),
1224
vendor: 3,708 bytes, lines 1225-1332
1225/***/ "./node_modules/swiper/core/events-emitter.js":
1226/*!****************************************************!*\
1227  !*** ./node_modules/swiper/core/events-emitter.js ***!
1228  \****************************************************/
1229/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1230
1231__webpack_require__.r(__webpack_exports__);
1232/* eslint-disable no-underscore-dangle */
1233
1234/* harmony default export */ __webpack_exports__["default"] = ({
1235  on(events, handler, priority) {
1236    const self = this;
1237    if (!self.eventsListeners || self.destroyed) return self;
1238    if (typeof handler !== 'function') return self;
1239    const method = priority ? 'unshift' : 'push';
1240    events.split(' ').forEach(event => {
1241      if (!self.eventsListeners[event]) self.eventsListeners[event] = [];
1242      self.eventsListeners[event][method](handler);
1243    });
1244    return self;
1245  },
1246  once(events, handler, priority) {
1247    const self = this;
1248    if (!self.eventsListeners || self.destroyed) return self;
1249    if (typeof handler !== 'function') return self;
1250    function onceHandler(...args) {
1251      self.off(events, onceHandler);
1252      if (onceHandler.__emitterProxy) {
1253        delete onceHandler.__emitterProxy;
1254      }
1255      handler.apply(self, args);
1256    }
1257    onceHandler.__emitterProxy = handler;
1258    return self.on(events, onceHandler, priority);
1259  },
1260  onAny(handler, priority) {
1261    const self = this;
1262    if (!self.eventsListeners || self.destroyed) return self;
1263    if (typeof handler !== 'function') return self;
1264    const method = priority ? 'unshift' : 'push';
1265    if (self.eventsAnyListeners.indexOf(handler) < 0) {
1266      self.eventsAnyListeners[method](handler);
1267    }
1268    return self;
1269  },
1270  offAny(handler) {
1271    const self = this;
1272    if (!self.eventsListeners || self.destroyed) return self;
1273    if (!self.eventsAnyListeners) return self;
1274    const index = self.eventsAnyListeners.indexOf(handler);
1275    if (index >= 0) {
1276      self.eventsAnyListeners.splice(index, 1);
1277    }
1278    return self;
1279  },
1280  off(events, handler) {
1281    const self = this;
1282    if (!self.eventsListeners || self.destroyed) return self;
1283    if (!self.eventsListeners) return self;
1284    events.split(' ').forEach(event => {
1285      if (typeof handler === 'undefined') {
1286        self.eventsListeners[event] = [];
1287      } else if (self.eventsListeners[event]) {
1288        self.eventsListeners[event].forEach((eventHandler, index) => {
1289          if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {
1290            self.eventsListeners[event].splice(index, 1);
1291          }
1292        });
1293      }
1294    });
1295    return self;
1296  },
1297  emit(...args) {
1298    const self = this;
1299    if (!self.eventsListeners || self.destroyed) return self;
1300    if (!self.eventsListeners) return self;
1301    let events;
1302    let data;
1303    let context;
1304    if (typeof args[0] === 'string' || Array.isArray(args[0])) {
1305      events = args[0];
1306      data = args.slice(1, args.length);
1307      context = self;
1308    } else {
1309      events = args[0].events;
1310      data = args[0].data;
1311      context = args[0].context || self;
1312    }
1313    data.unshift(context);
1314    const eventsArray = Array.isArray(events) ? events : events.split(' ');
1315    eventsArray.forEach(event => {
1316      if (self.eventsAnyListeners && self.eventsAnyListeners.length) {
1317        self.eventsAnyListeners.forEach(eventHandler => {
1318          eventHandler.apply(context, [event, ...data]);
1319        });
1320      }
1321      if (self.eventsListeners && self.eventsListeners[event]) {
1322        self.eventsListeners[event].forEach(eventHandler => {
1323          eventHandler.apply(context, data);
1324        });
1325      }
1326    });
1327    return self;
1328  }
1329});
1330
1331/***/ }),
1332
vendor: 4,328 bytes, lines 1333-1441
1333/***/ "./node_modules/swiper/core/events/index.js":
1334/*!**************************************************!*\
1335  !*** ./node_modules/swiper/core/events/index.js ***!
1336  \**************************************************/
1337/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1338
1339__webpack_require__.r(__webpack_exports__);
1340/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
1341/* harmony import */ var _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./onTouchStart.js */ "./node_modules/swiper/core/events/onTouchStart.js");
1342/* harmony import */ var _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./onTouchMove.js */ "./node_modules/swiper/core/events/onTouchMove.js");
1343/* harmony import */ var _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./onTouchEnd.js */ "./node_modules/swiper/core/events/onTouchEnd.js");
1344/* harmony import */ var _onResize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./onResize.js */ "./node_modules/swiper/core/events/onResize.js");
1345/* harmony import */ var _onClick_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./onClick.js */ "./node_modules/swiper/core/events/onClick.js");
1346/* harmony import */ var _onScroll_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./onScroll.js */ "./node_modules/swiper/core/events/onScroll.js");
1347/* harmony import */ var _onLoad_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./onLoad.js */ "./node_modules/swiper/core/events/onLoad.js");
1348
1349
1350
1351
1352
1353
1354
1355
1356let dummyEventAttached = false;
1357function dummyEventListener() {}
1358const events = (swiper, method) => {
1359  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
1360  const {
1361    params,
1362    el,
1363    wrapperEl,
1364    device
1365  } = swiper;
1366  const capture = !!params.nested;
1367  const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';
1368  const swiperMethod = method;
1369
1370  // Touch Events
1371  el[domMethod]('pointerdown', swiper.onTouchStart, {
1372    passive: false
1373  });
1374  document[domMethod]('pointermove', swiper.onTouchMove, {
1375    passive: false,
1376    capture
1377  });
1378  document[domMethod]('pointerup', swiper.onTouchEnd, {
1379    passive: true
1380  });
1381  document[domMethod]('pointercancel', swiper.onTouchEnd, {
1382    passive: true
1383  });
1384  document[domMethod]('pointerout', swiper.onTouchEnd, {
1385    passive: true
1386  });
1387  document[domMethod]('pointerleave', swiper.onTouchEnd, {
1388    passive: true
1389  });
1390
1391  // Prevent Links Clicks
1392  if (params.preventClicks || params.preventClicksPropagation) {
1393    el[domMethod]('click', swiper.onClick, true);
1394  }
1395  if (params.cssMode) {
1396    wrapperEl[domMethod]('scroll', swiper.onScroll);
1397  }
1398
1399  // Resize handler
1400  if (params.updateOnWindowResize) {
1401    swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__["default"], true);
1402  } else {
1403    swiper[swiperMethod]('observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__["default"], true);
1404  }
1405
1406  // Images loader
1407  el[domMethod]('load', swiper.onLoad, {
1408    capture: true
1409  });
1410};
1411function attachEvents() {
1412  const swiper = this;
1413  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
1414  const {
1415    params
1416  } = swiper;
1417  swiper.onTouchStart = _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__["default"].bind(swiper);
1418  swiper.onTouchMove = _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__["default"].bind(swiper);
1419  swiper.onTouchEnd = _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__["default"].bind(swiper);
1420  if (params.cssMode) {
1421    swiper.onScroll = _onScroll_js__WEBPACK_IMPORTED_MODULE_6__["default"].bind(swiper);
1422  }
1423  swiper.onClick = _onClick_js__WEBPACK_IMPORTED_MODULE_5__["default"].bind(swiper);
1424  swiper.onLoad = _onLoad_js__WEBPACK_IMPORTED_MODULE_7__["default"].bind(swiper);
1425  if (!dummyEventAttached) {
1426    document.addEventListener('touchstart', dummyEventListener);
1427    dummyEventAttached = true;
1428  }
1429  events(swiper, 'on');
1430}
1431function detachEvents() {
1432  const swiper = this;
1433  events(swiper, 'off');
1434}
1435/* harmony default export */ __webpack_exports__["default"] = ({
1436  attachEvents,
1437  detachEvents
1438});
1439
1440/***/ }),
1441
vendor: 857 bytes, lines 1442-1465
1442/***/ "./node_modules/swiper/core/events/onClick.js":
1443/*!****************************************************!*\
1444  !*** ./node_modules/swiper/core/events/onClick.js ***!
1445  \****************************************************/
1446/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1447
1448__webpack_require__.r(__webpack_exports__);
1449/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1450/* harmony export */   "default": function() { return /* binding */ onClick; }
1451/* harmony export */ });
1452function onClick(e) {
1453  const swiper = this;
1454  if (!swiper.enabled) return;
1455  if (!swiper.allowClick) {
1456    if (swiper.params.preventClicks) e.preventDefault();
1457    if (swiper.params.preventClicksPropagation && swiper.animating) {
1458      e.stopPropagation();
1459      e.stopImmediatePropagation();
1460    }
1461  }
1462}
1463
1464/***/ }),
1465
vendor: 1,054 bytes, lines 1466-1488
1466/***/ "./node_modules/swiper/core/events/onLoad.js":
1467/*!***************************************************!*\
1468  !*** ./node_modules/swiper/core/events/onLoad.js ***!
1469  \***************************************************/
1470/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1471
1472__webpack_require__.r(__webpack_exports__);
1473/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1474/* harmony export */   "default": function() { return /* binding */ onLoad; }
1475/* harmony export */ });
1476/* harmony import */ var _shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/process-lazy-preloader.js */ "./node_modules/swiper/shared/process-lazy-preloader.js");
1477
1478function onLoad(e) {
1479  const swiper = this;
1480  (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_0__.processLazyPreloader)(swiper, e.target);
1481  if (swiper.params.cssMode || swiper.params.slidesPerView !== 'auto' && !swiper.params.autoHeight) {
1482    return;
1483  }
1484  swiper.update();
1485}
1486
1487/***/ }),
1488
vendor: 2,111 bytes, lines 1489-1553
1489/***/ "./node_modules/swiper/core/events/onResize.js":
1490/*!*****************************************************!*\
1491  !*** ./node_modules/swiper/core/events/onResize.js ***!
1492  \*****************************************************/
1493/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1494
1495__webpack_require__.r(__webpack_exports__);
1496/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1497/* harmony export */   "default": function() { return /* binding */ onResize; }
1498/* harmony export */ });
1499function onResize() {
1500  const swiper = this;
1501  const {
1502    params,
1503    el
1504  } = swiper;
1505  if (el && el.offsetWidth === 0) return;
1506
1507  // Breakpoints
1508  if (params.breakpoints) {
1509    swiper.setBreakpoint();
1510  }
1511
1512  // Save locks
1513  const {
1514    allowSlideNext,
1515    allowSlidePrev,
1516    snapGrid
1517  } = swiper;
1518  const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
1519
1520  // Disable locks on resize
1521  swiper.allowSlideNext = true;
1522  swiper.allowSlidePrev = true;
1523  swiper.updateSize();
1524  swiper.updateSlides();
1525  swiper.updateSlidesClasses();
1526  const isVirtualLoop = isVirtual && params.loop;
1527  if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {
1528    swiper.slideTo(swiper.slides.length - 1, 0, false, true);
1529  } else {
1530    if (swiper.params.loop && !isVirtual) {
1531      swiper.slideToLoop(swiper.realIndex, 0, false, true);
1532    } else {
1533      swiper.slideTo(swiper.activeIndex, 0, false, true);
1534    }
1535  }
1536  if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
1537    clearTimeout(swiper.autoplay.resizeTimeout);
1538    swiper.autoplay.resizeTimeout = setTimeout(() => {
1539      if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
1540        swiper.autoplay.resume();
1541      }
1542    }, 500);
1543  }
1544  // Return locks after resize
1545  swiper.allowSlidePrev = allowSlidePrev;
1546  swiper.allowSlideNext = allowSlideNext;
1547  if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {
1548    swiper.checkOverflow();
1549  }
1550}
1551
1552/***/ }),
1553
vendor: 1,441 bytes, lines 1554-1596
1554/***/ "./node_modules/swiper/core/events/onScroll.js":
1555/*!*****************************************************!*\
1556  !*** ./node_modules/swiper/core/events/onScroll.js ***!
1557  \*****************************************************/
1558/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1559
1560__webpack_require__.r(__webpack_exports__);
1561/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1562/* harmony export */   "default": function() { return /* binding */ onScroll; }
1563/* harmony export */ });
1564function onScroll() {
1565  const swiper = this;
1566  const {
1567    wrapperEl,
1568    rtlTranslate,
1569    enabled
1570  } = swiper;
1571  if (!enabled) return;
1572  swiper.previousTranslate = swiper.translate;
1573  if (swiper.isHorizontal()) {
1574    swiper.translate = -wrapperEl.scrollLeft;
1575  } else {
1576    swiper.translate = -wrapperEl.scrollTop;
1577  }
1578  // eslint-disable-next-line
1579  if (swiper.translate === 0) swiper.translate = 0;
1580  swiper.updateActiveIndex();
1581  swiper.updateSlidesClasses();
1582  let newProgress;
1583  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
1584  if (translatesDiff === 0) {
1585    newProgress = 0;
1586  } else {
1587    newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;
1588  }
1589  if (newProgress !== swiper.progress) {
1590    swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);
1591  }
1592  swiper.emit('setTranslate', swiper.translate, false);
1593}
1594
1595/***/ }),
1596
vendor: 5,978 bytes, lines 1597-1760
1597/***/ "./node_modules/swiper/core/events/onTouchEnd.js":
1598/*!*******************************************************!*\
1599  !*** ./node_modules/swiper/core/events/onTouchEnd.js ***!
1600  \*******************************************************/
1601/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1602
1603__webpack_require__.r(__webpack_exports__);
1604/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1605/* harmony export */   "default": function() { return /* binding */ onTouchEnd; }
1606/* harmony export */ });
1607/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
1608
1609function onTouchEnd(event) {
1610  const swiper = this;
1611  const data = swiper.touchEventsData;
1612  const pointerIndex = data.evCache.findIndex(cachedEv => cachedEv.pointerId === event.pointerId);
1613  if (pointerIndex >= 0) {
1614    data.evCache.splice(pointerIndex, 1);
1615  }
1616  if (['pointercancel', 'pointerout', 'pointerleave'].includes(event.type)) {
1617    const proceed = event.type === 'pointercancel' && (swiper.browser.isSafari || swiper.browser.isWebView);
1618    if (!proceed) {
1619      return;
1620    }
1621  }
1622  const {
1623    params,
1624    touches,
1625    rtlTranslate: rtl,
1626    slidesGrid,
1627    enabled
1628  } = swiper;
1629  if (!enabled) return;
1630  if (!params.simulateTouch && event.pointerType === 'mouse') return;
1631  let e = event;
1632  if (e.originalEvent) e = e.originalEvent;
1633  if (data.allowTouchCallbacks) {
1634    swiper.emit('touchEnd', e);
1635  }
1636  data.allowTouchCallbacks = false;
1637  if (!data.isTouched) {
1638    if (data.isMoved && params.grabCursor) {
1639      swiper.setGrabCursor(false);
1640    }
1641    data.isMoved = false;
1642    data.startMoving = false;
1643    return;
1644  }
1645  // Return Grab Cursor
1646  if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
1647    swiper.setGrabCursor(false);
1648  }
1649
1650  // Time diff
1651  const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();
1652  const timeDiff = touchEndTime - data.touchStartTime;
1653
1654  // Tap, doubleTap, Click
1655  if (swiper.allowClick) {
1656    const pathTree = e.path || e.composedPath && e.composedPath();
1657    swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);
1658    swiper.emit('tap click', e);
1659    if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {
1660      swiper.emit('doubleTap doubleClick', e);
1661    }
1662  }
1663  data.lastClickTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();
1664  (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
1665    if (!swiper.destroyed) swiper.allowClick = true;
1666  });
1667  if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {
1668    data.isTouched = false;
1669    data.isMoved = false;
1670    data.startMoving = false;
1671    return;
1672  }
1673  data.isTouched = false;
1674  data.isMoved = false;
1675  data.startMoving = false;
1676  let currentPos;
1677  if (params.followFinger) {
1678    currentPos = rtl ? swiper.translate : -swiper.translate;
1679  } else {
1680    currentPos = -data.currentTranslate;
1681  }
1682  if (params.cssMode) {
1683    return;
1684  }
1685  if (swiper.params.freeMode && params.freeMode.enabled) {
1686    swiper.freeMode.onTouchEnd({
1687      currentPos
1688    });
1689    return;
1690  }
1691
1692  // Find current slide
1693  let stopIndex = 0;
1694  let groupSize = swiper.slidesSizesGrid[0];
1695  for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {
1696    const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
1697    if (typeof slidesGrid[i + increment] !== 'undefined') {
1698      if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {
1699        stopIndex = i;
1700        groupSize = slidesGrid[i + increment] - slidesGrid[i];
1701      }
1702    } else if (currentPos >= slidesGrid[i]) {
1703      stopIndex = i;
1704      groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
1705    }
1706  }
1707  let rewindFirstIndex = null;
1708  let rewindLastIndex = null;
1709  if (params.rewind) {
1710    if (swiper.isBeginning) {
1711      rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;
1712    } else if (swiper.isEnd) {
1713      rewindFirstIndex = 0;
1714    }
1715  }
1716  // Find current slide size
1717  const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;
1718  const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
1719  if (timeDiff > params.longSwipesMs) {
1720    // Long touches
1721    if (!params.longSwipes) {
1722      swiper.slideTo(swiper.activeIndex);
1723      return;
1724    }
1725    if (swiper.swipeDirection === 'next') {
1726      if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);
1727    }
1728    if (swiper.swipeDirection === 'prev') {
1729      if (ratio > 1 - params.longSwipesRatio) {
1730        swiper.slideTo(stopIndex + increment);
1731      } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {
1732        swiper.slideTo(rewindLastIndex);
1733      } else {
1734        swiper.slideTo(stopIndex);
1735      }
1736    }
1737  } else {
1738    // Short swipes
1739    if (!params.shortSwipes) {
1740      swiper.slideTo(swiper.activeIndex);
1741      return;
1742    }
1743    const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);
1744    if (!isNavButtonTarget) {
1745      if (swiper.swipeDirection === 'next') {
1746        swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);
1747      }
1748      if (swiper.swipeDirection === 'prev') {
1749        swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);
1750      }
1751    } else if (e.target === swiper.navigation.nextEl) {
1752      swiper.slideTo(stopIndex + increment);
1753    } else {
1754      swiper.slideTo(stopIndex);
1755    }
1756  }
1757}
1758
1759/***/ }),
1760
vendor: 9,334 bytes, lines 1761-2016
1761/***/ "./node_modules/swiper/core/events/onTouchMove.js":
1762/*!********************************************************!*\
1763  !*** ./node_modules/swiper/core/events/onTouchMove.js ***!
1764  \********************************************************/
1765/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
1766
1767__webpack_require__.r(__webpack_exports__);
1768/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1769/* harmony export */   "default": function() { return /* binding */ onTouchMove; }
1770/* harmony export */ });
1771/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
1772/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
1773
1774
1775function onTouchMove(event) {
1776  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
1777  const swiper = this;
1778  const data = swiper.touchEventsData;
1779  const {
1780    params,
1781    touches,
1782    rtlTranslate: rtl,
1783    enabled
1784  } = swiper;
1785  if (!enabled) return;
1786  if (!params.simulateTouch && event.pointerType === 'mouse') return;
1787  let e = event;
1788  if (e.originalEvent) e = e.originalEvent;
1789  if (!data.isTouched) {
1790    if (data.startMoving && data.isScrolling) {
1791      swiper.emit('touchMoveOpposite', e);
1792    }
1793    return;
1794  }
1795  const pointerIndex = data.evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);
1796  if (pointerIndex >= 0) data.evCache[pointerIndex] = e;
1797  const targetTouch = data.evCache.length > 1 ? data.evCache[0] : e;
1798  const pageX = targetTouch.pageX;
1799  const pageY = targetTouch.pageY;
1800  if (e.preventedByNestedSwiper) {
1801    touches.startX = pageX;
1802    touches.startY = pageY;
1803    return;
1804  }
1805  if (!swiper.allowTouchMove) {
1806    if (!e.target.matches(data.focusableElements)) {
1807      swiper.allowClick = false;
1808    }
1809    if (data.isTouched) {
1810      Object.assign(touches, {
1811        startX: pageX,
1812        startY: pageY,
1813        prevX: swiper.touches.currentX,
1814        prevY: swiper.touches.currentY,
1815        currentX: pageX,
1816        currentY: pageY
1817      });
1818      data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)();
1819    }
1820    return;
1821  }
1822  if (params.touchReleaseOnEdges && !params.loop) {
1823    if (swiper.isVertical()) {
1824      // Vertical
1825      if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {
1826        data.isTouched = false;
1827        data.isMoved = false;
1828        return;
1829      }
1830    } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {
1831      return;
1832    }
1833  }
1834  if (document.activeElement) {
1835    if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {
1836      data.isMoved = true;
1837      swiper.allowClick = false;
1838      return;
1839    }
1840  }
1841  if (data.allowTouchCallbacks) {
1842    swiper.emit('touchMove', e);
1843  }
1844  if (e.targetTouches && e.targetTouches.length > 1) return;
1845  touches.currentX = pageX;
1846  touches.currentY = pageY;
1847  const diffX = touches.currentX - touches.startX;
1848  const diffY = touches.currentY - touches.startY;
1849  if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;
1850  if (typeof data.isScrolling === 'undefined') {
1851    let touchAngle;
1852    if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {
1853      data.isScrolling = false;
1854    } else {
1855      // eslint-disable-next-line
1856      if (diffX * diffX + diffY * diffY >= 25) {
1857        touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;
1858        data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;
1859      }
1860    }
1861  }
1862  if (data.isScrolling) {
1863    swiper.emit('touchMoveOpposite', e);
1864  }
1865  if (typeof data.startMoving === 'undefined') {
1866    if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {
1867      data.startMoving = true;
1868    }
1869  }
1870  if (data.isScrolling || swiper.zoom && swiper.params.zoom && swiper.params.zoom.enabled && data.evCache.length > 1) {
1871    data.isTouched = false;
1872    return;
1873  }
1874  if (!data.startMoving) {
1875    return;
1876  }
1877  swiper.allowClick = false;
1878  if (!params.cssMode && e.cancelable) {
1879    e.preventDefault();
1880  }
1881  if (params.touchMoveStopPropagation && !params.nested) {
1882    e.stopPropagation();
1883  }
1884  let diff = swiper.isHorizontal() ? diffX : diffY;
1885  let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;
1886  if (params.oneWayMovement) {
1887    diff = Math.abs(diff) * (rtl ? 1 : -1);
1888    touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);
1889  }
1890  touches.diff = diff;
1891  diff *= params.touchRatio;
1892  if (rtl) {
1893    diff = -diff;
1894    touchesDiff = -touchesDiff;
1895  }
1896  const prevTouchesDirection = swiper.touchesDirection;
1897  swiper.swipeDirection = diff > 0 ? 'prev' : 'next';
1898  swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';
1899  const isLoop = swiper.params.loop && !params.cssMode;
1900  if (!data.isMoved) {
1901    if (isLoop) {
1902      swiper.loopFix({
1903        direction: swiper.swipeDirection
1904      });
1905    }
1906    data.startTranslate = swiper.getTranslate();
1907    swiper.setTransition(0);
1908    if (swiper.animating) {
1909      const evt = new window.CustomEvent('transitionend', {
1910        bubbles: true,
1911        cancelable: true
1912      });
1913      swiper.wrapperEl.dispatchEvent(evt);
1914    }
1915    data.allowMomentumBounce = false;
1916    // Grab Cursor
1917    if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
1918      swiper.setGrabCursor(true);
1919    }
1920    swiper.emit('sliderFirstMove', e);
1921  }
1922  let loopFixed;
1923  if (data.isMoved && prevTouchesDirection !== swiper.touchesDirection && isLoop && Math.abs(diff) >= 1) {
1924    // need another loop fix
1925    swiper.loopFix({
1926      direction: swiper.swipeDirection,
1927      setTranslate: true
1928    });
1929    loopFixed = true;
1930  }
1931  swiper.emit('sliderMove', e);
1932  data.isMoved = true;
1933  data.currentTranslate = diff + data.startTranslate;
1934  let disableParentSwiper = true;
1935  let resistanceRatio = params.resistanceRatio;
1936  if (params.touchReleaseOnEdges) {
1937    resistanceRatio = 0;
1938  }
1939  if (diff > 0) {
1940    if (isLoop && !loopFixed && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.size / 2 : swiper.minTranslate())) {
1941      swiper.loopFix({
1942        direction: 'prev',
1943        setTranslate: true,
1944        activeSlideIndex: 0
1945      });
1946    }
1947    if (data.currentTranslate > swiper.minTranslate()) {
1948      disableParentSwiper = false;
1949      if (params.resistance) {
1950        data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;
1951      }
1952    }
1953  } else if (diff < 0) {
1954    if (isLoop && !loopFixed && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.size / 2 : swiper.maxTranslate())) {
1955      swiper.loopFix({
1956        direction: 'next',
1957        setTranslate: true,
1958        activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))
1959      });
1960    }
1961    if (data.currentTranslate < swiper.maxTranslate()) {
1962      disableParentSwiper = false;
1963      if (params.resistance) {
1964        data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;
1965      }
1966    }
1967  }
1968  if (disableParentSwiper) {
1969    e.preventedByNestedSwiper = true;
1970  }
1971
1972  // Directions locks
1973  if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {
1974    data.currentTranslate = data.startTranslate;
1975  }
1976  if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {
1977    data.currentTranslate = data.startTranslate;
1978  }
1979  if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {
1980    data.currentTranslate = data.startTranslate;
1981  }
1982
1983  // Threshold
1984  if (params.threshold > 0) {
1985    if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {
1986      if (!data.allowThresholdMove) {
1987        data.allowThresholdMove = true;
1988        touches.startX = touches.currentX;
1989        touches.startY = touches.currentY;
1990        data.currentTranslate = data.startTranslate;
1991        touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;
1992        return;
1993      }
1994    } else {
1995      data.currentTranslate = data.startTranslate;
1996      return;
1997    }
1998  }
1999  if (!params.followFinger || params.cssMode) return;
2000
2001  // Update active index in free mode
2002  if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {
2003    swiper.updateActiveIndex();
2004    swiper.updateSlidesClasses();
2005  }
2006  if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {
2007    swiper.freeMode.onTouchMove();
2008  }
2009  // Update progress
2010  swiper.updateProgress(data.currentTranslate);
2011  // Update translate
2012  swiper.setTranslate(data.currentTranslate);
2013}
2014
2015/***/ }),
2016
vendor: 5,209 bytes, lines 2017-2143
2017/***/ "./node_modules/swiper/core/events/onTouchStart.js":
2018/*!*********************************************************!*\
2019  !*** ./node_modules/swiper/core/events/onTouchStart.js ***!
2020  \*********************************************************/
2021/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2022
2023__webpack_require__.r(__webpack_exports__);
2024/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2025/* harmony export */   "default": function() { return /* binding */ onTouchStart; }
2026/* harmony export */ });
2027/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
2028/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
2029
2030
2031
2032// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd
2033function closestElement(selector, base = this) {
2034  function __closestFrom(el) {
2035    if (!el || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)() || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)()) return null;
2036    if (el.assignedSlot) el = el.assignedSlot;
2037    const found = el.closest(selector);
2038    if (!found && !el.getRootNode) {
2039      return null;
2040    }
2041    return found || __closestFrom(el.getRootNode().host);
2042  }
2043  return __closestFrom(base);
2044}
2045function onTouchStart(event) {
2046  const swiper = this;
2047  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
2048  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
2049  const data = swiper.touchEventsData;
2050  data.evCache.push(event);
2051  const {
2052    params,
2053    touches,
2054    enabled
2055  } = swiper;
2056  if (!enabled) return;
2057  if (!params.simulateTouch && event.pointerType === 'mouse') return;
2058  if (swiper.animating && params.preventInteractionOnTransition) {
2059    return;
2060  }
2061  if (!swiper.animating && params.cssMode && params.loop) {
2062    swiper.loopFix();
2063  }
2064  let e = event;
2065  if (e.originalEvent) e = e.originalEvent;
2066  let targetEl = e.target;
2067  if (params.touchEventsTarget === 'wrapper') {
2068    if (!swiper.wrapperEl.contains(targetEl)) return;
2069  }
2070  if ('which' in e && e.which === 3) return;
2071  if ('button' in e && e.button > 0) return;
2072  if (data.isTouched && data.isMoved) return;
2073
2074  // change target el for shadow root component
2075  const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';
2076  // eslint-disable-next-line
2077  const eventPath = event.composedPath ? event.composedPath() : event.path;
2078  if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {
2079    targetEl = eventPath[0];
2080  }
2081  const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;
2082  const isTargetShadow = !!(e.target && e.target.shadowRoot);
2083
2084  // use closestElement for shadow root element to get the actual closest for nested shadow root element
2085  if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {
2086    swiper.allowClick = true;
2087    return;
2088  }
2089  if (params.swipeHandler) {
2090    if (!targetEl.closest(params.swipeHandler)) return;
2091  }
2092  touches.currentX = e.pageX;
2093  touches.currentY = e.pageY;
2094  const startX = touches.currentX;
2095  const startY = touches.currentY;
2096
2097  // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore
2098
2099  const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;
2100  const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;
2101  if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {
2102    if (edgeSwipeDetection === 'prevent') {
2103      event.preventDefault();
2104    } else {
2105      return;
2106    }
2107  }
2108  Object.assign(data, {
2109    isTouched: true,
2110    isMoved: false,
2111    allowTouchCallbacks: true,
2112    isScrolling: undefined,
2113    startMoving: undefined
2114  });
2115  touches.startX = startX;
2116  touches.startY = startY;
2117  data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)();
2118  swiper.allowClick = true;
2119  swiper.updateSize();
2120  swiper.swipeDirection = undefined;
2121  if (params.threshold > 0) data.allowThresholdMove = false;
2122  let preventDefault = true;
2123  if (targetEl.matches(data.focusableElements)) {
2124    preventDefault = false;
2125    if (targetEl.nodeName === 'SELECT') {
2126      data.isTouched = false;
2127    }
2128  }
2129  if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) {
2130    document.activeElement.blur();
2131  }
2132  const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;
2133  if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {
2134    e.preventDefault();
2135  }
2136  if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {
2137    swiper.freeMode.onTouchStart();
2138  }
2139  swiper.emit('touchStart', e);
2140}
2141
2142/***/ }),
2143
vendor: 985 bytes, lines 2144-2161
2144/***/ "./node_modules/swiper/core/grab-cursor/index.js":
2145/*!*******************************************************!*\
2146  !*** ./node_modules/swiper/core/grab-cursor/index.js ***!
2147  \*******************************************************/
2148/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2149
2150__webpack_require__.r(__webpack_exports__);
2151/* harmony import */ var _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setGrabCursor.js */ "./node_modules/swiper/core/grab-cursor/setGrabCursor.js");
2152/* harmony import */ var _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./unsetGrabCursor.js */ "./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js");
2153
2154
2155/* harmony default export */ __webpack_exports__["default"] = ({
2156  setGrabCursor: _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__["default"],
2157  unsetGrabCursor: _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__["default"]
2158});
2159
2160/***/ }),
2161
vendor: 1,132 bytes, lines 2162-2189
2162/***/ "./node_modules/swiper/core/grab-cursor/setGrabCursor.js":
2163/*!***************************************************************!*\
2164  !*** ./node_modules/swiper/core/grab-cursor/setGrabCursor.js ***!
2165  \***************************************************************/
2166/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2167
2168__webpack_require__.r(__webpack_exports__);
2169/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2170/* harmony export */   "default": function() { return /* binding */ setGrabCursor; }
2171/* harmony export */ });
2172function setGrabCursor(moving) {
2173  const swiper = this;
2174  if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;
2175  const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;
2176  if (swiper.isElement) {
2177    swiper.__preventObserver__ = true;
2178  }
2179  el.style.cursor = 'move';
2180  el.style.cursor = moving ? 'grabbing' : 'grab';
2181  if (swiper.isElement) {
2182    requestAnimationFrame(() => {
2183      swiper.__preventObserver__ = false;
2184    });
2185  }
2186}
2187
2188/***/ }),
2189
vendor: 1,043 bytes, lines 2190-2217
2190/***/ "./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js":
2191/*!*****************************************************************!*\
2192  !*** ./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js ***!
2193  \*****************************************************************/
2194/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2195
2196__webpack_require__.r(__webpack_exports__);
2197/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2198/* harmony export */   "default": function() { return /* binding */ unsetGrabCursor; }
2199/* harmony export */ });
2200function unsetGrabCursor() {
2201  const swiper = this;
2202  if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {
2203    return;
2204  }
2205  if (swiper.isElement) {
2206    swiper.__preventObserver__ = true;
2207  }
2208  swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';
2209  if (swiper.isElement) {
2210    requestAnimationFrame(() => {
2211      swiper.__preventObserver__ = false;
2212    });
2213  }
2214}
2215
2216/***/ }),
2217
vendor: 1,128 bytes, lines 2218-2238
2218/***/ "./node_modules/swiper/core/loop/index.js":
2219/*!************************************************!*\
2220  !*** ./node_modules/swiper/core/loop/index.js ***!
2221  \************************************************/
2222/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2223
2224__webpack_require__.r(__webpack_exports__);
2225/* harmony import */ var _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loopCreate.js */ "./node_modules/swiper/core/loop/loopCreate.js");
2226/* harmony import */ var _loopFix_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loopFix.js */ "./node_modules/swiper/core/loop/loopFix.js");
2227/* harmony import */ var _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./loopDestroy.js */ "./node_modules/swiper/core/loop/loopDestroy.js");
2228
2229
2230
2231/* harmony default export */ __webpack_exports__["default"] = ({
2232  loopCreate: _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"],
2233  loopFix: _loopFix_js__WEBPACK_IMPORTED_MODULE_1__["default"],
2234  loopDestroy: _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__["default"]
2235});
2236
2237/***/ }),
2238
vendor: 1,245 bytes, lines 2239-2269
2239/***/ "./node_modules/swiper/core/loop/loopCreate.js":
2240/*!*****************************************************!*\
2241  !*** ./node_modules/swiper/core/loop/loopCreate.js ***!
2242  \*****************************************************/
2243/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2244
2245__webpack_require__.r(__webpack_exports__);
2246/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2247/* harmony export */   "default": function() { return /* binding */ loopCreate; }
2248/* harmony export */ });
2249/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
2250
2251function loopCreate(slideRealIndex) {
2252  const swiper = this;
2253  const {
2254    params,
2255    slidesEl
2256  } = swiper;
2257  if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;
2258  const slides = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `.${params.slideClass}, swiper-slide`);
2259  slides.forEach((el, index) => {
2260    el.setAttribute('data-swiper-slide-index', index);
2261  });
2262  swiper.loopFix({
2263    slideRealIndex,
2264    direction: params.centeredSlides ? undefined : 'next'
2265  });
2266}
2267
2268/***/ }),
2269
vendor: 1,260 bytes, lines 2270-2304
2270/***/ "./node_modules/swiper/core/loop/loopDestroy.js":
2271/*!******************************************************!*\
2272  !*** ./node_modules/swiper/core/loop/loopDestroy.js ***!
2273  \******************************************************/
2274/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2275
2276__webpack_require__.r(__webpack_exports__);
2277/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2278/* harmony export */   "default": function() { return /* binding */ loopDestroy; }
2279/* harmony export */ });
2280function loopDestroy() {
2281  const swiper = this;
2282  const {
2283    params,
2284    slidesEl
2285  } = swiper;
2286  if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;
2287  swiper.recalcSlides();
2288  const newSlidesOrder = [];
2289  swiper.slides.forEach(slideEl => {
2290    const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;
2291    newSlidesOrder[index] = slideEl;
2292  });
2293  swiper.slides.forEach(slideEl => {
2294    slideEl.removeAttribute('data-swiper-slide-index');
2295  });
2296  newSlidesOrder.forEach(slideEl => {
2297    slidesEl.append(slideEl);
2298  });
2299  swiper.recalcSlides();
2300  swiper.slideTo(swiper.realIndex, 0);
2301}
2302
2303/***/ }),
2304
vendor: 6,034 bytes, lines 2305-2464
2305/***/ "./node_modules/swiper/core/loop/loopFix.js":
2306/*!**************************************************!*\
2307  !*** ./node_modules/swiper/core/loop/loopFix.js ***!
2308  \**************************************************/
2309/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2310
2311__webpack_require__.r(__webpack_exports__);
2312/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2313/* harmony export */   "default": function() { return /* binding */ loopFix; }
2314/* harmony export */ });
2315function loopFix({
2316  slideRealIndex,
2317  slideTo = true,
2318  direction,
2319  setTranslate,
2320  activeSlideIndex,
2321  byController,
2322  byMousewheel
2323} = {}) {
2324  const swiper = this;
2325  if (!swiper.params.loop) return;
2326  swiper.emit('beforeLoopFix');
2327  const {
2328    slides,
2329    allowSlidePrev,
2330    allowSlideNext,
2331    slidesEl,
2332    params
2333  } = swiper;
2334  swiper.allowSlidePrev = true;
2335  swiper.allowSlideNext = true;
2336  if (swiper.virtual && params.virtual.enabled) {
2337    if (slideTo) {
2338      if (!params.centeredSlides && swiper.snapIndex === 0) {
2339        swiper.slideTo(swiper.virtual.slides.length, 0, false, true);
2340      } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {
2341        swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);
2342      } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {
2343        swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);
2344      }
2345    }
2346    swiper.allowSlidePrev = allowSlidePrev;
2347    swiper.allowSlideNext = allowSlideNext;
2348    swiper.emit('loopFix');
2349    return;
2350  }
2351  const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10));
2352  let loopedSlides = params.loopedSlides || slidesPerView;
2353  if (loopedSlides % params.slidesPerGroup !== 0) {
2354    loopedSlides += params.slidesPerGroup - loopedSlides % params.slidesPerGroup;
2355  }
2356  swiper.loopedSlides = loopedSlides;
2357  const prependSlidesIndexes = [];
2358  const appendSlidesIndexes = [];
2359  let activeIndex = swiper.activeIndex;
2360  if (typeof activeSlideIndex === 'undefined') {
2361    activeSlideIndex = swiper.getSlideIndex(swiper.slides.filter(el => el.classList.contains(params.slideActiveClass))[0]);
2362  } else {
2363    activeIndex = activeSlideIndex;
2364  }
2365  const isNext = direction === 'next' || !direction;
2366  const isPrev = direction === 'prev' || !direction;
2367  let slidesPrepended = 0;
2368  let slidesAppended = 0;
2369  // prepend last slides before start
2370  if (activeSlideIndex < loopedSlides) {
2371    slidesPrepended = Math.max(loopedSlides - activeSlideIndex, params.slidesPerGroup);
2372    for (let i = 0; i < loopedSlides - activeSlideIndex; i += 1) {
2373      const index = i - Math.floor(i / slides.length) * slides.length;
2374      prependSlidesIndexes.push(slides.length - index - 1);
2375    }
2376  } else if (activeSlideIndex /* + slidesPerView */ > swiper.slides.length - loopedSlides * 2) {
2377    slidesAppended = Math.max(activeSlideIndex - (swiper.slides.length - loopedSlides * 2), params.slidesPerGroup);
2378    for (let i = 0; i < slidesAppended; i += 1) {
2379      const index = i - Math.floor(i / slides.length) * slides.length;
2380      appendSlidesIndexes.push(index);
2381    }
2382  }
2383  if (isPrev) {
2384    prependSlidesIndexes.forEach(index => {
2385      swiper.slides[index].swiperLoopMoveDOM = true;
2386      slidesEl.prepend(swiper.slides[index]);
2387      swiper.slides[index].swiperLoopMoveDOM = false;
2388    });
2389  }
2390  if (isNext) {
2391    appendSlidesIndexes.forEach(index => {
2392      swiper.slides[index].swiperLoopMoveDOM = true;
2393      slidesEl.append(swiper.slides[index]);
2394      swiper.slides[index].swiperLoopMoveDOM = false;
2395    });
2396  }
2397  swiper.recalcSlides();
2398  if (params.slidesPerView === 'auto') {
2399    swiper.updateSlides();
2400  }
2401  if (params.watchSlidesProgress) {
2402    swiper.updateSlidesOffset();
2403  }
2404  if (slideTo) {
2405    if (prependSlidesIndexes.length > 0 && isPrev) {
2406      if (typeof slideRealIndex === 'undefined') {
2407        const currentSlideTranslate = swiper.slidesGrid[activeIndex];
2408        const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];
2409        const diff = newSlideTranslate - currentSlideTranslate;
2410        if (byMousewheel) {
2411          swiper.setTranslate(swiper.translate - diff);
2412        } else {
2413          swiper.slideTo(activeIndex + slidesPrepended, 0, false, true);
2414          if (setTranslate) {
2415            swiper.touches[swiper.isHorizontal() ? 'startX' : 'startY'] += diff;
2416          }
2417        }
2418      } else {
2419        if (setTranslate) {
2420          swiper.slideToLoop(slideRealIndex, 0, false, true);
2421        }
2422      }
2423    } else if (appendSlidesIndexes.length > 0 && isNext) {
2424      if (typeof slideRealIndex === 'undefined') {
2425        const currentSlideTranslate = swiper.slidesGrid[activeIndex];
2426        const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];
2427        const diff = newSlideTranslate - currentSlideTranslate;
2428        if (byMousewheel) {
2429          swiper.setTranslate(swiper.translate - diff);
2430        } else {
2431          swiper.slideTo(activeIndex - slidesAppended, 0, false, true);
2432          if (setTranslate) {
2433            swiper.touches[swiper.isHorizontal() ? 'startX' : 'startY'] += diff;
2434          }
2435        }
2436      } else {
2437        swiper.slideToLoop(slideRealIndex, 0, false, true);
2438      }
2439    }
2440  }
2441  swiper.allowSlidePrev = allowSlidePrev;
2442  swiper.allowSlideNext = allowSlideNext;
2443  if (swiper.controller && swiper.controller.control && !byController) {
2444    const loopParams = {
2445      slideRealIndex,
2446      slideTo: false,
2447      direction,
2448      setTranslate,
2449      activeSlideIndex,
2450      byController: true
2451    };
2452    if (Array.isArray(swiper.controller.control)) {
2453      swiper.controller.control.forEach(c => {
2454        if (!c.destroyed && c.params.loop) c.loopFix(loopParams);
2455      });
2456    } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {
2457      swiper.controller.control.loopFix(loopParams);
2458    }
2459  }
2460  swiper.emit('loopFix');
2461}
2462
2463/***/ }),
2464
vendor: 1,921 bytes, lines 2465-2510
2465/***/ "./node_modules/swiper/core/moduleExtendParams.js":
2466/*!********************************************************!*\
2467  !*** ./node_modules/swiper/core/moduleExtendParams.js ***!
2468  \********************************************************/
2469/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2470
2471__webpack_require__.r(__webpack_exports__);
2472/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2473/* harmony export */   "default": function() { return /* binding */ moduleExtendParams; }
2474/* harmony export */ });
2475/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
2476
2477function moduleExtendParams(params, allModulesParams) {
2478  return function extendParams(obj = {}) {
2479    const moduleParamName = Object.keys(obj)[0];
2480    const moduleParams = obj[moduleParamName];
2481    if (typeof moduleParams !== 'object' || moduleParams === null) {
2482      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);
2483      return;
2484    }
2485    if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {
2486      params[moduleParamName] = {
2487        auto: true
2488      };
2489    }
2490    if (!(moduleParamName in params && 'enabled' in moduleParams)) {
2491      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);
2492      return;
2493    }
2494    if (params[moduleParamName] === true) {
2495      params[moduleParamName] = {
2496        enabled: true
2497      };
2498    }
2499    if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {
2500      params[moduleParamName].enabled = true;
2501    }
2502    if (!params[moduleParamName]) params[moduleParamName] = {
2503      enabled: false
2504    };
2505    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);
2506  };
2507}
2508
2509/***/ }),
2510
vendor: 3,037 bytes, lines 2511-2594
2511/***/ "./node_modules/swiper/core/modules/observer/observer.js":
2512/*!***************************************************************!*\
2513  !*** ./node_modules/swiper/core/modules/observer/observer.js ***!
2514  \***************************************************************/
2515/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2516
2517__webpack_require__.r(__webpack_exports__);
2518/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2519/* harmony export */   "default": function() { return /* binding */ Observer; }
2520/* harmony export */ });
2521/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
2522/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
2523
2524
2525function Observer({
2526  swiper,
2527  extendParams,
2528  on,
2529  emit
2530}) {
2531  const observers = [];
2532  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
2533  const attach = (target, options = {}) => {
2534    const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;
2535    const observer = new ObserverFunc(mutations => {
2536      // The observerUpdate event should only be triggered
2537      // once despite the number of mutations.  Additional
2538      // triggers are redundant and are very costly
2539      if (swiper.__preventObserver__) return;
2540      if (mutations.length === 1) {
2541        emit('observerUpdate', mutations[0]);
2542        return;
2543      }
2544      const observerUpdate = function observerUpdate() {
2545        emit('observerUpdate', mutations[0]);
2546      };
2547      if (window.requestAnimationFrame) {
2548        window.requestAnimationFrame(observerUpdate);
2549      } else {
2550        window.setTimeout(observerUpdate, 0);
2551      }
2552    });
2553    observer.observe(target, {
2554      attributes: typeof options.attributes === 'undefined' ? true : options.attributes,
2555      childList: typeof options.childList === 'undefined' ? true : options.childList,
2556      characterData: typeof options.characterData === 'undefined' ? true : options.characterData
2557    });
2558    observers.push(observer);
2559  };
2560  const init = () => {
2561    if (!swiper.params.observer) return;
2562    if (swiper.params.observeParents) {
2563      const containerParents = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(swiper.el);
2564      for (let i = 0; i < containerParents.length; i += 1) {
2565        attach(containerParents[i]);
2566      }
2567    }
2568    // Observe container
2569    attach(swiper.el, {
2570      childList: swiper.params.observeSlideChildren
2571    });
2572
2573    // Observe wrapper
2574    attach(swiper.wrapperEl, {
2575      attributes: false
2576    });
2577  };
2578  const destroy = () => {
2579    observers.forEach(observer => {
2580      observer.disconnect();
2581    });
2582    observers.splice(0, observers.length);
2583  };
2584  extendParams({
2585    observer: false,
2586    observeParents: false,
2587    observeSlideChildren: false
2588  });
2589  on('init', init);
2590  on('destroy', destroy);
2591}
2592
2593/***/ }),
2594
vendor: 2,800 bytes, lines 2595-2675
2595/***/ "./node_modules/swiper/core/modules/resize/resize.js":
2596/*!***********************************************************!*\
2597  !*** ./node_modules/swiper/core/modules/resize/resize.js ***!
2598  \***********************************************************/
2599/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2600
2601__webpack_require__.r(__webpack_exports__);
2602/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2603/* harmony export */   "default": function() { return /* binding */ Resize; }
2604/* harmony export */ });
2605/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
2606
2607function Resize({
2608  swiper,
2609  on,
2610  emit
2611}) {
2612  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
2613  let observer = null;
2614  let animationFrame = null;
2615  const resizeHandler = () => {
2616    if (!swiper || swiper.destroyed || !swiper.initialized) return;
2617    emit('beforeResize');
2618    emit('resize');
2619  };
2620  const createObserver = () => {
2621    if (!swiper || swiper.destroyed || !swiper.initialized) return;
2622    observer = new ResizeObserver(entries => {
2623      animationFrame = window.requestAnimationFrame(() => {
2624        const {
2625          width,
2626          height
2627        } = swiper;
2628        let newWidth = width;
2629        let newHeight = height;
2630        entries.forEach(({
2631          contentBoxSize,
2632          contentRect,
2633          target
2634        }) => {
2635          if (target && target !== swiper.el) return;
2636          newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;
2637          newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;
2638        });
2639        if (newWidth !== width || newHeight !== height) {
2640          resizeHandler();
2641        }
2642      });
2643    });
2644    observer.observe(swiper.el);
2645  };
2646  const removeObserver = () => {
2647    if (animationFrame) {
2648      window.cancelAnimationFrame(animationFrame);
2649    }
2650    if (observer && observer.unobserve && swiper.el) {
2651      observer.unobserve(swiper.el);
2652      observer = null;
2653    }
2654  };
2655  const orientationChangeHandler = () => {
2656    if (!swiper || swiper.destroyed || !swiper.initialized) return;
2657    emit('orientationchange');
2658  };
2659  on('init', () => {
2660    if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {
2661      createObserver();
2662      return;
2663    }
2664    window.addEventListener('resize', resizeHandler);
2665    window.addEventListener('orientationchange', orientationChangeHandler);
2666  });
2667  on('destroy', () => {
2668    removeObserver();
2669    window.removeEventListener('resize', resizeHandler);
2670    window.removeEventListener('orientationchange', orientationChangeHandler);
2671  });
2672}
2673
2674/***/ }),
2675
vendor: 2,134 bytes, lines 2676-2708
2676/***/ "./node_modules/swiper/core/slide/index.js":
2677/*!*************************************************!*\
2678  !*** ./node_modules/swiper/core/slide/index.js ***!
2679  \*************************************************/
2680/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2681
2682__webpack_require__.r(__webpack_exports__);
2683/* harmony import */ var _slideTo_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slideTo.js */ "./node_modules/swiper/core/slide/slideTo.js");
2684/* harmony import */ var _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slideToLoop.js */ "./node_modules/swiper/core/slide/slideToLoop.js");
2685/* harmony import */ var _slideNext_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slideNext.js */ "./node_modules/swiper/core/slide/slideNext.js");
2686/* harmony import */ var _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slidePrev.js */ "./node_modules/swiper/core/slide/slidePrev.js");
2687/* harmony import */ var _slideReset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./slideReset.js */ "./node_modules/swiper/core/slide/slideReset.js");
2688/* harmony import */ var _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./slideToClosest.js */ "./node_modules/swiper/core/slide/slideToClosest.js");
2689/* harmony import */ var _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./slideToClickedSlide.js */ "./node_modules/swiper/core/slide/slideToClickedSlide.js");
2690
2691
2692
2693
2694
2695
2696
2697/* harmony default export */ __webpack_exports__["default"] = ({
2698  slideTo: _slideTo_js__WEBPACK_IMPORTED_MODULE_0__["default"],
2699  slideToLoop: _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__["default"],
2700  slideNext: _slideNext_js__WEBPACK_IMPORTED_MODULE_2__["default"],
2701  slidePrev: _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__["default"],
2702  slideReset: _slideReset_js__WEBPACK_IMPORTED_MODULE_4__["default"],
2703  slideToClosest: _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__["default"],
2704  slideToClickedSlide: _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__["default"]
2705});
2706
2707/***/ }),
2708
vendor: 1,587 bytes, lines 2709-2749
2709/***/ "./node_modules/swiper/core/slide/slideNext.js":
2710/*!*****************************************************!*\
2711  !*** ./node_modules/swiper/core/slide/slideNext.js ***!
2712  \*****************************************************/
2713/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2714
2715__webpack_require__.r(__webpack_exports__);
2716/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2717/* harmony export */   "default": function() { return /* binding */ slideNext; }
2718/* harmony export */ });
2719/* eslint no-unused-vars: "off" */
2720function slideNext(speed = this.params.speed, runCallbacks = true, internal) {
2721  const swiper = this;
2722  const {
2723    enabled,
2724    params,
2725    animating
2726  } = swiper;
2727  if (!enabled) return swiper;
2728  let perGroup = params.slidesPerGroup;
2729  if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {
2730    perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);
2731  }
2732  const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;
2733  const isVirtual = swiper.virtual && params.virtual.enabled;
2734  if (params.loop) {
2735    if (animating && !isVirtual && params.loopPreventsSliding) return false;
2736    swiper.loopFix({
2737      direction: 'next'
2738    });
2739    // eslint-disable-next-line
2740    swiper._clientLeft = swiper.wrapperEl.clientLeft;
2741  }
2742  if (params.rewind && swiper.isEnd) {
2743    return swiper.slideTo(0, speed, runCallbacks, internal);
2744  }
2745  return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
2746}
2747
2748/***/ }),
2749
vendor: 2,656 bytes, lines 2750-2818
2750/***/ "./node_modules/swiper/core/slide/slidePrev.js":
2751/*!*****************************************************!*\
2752  !*** ./node_modules/swiper/core/slide/slidePrev.js ***!
2753  \*****************************************************/
2754/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2755
2756__webpack_require__.r(__webpack_exports__);
2757/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2758/* harmony export */   "default": function() { return /* binding */ slidePrev; }
2759/* harmony export */ });
2760/* eslint no-unused-vars: "off" */
2761function slidePrev(speed = this.params.speed, runCallbacks = true, internal) {
2762  const swiper = this;
2763  const {
2764    params,
2765    snapGrid,
2766    slidesGrid,
2767    rtlTranslate,
2768    enabled,
2769    animating
2770  } = swiper;
2771  if (!enabled) return swiper;
2772  const isVirtual = swiper.virtual && params.virtual.enabled;
2773  if (params.loop) {
2774    if (animating && !isVirtual && params.loopPreventsSliding) return false;
2775    swiper.loopFix({
2776      direction: 'prev'
2777    });
2778    // eslint-disable-next-line
2779    swiper._clientLeft = swiper.wrapperEl.clientLeft;
2780  }
2781  const translate = rtlTranslate ? swiper.translate : -swiper.translate;
2782  function normalize(val) {
2783    if (val < 0) return -Math.floor(Math.abs(val));
2784    return Math.floor(val);
2785  }
2786  const normalizedTranslate = normalize(translate);
2787  const normalizedSnapGrid = snapGrid.map(val => normalize(val));
2788  let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
2789  if (typeof prevSnap === 'undefined' && params.cssMode) {
2790    let prevSnapIndex;
2791    snapGrid.forEach((snap, snapIndex) => {
2792      if (normalizedTranslate >= snap) {
2793        // prevSnap = snap;
2794        prevSnapIndex = snapIndex;
2795      }
2796    });
2797    if (typeof prevSnapIndex !== 'undefined') {
2798      prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];
2799    }
2800  }
2801  let prevIndex = 0;
2802  if (typeof prevSnap !== 'undefined') {
2803    prevIndex = slidesGrid.indexOf(prevSnap);
2804    if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;
2805    if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {
2806      prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;
2807      prevIndex = Math.max(prevIndex, 0);
2808    }
2809  }
2810  if (params.rewind && swiper.isBeginning) {
2811    const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;
2812    return swiper.slideTo(lastIndex, speed, runCallbacks, internal);
2813  }
2814  return swiper.slideTo(prevIndex, speed, runCallbacks, internal);
2815}
2816
2817/***/ }),
2818
vendor: 778 bytes, lines 2819-2836
2819/***/ "./node_modules/swiper/core/slide/slideReset.js":
2820/*!******************************************************!*\
2821  !*** ./node_modules/swiper/core/slide/slideReset.js ***!
2822  \******************************************************/
2823/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2824
2825__webpack_require__.r(__webpack_exports__);
2826/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2827/* harmony export */   "default": function() { return /* binding */ slideReset; }
2828/* harmony export */ });
2829/* eslint no-unused-vars: "off" */
2830function slideReset(speed = this.params.speed, runCallbacks = true, internal) {
2831  const swiper = this;
2832  return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);
2833}
2834
2835/***/ }),
2836
vendor: 5,741 bytes, lines 2837-2992
2837/***/ "./node_modules/swiper/core/slide/slideTo.js":
2838/*!***************************************************!*\
2839  !*** ./node_modules/swiper/core/slide/slideTo.js ***!
2840  \***************************************************/
2841/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2842
2843__webpack_require__.r(__webpack_exports__);
2844/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2845/* harmony export */   "default": function() { return /* binding */ slideTo; }
2846/* harmony export */ });
2847/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
2848
2849function slideTo(index = 0, speed = this.params.speed, runCallbacks = true, internal, initial) {
2850  if (typeof index === 'string') {
2851    index = parseInt(index, 10);
2852  }
2853  const swiper = this;
2854  let slideIndex = index;
2855  if (slideIndex < 0) slideIndex = 0;
2856  const {
2857    params,
2858    snapGrid,
2859    slidesGrid,
2860    previousIndex,
2861    activeIndex,
2862    rtlTranslate: rtl,
2863    wrapperEl,
2864    enabled
2865  } = swiper;
2866  if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {
2867    return false;
2868  }
2869  const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);
2870  let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);
2871  if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
2872  const translate = -snapGrid[snapIndex];
2873  // Normalize slideIndex
2874  if (params.normalizeSlideIndex) {
2875    for (let i = 0; i < slidesGrid.length; i += 1) {
2876      const normalizedTranslate = -Math.floor(translate * 100);
2877      const normalizedGrid = Math.floor(slidesGrid[i] * 100);
2878      const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);
2879      if (typeof slidesGrid[i + 1] !== 'undefined') {
2880        if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {
2881          slideIndex = i;
2882        } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {
2883          slideIndex = i + 1;
2884        }
2885      } else if (normalizedTranslate >= normalizedGrid) {
2886        slideIndex = i;
2887      }
2888    }
2889  }
2890  // Directions locks
2891  if (swiper.initialized && slideIndex !== activeIndex) {
2892    if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {
2893      return false;
2894    }
2895    if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {
2896      if ((activeIndex || 0) !== slideIndex) {
2897        return false;
2898      }
2899    }
2900  }
2901  if (slideIndex !== (previousIndex || 0) && runCallbacks) {
2902    swiper.emit('beforeSlideChangeStart');
2903  }
2904
2905  // Update progress
2906  swiper.updateProgress(translate);
2907  let direction;
2908  if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';
2909
2910  // Update Index
2911  if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {
2912    swiper.updateActiveIndex(slideIndex);
2913    // Update Height
2914    if (params.autoHeight) {
2915      swiper.updateAutoHeight();
2916    }
2917    swiper.updateSlidesClasses();
2918    if (params.effect !== 'slide') {
2919      swiper.setTranslate(translate);
2920    }
2921    if (direction !== 'reset') {
2922      swiper.transitionStart(runCallbacks, direction);
2923      swiper.transitionEnd(runCallbacks, direction);
2924    }
2925    return false;
2926  }
2927  if (params.cssMode) {
2928    const isH = swiper.isHorizontal();
2929    const t = rtl ? translate : -translate;
2930    if (speed === 0) {
2931      const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
2932      if (isVirtual) {
2933        swiper.wrapperEl.style.scrollSnapType = 'none';
2934        swiper._immediateVirtual = true;
2935      }
2936      if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {
2937        swiper._cssModeVirtualInitialSet = true;
2938        requestAnimationFrame(() => {
2939          wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;
2940        });
2941      } else {
2942        wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;
2943      }
2944      if (isVirtual) {
2945        requestAnimationFrame(() => {
2946          swiper.wrapperEl.style.scrollSnapType = '';
2947          swiper._immediateVirtual = false;
2948        });
2949      }
2950    } else {
2951      if (!swiper.support.smoothScroll) {
2952        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({
2953          swiper,
2954          targetPosition: t,
2955          side: isH ? 'left' : 'top'
2956        });
2957        return true;
2958      }
2959      wrapperEl.scrollTo({
2960        [isH ? 'left' : 'top']: t,
2961        behavior: 'smooth'
2962      });
2963    }
2964    return true;
2965  }
2966  swiper.setTransition(speed);
2967  swiper.setTranslate(translate);
2968  swiper.updateActiveIndex(slideIndex);
2969  swiper.updateSlidesClasses();
2970  swiper.emit('beforeTransitionStart', speed, internal);
2971  swiper.transitionStart(runCallbacks, direction);
2972  if (speed === 0) {
2973    swiper.transitionEnd(runCallbacks, direction);
2974  } else if (!swiper.animating) {
2975    swiper.animating = true;
2976    if (!swiper.onSlideToWrapperTransitionEnd) {
2977      swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {
2978        if (!swiper || swiper.destroyed) return;
2979        if (e.target !== this) return;
2980        swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
2981        swiper.onSlideToWrapperTransitionEnd = null;
2982        delete swiper.onSlideToWrapperTransitionEnd;
2983        swiper.transitionEnd(runCallbacks, direction);
2984      };
2985    }
2986    swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
2987  }
2988  return true;
2989}
2990
2991/***/ }),
2992
vendor: 2,364 bytes, lines 2993-3043
2993/***/ "./node_modules/swiper/core/slide/slideToClickedSlide.js":
2994/*!***************************************************************!*\
2995  !*** ./node_modules/swiper/core/slide/slideToClickedSlide.js ***!
2996  \***************************************************************/
2997/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
2998
2999__webpack_require__.r(__webpack_exports__);
3000/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3001/* harmony export */   "default": function() { return /* binding */ slideToClickedSlide; }
3002/* harmony export */ });
3003/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
3004
3005function slideToClickedSlide() {
3006  const swiper = this;
3007  const {
3008    params,
3009    slidesEl
3010  } = swiper;
3011  const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;
3012  let slideToIndex = swiper.clickedIndex;
3013  let realIndex;
3014  const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;
3015  if (params.loop) {
3016    if (swiper.animating) return;
3017    realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);
3018    if (params.centeredSlides) {
3019      if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {
3020        swiper.loopFix();
3021        slideToIndex = swiper.getSlideIndex((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
3022        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
3023          swiper.slideTo(slideToIndex);
3024        });
3025      } else {
3026        swiper.slideTo(slideToIndex);
3027      }
3028    } else if (slideToIndex > swiper.slides.length - slidesPerView) {
3029      swiper.loopFix();
3030      slideToIndex = swiper.getSlideIndex((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);
3031      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
3032        swiper.slideTo(slideToIndex);
3033      });
3034    } else {
3035      swiper.slideTo(slideToIndex);
3036    }
3037  } else {
3038    swiper.slideTo(slideToIndex);
3039  }
3040}
3041
3042/***/ }),
3043
vendor: 1,957 bytes, lines 3044-3084
3044/***/ "./node_modules/swiper/core/slide/slideToClosest.js":
3045/*!**********************************************************!*\
3046  !*** ./node_modules/swiper/core/slide/slideToClosest.js ***!
3047  \**********************************************************/
3048/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3049
3050__webpack_require__.r(__webpack_exports__);
3051/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3052/* harmony export */   "default": function() { return /* binding */ slideToClosest; }
3053/* harmony export */ });
3054/* eslint no-unused-vars: "off" */
3055function slideToClosest(speed = this.params.speed, runCallbacks = true, internal, threshold = 0.5) {
3056  const swiper = this;
3057  let index = swiper.activeIndex;
3058  const skip = Math.min(swiper.params.slidesPerGroupSkip, index);
3059  const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);
3060  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
3061  if (translate >= swiper.snapGrid[snapIndex]) {
3062    // The current translate is on or after the current snap index, so the choice
3063    // is between the current index and the one after it.
3064    const currentSnap = swiper.snapGrid[snapIndex];
3065    const nextSnap = swiper.snapGrid[snapIndex + 1];
3066    if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {
3067      index += swiper.params.slidesPerGroup;
3068    }
3069  } else {
3070    // The current translate is before the current snap index, so the choice
3071    // is between the current index and the one before it.
3072    const prevSnap = swiper.snapGrid[snapIndex - 1];
3073    const currentSnap = swiper.snapGrid[snapIndex];
3074    if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {
3075      index -= swiper.params.slidesPerGroup;
3076    }
3077  }
3078  index = Math.max(index, 0);
3079  index = Math.min(index, swiper.slidesGrid.length - 1);
3080  return swiper.slideTo(index, speed, runCallbacks, internal);
3081}
3082
3083/***/ }),
3084
vendor: 1,143 bytes, lines 3085-3114
3085/***/ "./node_modules/swiper/core/slide/slideToLoop.js":
3086/*!*******************************************************!*\
3087  !*** ./node_modules/swiper/core/slide/slideToLoop.js ***!
3088  \*******************************************************/
3089/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3090
3091__webpack_require__.r(__webpack_exports__);
3092/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3093/* harmony export */   "default": function() { return /* binding */ slideToLoop; }
3094/* harmony export */ });
3095function slideToLoop(index = 0, speed = this.params.speed, runCallbacks = true, internal) {
3096  if (typeof index === 'string') {
3097    const indexAsNumber = parseInt(index, 10);
3098    index = indexAsNumber;
3099  }
3100  const swiper = this;
3101  let newIndex = index;
3102  if (swiper.params.loop) {
3103    if (swiper.virtual && swiper.params.virtual.enabled) {
3104      // eslint-disable-next-line
3105      newIndex = newIndex + swiper.virtual.slidesBefore;
3106    } else {
3107      newIndex = swiper.getSlideIndexByData(newIndex);
3108    }
3109  }
3110  return swiper.slideTo(newIndex, speed, runCallbacks, internal);
3111}
3112
3113/***/ }),
3114
vendor: 1,235 bytes, lines 3115-3135
3115/***/ "./node_modules/swiper/core/transition/index.js":
3116/*!******************************************************!*\
3117  !*** ./node_modules/swiper/core/transition/index.js ***!
3118  \******************************************************/
3119/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3120
3121__webpack_require__.r(__webpack_exports__);
3122/* harmony import */ var _setTransition_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setTransition.js */ "./node_modules/swiper/core/transition/setTransition.js");
3123/* harmony import */ var _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitionStart.js */ "./node_modules/swiper/core/transition/transitionStart.js");
3124/* harmony import */ var _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transitionEnd.js */ "./node_modules/swiper/core/transition/transitionEnd.js");
3125
3126
3127
3128/* harmony default export */ __webpack_exports__["default"] = ({
3129  setTransition: _setTransition_js__WEBPACK_IMPORTED_MODULE_0__["default"],
3130  transitionStart: _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__["default"],
3131  transitionEnd: _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__["default"]
3132});
3133
3134/***/ }),
3135
vendor: 828 bytes, lines 3136-3155
3136/***/ "./node_modules/swiper/core/transition/setTransition.js":
3137/*!**************************************************************!*\
3138  !*** ./node_modules/swiper/core/transition/setTransition.js ***!
3139  \**************************************************************/
3140/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3141
3142__webpack_require__.r(__webpack_exports__);
3143/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3144/* harmony export */   "default": function() { return /* binding */ setTransition; }
3145/* harmony export */ });
3146function setTransition(duration, byController) {
3147  const swiper = this;
3148  if (!swiper.params.cssMode) {
3149    swiper.wrapperEl.style.transitionDuration = `${duration}ms`;
3150  }
3151  swiper.emit('setTransition', duration, byController);
3152}
3153
3154/***/ }),
3155
vendor: 1,286 bytes, lines 3156-3196
3156/***/ "./node_modules/swiper/core/transition/transitionEmit.js":
3157/*!***************************************************************!*\
3158  !*** ./node_modules/swiper/core/transition/transitionEmit.js ***!
3159  \***************************************************************/
3160/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3161
3162__webpack_require__.r(__webpack_exports__);
3163/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3164/* harmony export */   "default": function() { return /* binding */ transitionEmit; }
3165/* harmony export */ });
3166function transitionEmit({
3167  swiper,
3168  runCallbacks,
3169  direction,
3170  step
3171}) {
3172  const {
3173    activeIndex,
3174    previousIndex
3175  } = swiper;
3176  let dir = direction;
3177  if (!dir) {
3178    if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';
3179  }
3180  swiper.emit(`transition${step}`);
3181  if (runCallbacks && activeIndex !== previousIndex) {
3182    if (dir === 'reset') {
3183      swiper.emit(`slideResetTransition${step}`);
3184      return;
3185    }
3186    swiper.emit(`slideChangeTransition${step}`);
3187    if (dir === 'next') {
3188      swiper.emit(`slideNextTransition${step}`);
3189    } else {
3190      swiper.emit(`slidePrevTransition${step}`);
3191    }
3192  }
3193}
3194
3195/***/ }),
3196
vendor: 1,116 bytes, lines 3197-3226
3197/***/ "./node_modules/swiper/core/transition/transitionEnd.js":
3198/*!**************************************************************!*\
3199  !*** ./node_modules/swiper/core/transition/transitionEnd.js ***!
3200  \**************************************************************/
3201/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3202
3203__webpack_require__.r(__webpack_exports__);
3204/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3205/* harmony export */   "default": function() { return /* binding */ transitionEnd; }
3206/* harmony export */ });
3207/* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ "./node_modules/swiper/core/transition/transitionEmit.js");
3208
3209function transitionEnd(runCallbacks = true, direction) {
3210  const swiper = this;
3211  const {
3212    params
3213  } = swiper;
3214  swiper.animating = false;
3215  if (params.cssMode) return;
3216  swiper.setTransition(0);
3217  (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
3218    swiper,
3219    runCallbacks,
3220    direction,
3221    step: 'End'
3222  });
3223}
3224
3225/***/ }),
3226
vendor: 1,137 bytes, lines 3227-3257
3227/***/ "./node_modules/swiper/core/transition/transitionStart.js":
3228/*!****************************************************************!*\
3229  !*** ./node_modules/swiper/core/transition/transitionStart.js ***!
3230  \****************************************************************/
3231/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3232
3233__webpack_require__.r(__webpack_exports__);
3234/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3235/* harmony export */   "default": function() { return /* binding */ transitionStart; }
3236/* harmony export */ });
3237/* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ "./node_modules/swiper/core/transition/transitionEmit.js");
3238
3239function transitionStart(runCallbacks = true, direction) {
3240  const swiper = this;
3241  const {
3242    params
3243  } = swiper;
3244  if (params.cssMode) return;
3245  if (params.autoHeight) {
3246    swiper.updateAutoHeight();
3247  }
3248  (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
3249    swiper,
3250    runCallbacks,
3251    direction,
3252    step: 'Start'
3253  });
3254}
3255
3256/***/ }),
3257
vendor: 1,311 bytes, lines 3258-3291
3258/***/ "./node_modules/swiper/core/translate/getTranslate.js":
3259/*!************************************************************!*\
3260  !*** ./node_modules/swiper/core/translate/getTranslate.js ***!
3261  \************************************************************/
3262/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3263
3264__webpack_require__.r(__webpack_exports__);
3265/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3266/* harmony export */   "default": function() { return /* binding */ getSwiperTranslate; }
3267/* harmony export */ });
3268/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
3269
3270function getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') {
3271  const swiper = this;
3272  const {
3273    params,
3274    rtlTranslate: rtl,
3275    translate,
3276    wrapperEl
3277  } = swiper;
3278  if (params.virtualTranslate) {
3279    return rtl ? -translate : translate;
3280  }
3281  if (params.cssMode) {
3282    return translate;
3283  }
3284  let currentTranslate = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.getTranslate)(wrapperEl, axis);
3285  currentTranslate += swiper.cssOverflowAdjustment();
3286  if (rtl) currentTranslate = -currentTranslate;
3287  return currentTranslate || 0;
3288}
3289
3290/***/ }),
3291
vendor: 1,698 bytes, lines 3292-3318
3292/***/ "./node_modules/swiper/core/translate/index.js":
3293/*!*****************************************************!*\
3294  !*** ./node_modules/swiper/core/translate/index.js ***!
3295  \*****************************************************/
3296/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3297
3298__webpack_require__.r(__webpack_exports__);
3299/* harmony import */ var _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getTranslate.js */ "./node_modules/swiper/core/translate/getTranslate.js");
3300/* harmony import */ var _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setTranslate.js */ "./node_modules/swiper/core/translate/setTranslate.js");
3301/* harmony import */ var _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./minTranslate.js */ "./node_modules/swiper/core/translate/minTranslate.js");
3302/* harmony import */ var _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./maxTranslate.js */ "./node_modules/swiper/core/translate/maxTranslate.js");
3303/* harmony import */ var _translateTo_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./translateTo.js */ "./node_modules/swiper/core/translate/translateTo.js");
3304
3305
3306
3307
3308
3309/* harmony default export */ __webpack_exports__["default"] = ({
3310  getTranslate: _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__["default"],
3311  setTranslate: _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__["default"],
3312  minTranslate: _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__["default"],
3313  maxTranslate: _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__["default"],
3314  translateTo: _translateTo_js__WEBPACK_IMPORTED_MODULE_4__["default"]
3315});
3316
3317/***/ }),
3318
vendor: 667 bytes, lines 3319-3334
3319/***/ "./node_modules/swiper/core/translate/maxTranslate.js":
3320/*!************************************************************!*\
3321  !*** ./node_modules/swiper/core/translate/maxTranslate.js ***!
3322  \************************************************************/
3323/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3324
3325__webpack_require__.r(__webpack_exports__);
3326/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3327/* harmony export */   "default": function() { return /* binding */ maxTranslate; }
3328/* harmony export */ });
3329function maxTranslate() {
3330  return -this.snapGrid[this.snapGrid.length - 1];
3331}
3332
3333/***/ }),
3334
vendor: 644 bytes, lines 3335-3350
3335/***/ "./node_modules/swiper/core/translate/minTranslate.js":
3336/*!************************************************************!*\
3337  !*** ./node_modules/swiper/core/translate/minTranslate.js ***!
3338  \************************************************************/
3339/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3340
3341__webpack_require__.r(__webpack_exports__);
3342/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3343/* harmony export */   "default": function() { return /* binding */ minTranslate; }
3344/* harmony export */ });
3345function minTranslate() {
3346  return -this.snapGrid[0];
3347}
3348
3349/***/ }),
3350
vendor: 1,860 bytes, lines 3351-3409
3351/***/ "./node_modules/swiper/core/translate/setTranslate.js":
3352/*!************************************************************!*\
3353  !*** ./node_modules/swiper/core/translate/setTranslate.js ***!
3354  \************************************************************/
3355/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3356
3357__webpack_require__.r(__webpack_exports__);
3358/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3359/* harmony export */   "default": function() { return /* binding */ setTranslate; }
3360/* harmony export */ });
3361function setTranslate(translate, byController) {
3362  const swiper = this;
3363  const {
3364    rtlTranslate: rtl,
3365    params,
3366    wrapperEl,
3367    progress
3368  } = swiper;
3369  let x = 0;
3370  let y = 0;
3371  const z = 0;
3372  if (swiper.isHorizontal()) {
3373    x = rtl ? -translate : translate;
3374  } else {
3375    y = translate;
3376  }
3377  if (params.roundLengths) {
3378    x = Math.floor(x);
3379    y = Math.floor(y);
3380  }
3381  swiper.previousTranslate = swiper.translate;
3382  swiper.translate = swiper.isHorizontal() ? x : y;
3383  if (params.cssMode) {
3384    wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;
3385  } else if (!params.virtualTranslate) {
3386    if (swiper.isHorizontal()) {
3387      x -= swiper.cssOverflowAdjustment();
3388    } else {
3389      y -= swiper.cssOverflowAdjustment();
3390    }
3391    wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;
3392  }
3393
3394  // Check if we need to update progress
3395  let newProgress;
3396  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
3397  if (translatesDiff === 0) {
3398    newProgress = 0;
3399  } else {
3400    newProgress = (translate - swiper.minTranslate()) / translatesDiff;
3401  }
3402  if (newProgress !== progress) {
3403    swiper.updateProgress(translate);
3404  }
3405  swiper.emit('setTranslate', swiper.translate, byController);
3406}
3407
3408/***/ }),
3409
vendor: 3,128 bytes, lines 3410-3493
3410/***/ "./node_modules/swiper/core/translate/translateTo.js":
3411/*!***********************************************************!*\
3412  !*** ./node_modules/swiper/core/translate/translateTo.js ***!
3413  \***********************************************************/
3414/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3415
3416__webpack_require__.r(__webpack_exports__);
3417/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3418/* harmony export */   "default": function() { return /* binding */ translateTo; }
3419/* harmony export */ });
3420/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
3421
3422function translateTo(translate = 0, speed = this.params.speed, runCallbacks = true, translateBounds = true, internal) {
3423  const swiper = this;
3424  const {
3425    params,
3426    wrapperEl
3427  } = swiper;
3428  if (swiper.animating && params.preventInteractionOnTransition) {
3429    return false;
3430  }
3431  const minTranslate = swiper.minTranslate();
3432  const maxTranslate = swiper.maxTranslate();
3433  let newTranslate;
3434  if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;
3435
3436  // Update progress
3437  swiper.updateProgress(newTranslate);
3438  if (params.cssMode) {
3439    const isH = swiper.isHorizontal();
3440    if (speed === 0) {
3441      wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;
3442    } else {
3443      if (!swiper.support.smoothScroll) {
3444        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({
3445          swiper,
3446          targetPosition: -newTranslate,
3447          side: isH ? 'left' : 'top'
3448        });
3449        return true;
3450      }
3451      wrapperEl.scrollTo({
3452        [isH ? 'left' : 'top']: -newTranslate,
3453        behavior: 'smooth'
3454      });
3455    }
3456    return true;
3457  }
3458  if (speed === 0) {
3459    swiper.setTransition(0);
3460    swiper.setTranslate(newTranslate);
3461    if (runCallbacks) {
3462      swiper.emit('beforeTransitionStart', speed, internal);
3463      swiper.emit('transitionEnd');
3464    }
3465  } else {
3466    swiper.setTransition(speed);
3467    swiper.setTranslate(newTranslate);
3468    if (runCallbacks) {
3469      swiper.emit('beforeTransitionStart', speed, internal);
3470      swiper.emit('transitionStart');
3471    }
3472    if (!swiper.animating) {
3473      swiper.animating = true;
3474      if (!swiper.onTranslateToWrapperTransitionEnd) {
3475        swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {
3476          if (!swiper || swiper.destroyed) return;
3477          if (e.target !== this) return;
3478          swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
3479          swiper.onTranslateToWrapperTransitionEnd = null;
3480          delete swiper.onTranslateToWrapperTransitionEnd;
3481          if (runCallbacks) {
3482            swiper.emit('transitionEnd');
3483          }
3484        };
3485      }
3486      swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
3487    }
3488  }
3489  return true;
3490}
3491
3492/***/ }),
3493
vendor: 2,844 bytes, lines 3494-3532
3494/***/ "./node_modules/swiper/core/update/index.js":
3495/*!**************************************************!*\
3496  !*** ./node_modules/swiper/core/update/index.js ***!
3497  \**************************************************/
3498/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3499
3500__webpack_require__.r(__webpack_exports__);
3501/* harmony import */ var _updateSize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./updateSize.js */ "./node_modules/swiper/core/update/updateSize.js");
3502/* harmony import */ var _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./updateSlides.js */ "./node_modules/swiper/core/update/updateSlides.js");
3503/* harmony import */ var _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateAutoHeight.js */ "./node_modules/swiper/core/update/updateAutoHeight.js");
3504/* harmony import */ var _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./updateSlidesOffset.js */ "./node_modules/swiper/core/update/updateSlidesOffset.js");
3505/* harmony import */ var _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./updateSlidesProgress.js */ "./node_modules/swiper/core/update/updateSlidesProgress.js");
3506/* harmony import */ var _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./updateProgress.js */ "./node_modules/swiper/core/update/updateProgress.js");
3507/* harmony import */ var _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./updateSlidesClasses.js */ "./node_modules/swiper/core/update/updateSlidesClasses.js");
3508/* harmony import */ var _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./updateActiveIndex.js */ "./node_modules/swiper/core/update/updateActiveIndex.js");
3509/* harmony import */ var _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./updateClickedSlide.js */ "./node_modules/swiper/core/update/updateClickedSlide.js");
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519/* harmony default export */ __webpack_exports__["default"] = ({
3520  updateSize: _updateSize_js__WEBPACK_IMPORTED_MODULE_0__["default"],
3521  updateSlides: _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__["default"],
3522  updateAutoHeight: _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__["default"],
3523  updateSlidesOffset: _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__["default"],
3524  updateSlidesProgress: _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__["default"],
3525  updateProgress: _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__["default"],
3526  updateSlidesClasses: _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__["default"],
3527  updateActiveIndex: _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__["default"],
3528  updateClickedSlide: _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__["default"]
3529});
3530
3531/***/ }),
3532
vendor: 4,024 bytes, lines 3533-3643
3533/***/ "./node_modules/swiper/core/update/updateActiveIndex.js":
3534/*!**************************************************************!*\
3535  !*** ./node_modules/swiper/core/update/updateActiveIndex.js ***!
3536  \**************************************************************/
3537/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3538
3539__webpack_require__.r(__webpack_exports__);
3540/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3541/* harmony export */   "default": function() { return /* binding */ updateActiveIndex; },
3542/* harmony export */   "getActiveIndexByTranslate": function() { return /* binding */ getActiveIndexByTranslate; }
3543/* harmony export */ });
3544/* harmony import */ var _shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/process-lazy-preloader.js */ "./node_modules/swiper/shared/process-lazy-preloader.js");
3545
3546function getActiveIndexByTranslate(swiper) {
3547  const {
3548    slidesGrid,
3549    params
3550  } = swiper;
3551  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
3552  let activeIndex;
3553  for (let i = 0; i < slidesGrid.length; i += 1) {
3554    if (typeof slidesGrid[i + 1] !== 'undefined') {
3555      if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {
3556        activeIndex = i;
3557      } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {
3558        activeIndex = i + 1;
3559      }
3560    } else if (translate >= slidesGrid[i]) {
3561      activeIndex = i;
3562    }
3563  }
3564  // Normalize slideIndex
3565  if (params.normalizeSlideIndex) {
3566    if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;
3567  }
3568  return activeIndex;
3569}
3570function updateActiveIndex(newActiveIndex) {
3571  const swiper = this;
3572  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
3573  const {
3574    snapGrid,
3575    params,
3576    activeIndex: previousIndex,
3577    realIndex: previousRealIndex,
3578    snapIndex: previousSnapIndex
3579  } = swiper;
3580  let activeIndex = newActiveIndex;
3581  let snapIndex;
3582  const getVirtualRealIndex = aIndex => {
3583    let realIndex = aIndex - swiper.virtual.slidesBefore;
3584    if (realIndex < 0) {
3585      realIndex = swiper.virtual.slides.length + realIndex;
3586    }
3587    if (realIndex >= swiper.virtual.slides.length) {
3588      realIndex -= swiper.virtual.slides.length;
3589    }
3590    return realIndex;
3591  };
3592  if (typeof activeIndex === 'undefined') {
3593    activeIndex = getActiveIndexByTranslate(swiper);
3594  }
3595  if (snapGrid.indexOf(translate) >= 0) {
3596    snapIndex = snapGrid.indexOf(translate);
3597  } else {
3598    const skip = Math.min(params.slidesPerGroupSkip, activeIndex);
3599    snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);
3600  }
3601  if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
3602  if (activeIndex === previousIndex) {
3603    if (snapIndex !== previousSnapIndex) {
3604      swiper.snapIndex = snapIndex;
3605      swiper.emit('snapIndexChange');
3606    }
3607    if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {
3608      swiper.realIndex = getVirtualRealIndex(activeIndex);
3609    }
3610    return;
3611  }
3612  // Get real index
3613  let realIndex;
3614  if (swiper.virtual && params.virtual.enabled && params.loop) {
3615    realIndex = getVirtualRealIndex(activeIndex);
3616  } else if (swiper.slides[activeIndex]) {
3617    realIndex = parseInt(swiper.slides[activeIndex].getAttribute('data-swiper-slide-index') || activeIndex, 10);
3618  } else {
3619    realIndex = activeIndex;
3620  }
3621  Object.assign(swiper, {
3622    previousSnapIndex,
3623    snapIndex,
3624    previousRealIndex,
3625    realIndex,
3626    previousIndex,
3627    activeIndex
3628  });
3629  if (swiper.initialized) {
3630    (0,_shared_process_lazy_preloader_js__WEBPACK_IMPORTED_MODULE_0__.preload)(swiper);
3631  }
3632  swiper.emit('activeIndexChange');
3633  swiper.emit('snapIndexChange');
3634  if (previousRealIndex !== realIndex) {
3635    swiper.emit('realIndexChange');
3636  }
3637  if (swiper.initialized || swiper.params.runCallbacksOnInit) {
3638    swiper.emit('slideChange');
3639  }
3640}
3641
3642/***/ }),
3643
vendor: 2,061 bytes, lines 3644-3701
3644/***/ "./node_modules/swiper/core/update/updateAutoHeight.js":
3645/*!*************************************************************!*\
3646  !*** ./node_modules/swiper/core/update/updateAutoHeight.js ***!
3647  \*************************************************************/
3648/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3649
3650__webpack_require__.r(__webpack_exports__);
3651/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3652/* harmony export */   "default": function() { return /* binding */ updateAutoHeight; }
3653/* harmony export */ });
3654function updateAutoHeight(speed) {
3655  const swiper = this;
3656  const activeSlides = [];
3657  const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
3658  let newHeight = 0;
3659  let i;
3660  if (typeof speed === 'number') {
3661    swiper.setTransition(speed);
3662  } else if (speed === true) {
3663    swiper.setTransition(swiper.params.speed);
3664  }
3665  const getSlideByIndex = index => {
3666    if (isVirtual) {
3667      return swiper.slides[swiper.getSlideIndexByData(index)];
3668    }
3669    return swiper.slides[index];
3670  };
3671  // Find slides currently in view
3672  if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {
3673    if (swiper.params.centeredSlides) {
3674      (swiper.visibleSlides || []).forEach(slide => {
3675        activeSlides.push(slide);
3676      });
3677    } else {
3678      for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {
3679        const index = swiper.activeIndex + i;
3680        if (index > swiper.slides.length && !isVirtual) break;
3681        activeSlides.push(getSlideByIndex(index));
3682      }
3683    }
3684  } else {
3685    activeSlides.push(getSlideByIndex(swiper.activeIndex));
3686  }
3687
3688  // Find new height from highest slide in view
3689  for (i = 0; i < activeSlides.length; i += 1) {
3690    if (typeof activeSlides[i] !== 'undefined') {
3691      const height = activeSlides[i].offsetHeight;
3692      newHeight = height > newHeight ? height : newHeight;
3693    }
3694  }
3695
3696  // Update Height
3697  if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;
3698}
3699
3700/***/ }),
3701
vendor: 1,528 bytes, lines 3702-3745
3702/***/ "./node_modules/swiper/core/update/updateClickedSlide.js":
3703/*!***************************************************************!*\
3704  !*** ./node_modules/swiper/core/update/updateClickedSlide.js ***!
3705  \***************************************************************/
3706/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3707
3708__webpack_require__.r(__webpack_exports__);
3709/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3710/* harmony export */   "default": function() { return /* binding */ updateClickedSlide; }
3711/* harmony export */ });
3712function updateClickedSlide(e) {
3713  const swiper = this;
3714  const params = swiper.params;
3715  const slide = e.closest(`.${params.slideClass}, swiper-slide`);
3716  let slideFound = false;
3717  let slideIndex;
3718  if (slide) {
3719    for (let i = 0; i < swiper.slides.length; i += 1) {
3720      if (swiper.slides[i] === slide) {
3721        slideFound = true;
3722        slideIndex = i;
3723        break;
3724      }
3725    }
3726  }
3727  if (slide && slideFound) {
3728    swiper.clickedSlide = slide;
3729    if (swiper.virtual && swiper.params.virtual.enabled) {
3730      swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);
3731    } else {
3732      swiper.clickedIndex = slideIndex;
3733    }
3734  } else {
3735    swiper.clickedSlide = undefined;
3736    swiper.clickedIndex = undefined;
3737    return;
3738  }
3739  if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {
3740    swiper.slideToClickedSlide();
3741  }
3742}
3743
3744/***/ }),
3745
vendor: 2,791 bytes, lines 3746-3820
3746/***/ "./node_modules/swiper/core/update/updateProgress.js":
3747/*!***********************************************************!*\
3748  !*** ./node_modules/swiper/core/update/updateProgress.js ***!
3749  \***********************************************************/
3750/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3751
3752__webpack_require__.r(__webpack_exports__);
3753/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3754/* harmony export */   "default": function() { return /* binding */ updateProgress; }
3755/* harmony export */ });
3756function updateProgress(translate) {
3757  const swiper = this;
3758  if (typeof translate === 'undefined') {
3759    const multiplier = swiper.rtlTranslate ? -1 : 1;
3760    // eslint-disable-next-line
3761    translate = swiper && swiper.translate && swiper.translate * multiplier || 0;
3762  }
3763  const params = swiper.params;
3764  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
3765  let {
3766    progress,
3767    isBeginning,
3768    isEnd,
3769    progressLoop
3770  } = swiper;
3771  const wasBeginning = isBeginning;
3772  const wasEnd = isEnd;
3773  if (translatesDiff === 0) {
3774    progress = 0;
3775    isBeginning = true;
3776    isEnd = true;
3777  } else {
3778    progress = (translate - swiper.minTranslate()) / translatesDiff;
3779    const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;
3780    const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;
3781    isBeginning = isBeginningRounded || progress <= 0;
3782    isEnd = isEndRounded || progress >= 1;
3783    if (isBeginningRounded) progress = 0;
3784    if (isEndRounded) progress = 1;
3785  }
3786  if (params.loop) {
3787    const firstSlideIndex = swiper.getSlideIndexByData(0);
3788    const lastSlideIndex = swiper.getSlideIndexByData(swiper.slides.length - 1);
3789    const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];
3790    const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];
3791    const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];
3792    const translateAbs = Math.abs(translate);
3793    if (translateAbs >= firstSlideTranslate) {
3794      progressLoop = (translateAbs - firstSlideTranslate) / translateMax;
3795    } else {
3796      progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;
3797    }
3798    if (progressLoop > 1) progressLoop -= 1;
3799  }
3800  Object.assign(swiper, {
3801    progress,
3802    progressLoop,
3803    isBeginning,
3804    isEnd
3805  });
3806  if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);
3807  if (isBeginning && !wasBeginning) {
3808    swiper.emit('reachBeginning toEdge');
3809  }
3810  if (isEnd && !wasEnd) {
3811    swiper.emit('reachEnd toEdge');
3812  }
3813  if (wasBeginning && !isBeginning || wasEnd && !isEnd) {
3814    swiper.emit('fromEdge');
3815  }
3816  swiper.emit('progress', progress);
3817}
3818
3819/***/ }),
3820
vendor: 1,918 bytes, lines 3821-3865
3821/***/ "./node_modules/swiper/core/update/updateSize.js":
3822/*!*******************************************************!*\
3823  !*** ./node_modules/swiper/core/update/updateSize.js ***!
3824  \*******************************************************/
3825/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3826
3827__webpack_require__.r(__webpack_exports__);
3828/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3829/* harmony export */   "default": function() { return /* binding */ updateSize; }
3830/* harmony export */ });
3831/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
3832
3833function updateSize() {
3834  const swiper = this;
3835  let width;
3836  let height;
3837  const el = swiper.el;
3838  if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {
3839    width = swiper.params.width;
3840  } else {
3841    width = el.clientWidth;
3842  }
3843  if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {
3844    height = swiper.params.height;
3845  } else {
3846    height = el.clientHeight;
3847  }
3848  if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {
3849    return;
3850  }
3851
3852  // Subtract paddings
3853  width = width - parseInt((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(el, 'padding-left') || 0, 10) - parseInt((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(el, 'padding-right') || 0, 10);
3854  height = height - parseInt((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(el, 'padding-top') || 0, 10) - parseInt((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(el, 'padding-bottom') || 0, 10);
3855  if (Number.isNaN(width)) width = 0;
3856  if (Number.isNaN(height)) height = 0;
3857  Object.assign(swiper, {
3858    width,
3859    height,
3860    size: swiper.isHorizontal() ? width : height
3861  });
3862}
3863
3864/***/ }),
3865
vendor: 12,407 bytes, lines 3866-4166
3866/***/ "./node_modules/swiper/core/update/updateSlides.js":
3867/*!*********************************************************!*\
3868  !*** ./node_modules/swiper/core/update/updateSlides.js ***!
3869  \*********************************************************/
3870/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3871
3872__webpack_require__.r(__webpack_exports__);
3873/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3874/* harmony export */   "default": function() { return /* binding */ updateSlides; }
3875/* harmony export */ });
3876/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
3877
3878function updateSlides() {
3879  const swiper = this;
3880  function getDirectionLabel(property) {
3881    if (swiper.isHorizontal()) {
3882      return property;
3883    }
3884    // prettier-ignore
3885    return {
3886      'width': 'height',
3887      'margin-top': 'margin-left',
3888      'margin-bottom ': 'margin-right',
3889      'margin-left': 'margin-top',
3890      'margin-right': 'margin-bottom',
3891      'padding-left': 'padding-top',
3892      'padding-right': 'padding-bottom',
3893      'marginRight': 'marginBottom'
3894    }[property];
3895  }
3896  function getDirectionPropertyValue(node, label) {
3897    return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);
3898  }
3899  const params = swiper.params;
3900  const {
3901    wrapperEl,
3902    slidesEl,
3903    size: swiperSize,
3904    rtlTranslate: rtl,
3905    wrongRTL
3906  } = swiper;
3907  const isVirtual = swiper.virtual && params.virtual.enabled;
3908  const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;
3909  const slides = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);
3910  const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;
3911  let snapGrid = [];
3912  const slidesGrid = [];
3913  const slidesSizesGrid = [];
3914  let offsetBefore = params.slidesOffsetBefore;
3915  if (typeof offsetBefore === 'function') {
3916    offsetBefore = params.slidesOffsetBefore.call(swiper);
3917  }
3918  let offsetAfter = params.slidesOffsetAfter;
3919  if (typeof offsetAfter === 'function') {
3920    offsetAfter = params.slidesOffsetAfter.call(swiper);
3921  }
3922  const previousSnapGridLength = swiper.snapGrid.length;
3923  const previousSlidesGridLength = swiper.slidesGrid.length;
3924  let spaceBetween = params.spaceBetween;
3925  let slidePosition = -offsetBefore;
3926  let prevSlideSize = 0;
3927  let index = 0;
3928  if (typeof swiperSize === 'undefined') {
3929    return;
3930  }
3931  if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
3932    spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;
3933  } else if (typeof spaceBetween === 'string') {
3934    spaceBetween = parseFloat(spaceBetween);
3935  }
3936  swiper.virtualSize = -spaceBetween;
3937
3938  // reset margins
3939  slides.forEach(slideEl => {
3940    if (rtl) {
3941      slideEl.style.marginLeft = '';
3942    } else {
3943      slideEl.style.marginRight = '';
3944    }
3945    slideEl.style.marginBottom = '';
3946    slideEl.style.marginTop = '';
3947  });
3948
3949  // reset cssMode offsets
3950  if (params.centeredSlides && params.cssMode) {
3951    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(wrapperEl, '--swiper-centered-offset-before', '');
3952    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(wrapperEl, '--swiper-centered-offset-after', '');
3953  }
3954  const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;
3955  if (gridEnabled) {
3956    swiper.grid.initSlides(slidesLength);
3957  }
3958
3959  // Calc slides
3960  let slideSize;
3961  const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {
3962    return typeof params.breakpoints[key].slidesPerView !== 'undefined';
3963  }).length > 0;
3964  for (let i = 0; i < slidesLength; i += 1) {
3965    slideSize = 0;
3966    let slide;
3967    if (slides[i]) slide = slides[i];
3968    if (gridEnabled) {
3969      swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);
3970    }
3971    if (slides[i] && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementStyle)(slide, 'display') === 'none') continue; // eslint-disable-line
3972
3973    if (params.slidesPerView === 'auto') {
3974      if (shouldResetSlideSize) {
3975        slides[i].style[getDirectionLabel('width')] = ``;
3976      }
3977      const slideStyles = getComputedStyle(slide);
3978      const currentTransform = slide.style.transform;
3979      const currentWebKitTransform = slide.style.webkitTransform;
3980      if (currentTransform) {
3981        slide.style.transform = 'none';
3982      }
3983      if (currentWebKitTransform) {
3984        slide.style.webkitTransform = 'none';
3985      }
3986      if (params.roundLengths) {
3987        slideSize = swiper.isHorizontal() ? (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementOuterSize)(slide, 'width', true) : (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementOuterSize)(slide, 'height', true);
3988      } else {
3989        // eslint-disable-next-line
3990        const width = getDirectionPropertyValue(slideStyles, 'width');
3991        const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');
3992        const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');
3993        const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');
3994        const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');
3995        const boxSizing = slideStyles.getPropertyValue('box-sizing');
3996        if (boxSizing && boxSizing === 'border-box') {
3997          slideSize = width + marginLeft + marginRight;
3998        } else {
3999          const {
4000            clientWidth,
4001            offsetWidth
4002          } = slide;
4003          slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);
4004        }
4005      }
4006      if (currentTransform) {
4007        slide.style.transform = currentTransform;
4008      }
4009      if (currentWebKitTransform) {
4010        slide.style.webkitTransform = currentWebKitTransform;
4011      }
4012      if (params.roundLengths) slideSize = Math.floor(slideSize);
4013    } else {
4014      slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;
4015      if (params.roundLengths) slideSize = Math.floor(slideSize);
4016      if (slides[i]) {
4017        slides[i].style[getDirectionLabel('width')] = `${slideSize}px`;
4018      }
4019    }
4020    if (slides[i]) {
4021      slides[i].swiperSlideSize = slideSize;
4022    }
4023    slidesSizesGrid.push(slideSize);
4024    if (params.centeredSlides) {
4025      slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;
4026      if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
4027      if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
4028      if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;
4029      if (params.roundLengths) slidePosition = Math.floor(slidePosition);
4030      if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);
4031      slidesGrid.push(slidePosition);
4032    } else {
4033      if (params.roundLengths) slidePosition = Math.floor(slidePosition);
4034      if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);
4035      slidesGrid.push(slidePosition);
4036      slidePosition = slidePosition + slideSize + spaceBetween;
4037    }
4038    swiper.virtualSize += slideSize + spaceBetween;
4039    prevSlideSize = slideSize;
4040    index += 1;
4041  }
4042  swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;
4043  if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {
4044    wrapperEl.style.width = `${swiper.virtualSize + spaceBetween}px`;
4045  }
4046  if (params.setWrapperSize) {
4047    wrapperEl.style[getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;
4048  }
4049  if (gridEnabled) {
4050    swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);
4051  }
4052
4053  // Remove last grid elements depending on width
4054  if (!params.centeredSlides) {
4055    const newSlidesGrid = [];
4056    for (let i = 0; i < snapGrid.length; i += 1) {
4057      let slidesGridItem = snapGrid[i];
4058      if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);
4059      if (snapGrid[i] <= swiper.virtualSize - swiperSize) {
4060        newSlidesGrid.push(slidesGridItem);
4061      }
4062    }
4063    snapGrid = newSlidesGrid;
4064    if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {
4065      snapGrid.push(swiper.virtualSize - swiperSize);
4066    }
4067  }
4068  if (isVirtual && params.loop) {
4069    const size = slidesSizesGrid[0] + spaceBetween;
4070    if (params.slidesPerGroup > 1) {
4071      const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);
4072      const groupSize = size * params.slidesPerGroup;
4073      for (let i = 0; i < groups; i += 1) {
4074        snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);
4075      }
4076    }
4077    for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {
4078      if (params.slidesPerGroup === 1) {
4079        snapGrid.push(snapGrid[snapGrid.length - 1] + size);
4080      }
4081      slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);
4082      swiper.virtualSize += size;
4083    }
4084  }
4085  if (snapGrid.length === 0) snapGrid = [0];
4086  if (spaceBetween !== 0) {
4087    const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');
4088    slides.filter((_, slideIndex) => {
4089      if (!params.cssMode || params.loop) return true;
4090      if (slideIndex === slides.length - 1) {
4091        return false;
4092      }
4093      return true;
4094    }).forEach(slideEl => {
4095      slideEl.style[key] = `${spaceBetween}px`;
4096    });
4097  }
4098  if (params.centeredSlides && params.centeredSlidesBounds) {
4099    let allSlidesSize = 0;
4100    slidesSizesGrid.forEach(slideSizeValue => {
4101      allSlidesSize += slideSizeValue + (spaceBetween || 0);
4102    });
4103    allSlidesSize -= spaceBetween;
4104    const maxSnap = allSlidesSize - swiperSize;
4105    snapGrid = snapGrid.map(snap => {
4106      if (snap < 0) return -offsetBefore;
4107      if (snap > maxSnap) return maxSnap + offsetAfter;
4108      return snap;
4109    });
4110  }
4111  if (params.centerInsufficientSlides) {
4112    let allSlidesSize = 0;
4113    slidesSizesGrid.forEach(slideSizeValue => {
4114      allSlidesSize += slideSizeValue + (spaceBetween || 0);
4115    });
4116    allSlidesSize -= spaceBetween;
4117    if (allSlidesSize < swiperSize) {
4118      const allSlidesOffset = (swiperSize - allSlidesSize) / 2;
4119      snapGrid.forEach((snap, snapIndex) => {
4120        snapGrid[snapIndex] = snap - allSlidesOffset;
4121      });
4122      slidesGrid.forEach((snap, snapIndex) => {
4123        slidesGrid[snapIndex] = snap + allSlidesOffset;
4124      });
4125    }
4126  }
4127  Object.assign(swiper, {
4128    slides,
4129    snapGrid,
4130    slidesGrid,
4131    slidesSizesGrid
4132  });
4133  if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {
4134    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);
4135    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);
4136    const addToSnapGrid = -swiper.snapGrid[0];
4137    const addToSlidesGrid = -swiper.slidesGrid[0];
4138    swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);
4139    swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);
4140  }
4141  if (slidesLength !== previousSlidesLength) {
4142    swiper.emit('slidesLengthChange');
4143  }
4144  if (snapGrid.length !== previousSnapGridLength) {
4145    if (swiper.params.watchOverflow) swiper.checkOverflow();
4146    swiper.emit('snapGridLengthChange');
4147  }
4148  if (slidesGrid.length !== previousSlidesGridLength) {
4149    swiper.emit('slidesGridLengthChange');
4150  }
4151  if (params.watchSlidesProgress) {
4152    swiper.updateSlidesOffset();
4153  }
4154  if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {
4155    const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;
4156    const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);
4157    if (slidesLength <= params.maxBackfaceHiddenSlides) {
4158      if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);
4159    } else if (hasClassBackfaceClassAdded) {
4160      swiper.el.classList.remove(backFaceHiddenClass);
4161    }
4162  }
4163}
4164
4165/***/ }),
4166
vendor: 2,636 bytes, lines 4167-4232
4167/***/ "./node_modules/swiper/core/update/updateSlidesClasses.js":
4168/*!****************************************************************!*\
4169  !*** ./node_modules/swiper/core/update/updateSlidesClasses.js ***!
4170  \****************************************************************/
4171/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4172
4173__webpack_require__.r(__webpack_exports__);
4174/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4175/* harmony export */   "default": function() { return /* binding */ updateSlidesClasses; }
4176/* harmony export */ });
4177/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
4178
4179function updateSlidesClasses() {
4180  const swiper = this;
4181  const {
4182    slides,
4183    params,
4184    slidesEl,
4185    activeIndex
4186  } = swiper;
4187  const isVirtual = swiper.virtual && params.virtual.enabled;
4188  const getFilteredSlide = selector => {
4189    return (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];
4190  };
4191  slides.forEach(slideEl => {
4192    slideEl.classList.remove(params.slideActiveClass, params.slideNextClass, params.slidePrevClass);
4193  });
4194  let activeSlide;
4195  if (isVirtual) {
4196    if (params.loop) {
4197      let slideIndex = activeIndex - swiper.virtual.slidesBefore;
4198      if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;
4199      if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;
4200      activeSlide = getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`);
4201    } else {
4202      activeSlide = getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`);
4203    }
4204  } else {
4205    activeSlide = slides[activeIndex];
4206  }
4207  if (activeSlide) {
4208    // Active classes
4209    activeSlide.classList.add(params.slideActiveClass);
4210
4211    // Next Slide
4212    let nextSlide = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementNextAll)(activeSlide, `.${params.slideClass}, swiper-slide`)[0];
4213    if (params.loop && !nextSlide) {
4214      nextSlide = slides[0];
4215    }
4216    if (nextSlide) {
4217      nextSlide.classList.add(params.slideNextClass);
4218    }
4219    // Prev Slide
4220    let prevSlide = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementPrevAll)(activeSlide, `.${params.slideClass}, swiper-slide`)[0];
4221    if (params.loop && !prevSlide === 0) {
4222      prevSlide = slides[slides.length - 1];
4223    }
4224    if (prevSlide) {
4225      prevSlide.classList.add(params.slidePrevClass);
4226    }
4227  }
4228  swiper.emitSlidesClasses();
4229}
4230
4231/***/ }),
4232
vendor: 1,054 bytes, lines 4233-4254
4233/***/ "./node_modules/swiper/core/update/updateSlidesOffset.js":
4234/*!***************************************************************!*\
4235  !*** ./node_modules/swiper/core/update/updateSlidesOffset.js ***!
4236  \***************************************************************/
4237/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4238
4239__webpack_require__.r(__webpack_exports__);
4240/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4241/* harmony export */   "default": function() { return /* binding */ updateSlidesOffset; }
4242/* harmony export */ });
4243function updateSlidesOffset() {
4244  const swiper = this;
4245  const slides = swiper.slides;
4246  // eslint-disable-next-line
4247  const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;
4248  for (let i = 0; i < slides.length; i += 1) {
4249    slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset - swiper.cssOverflowAdjustment();
4250  }
4251}
4252
4253/***/ }),
4254
vendor: 2,641 bytes, lines 4255-4312
4255/***/ "./node_modules/swiper/core/update/updateSlidesProgress.js":
4256/*!*****************************************************************!*\
4257  !*** ./node_modules/swiper/core/update/updateSlidesProgress.js ***!
4258  \*****************************************************************/
4259/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4260
4261__webpack_require__.r(__webpack_exports__);
4262/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4263/* harmony export */   "default": function() { return /* binding */ updateSlidesProgress; }
4264/* harmony export */ });
4265function updateSlidesProgress(translate = this && this.translate || 0) {
4266  const swiper = this;
4267  const params = swiper.params;
4268  const {
4269    slides,
4270    rtlTranslate: rtl,
4271    snapGrid
4272  } = swiper;
4273  if (slides.length === 0) return;
4274  if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();
4275  let offsetCenter = -translate;
4276  if (rtl) offsetCenter = translate;
4277
4278  // Visible Slides
4279  slides.forEach(slideEl => {
4280    slideEl.classList.remove(params.slideVisibleClass);
4281  });
4282  swiper.visibleSlidesIndexes = [];
4283  swiper.visibleSlides = [];
4284  let spaceBetween = params.spaceBetween;
4285  if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
4286    spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;
4287  } else if (typeof spaceBetween === 'string') {
4288    spaceBetween = parseFloat(spaceBetween);
4289  }
4290  for (let i = 0; i < slides.length; i += 1) {
4291    const slide = slides[i];
4292    let slideOffset = slide.swiperSlideOffset;
4293    if (params.cssMode && params.centeredSlides) {
4294      slideOffset -= slides[0].swiperSlideOffset;
4295    }
4296    const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);
4297    const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + spaceBetween);
4298    const slideBefore = -(offsetCenter - slideOffset);
4299    const slideAfter = slideBefore + swiper.slidesSizesGrid[i];
4300    const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;
4301    if (isVisible) {
4302      swiper.visibleSlides.push(slide);
4303      swiper.visibleSlidesIndexes.push(i);
4304      slides[i].classList.add(params.slideVisibleClass);
4305    }
4306    slide.progress = rtl ? -slideProgress : slideProgress;
4307    slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;
4308  }
4309}
4310
4311/***/ }),
4312
vendor: 12,030 bytes, lines 4313-4670
4313/***/ "./node_modules/swiper/modules/a11y/a11y.js":
4314/*!**************************************************!*\
4315  !*** ./node_modules/swiper/modules/a11y/a11y.js ***!
4316  \**************************************************/
4317/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4318
4319__webpack_require__.r(__webpack_exports__);
4320/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4321/* harmony export */   "default": function() { return /* binding */ A11y; }
4322/* harmony export */ });
4323/* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ "./node_modules/swiper/shared/classes-to-selector.js");
4324/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
4325
4326
4327function A11y({
4328  swiper,
4329  extendParams,
4330  on
4331}) {
4332  extendParams({
4333    a11y: {
4334      enabled: true,
4335      notificationClass: 'swiper-notification',
4336      prevSlideMessage: 'Previous slide',
4337      nextSlideMessage: 'Next slide',
4338      firstSlideMessage: 'This is the first slide',
4339      lastSlideMessage: 'This is the last slide',
4340      paginationBulletMessage: 'Go to slide {{index}}',
4341      slideLabelMessage: '{{index}} / {{slidesLength}}',
4342      containerMessage: null,
4343      containerRoleDescriptionMessage: null,
4344      itemRoleDescriptionMessage: null,
4345      slideRole: 'group',
4346      id: null
4347    }
4348  });
4349  swiper.a11y = {
4350    clicked: false
4351  };
4352  let liveRegion = null;
4353  function notify(message) {
4354    const notification = liveRegion;
4355    if (notification.length === 0) return;
4356    notification.innerHTML = '';
4357    notification.innerHTML = message;
4358  }
4359  const makeElementsArray = el => {
4360    if (!Array.isArray(el)) el = [el].filter(e => !!e);
4361    return el;
4362  };
4363  function getRandomNumber(size = 16) {
4364    const randomChar = () => Math.round(16 * Math.random()).toString(16);
4365    return 'x'.repeat(size).replace(/x/g, randomChar);
4366  }
4367  function makeElFocusable(el) {
4368    el = makeElementsArray(el);
4369    el.forEach(subEl => {
4370      subEl.setAttribute('tabIndex', '0');
4371    });
4372  }
4373  function makeElNotFocusable(el) {
4374    el = makeElementsArray(el);
4375    el.forEach(subEl => {
4376      subEl.setAttribute('tabIndex', '-1');
4377    });
4378  }
4379  function addElRole(el, role) {
4380    el = makeElementsArray(el);
4381    el.forEach(subEl => {
4382      subEl.setAttribute('role', role);
4383    });
4384  }
4385  function addElRoleDescription(el, description) {
4386    el = makeElementsArray(el);
4387    el.forEach(subEl => {
4388      subEl.setAttribute('aria-roledescription', description);
4389    });
4390  }
4391  function addElControls(el, controls) {
4392    el = makeElementsArray(el);
4393    el.forEach(subEl => {
4394      subEl.setAttribute('aria-controls', controls);
4395    });
4396  }
4397  function addElLabel(el, label) {
4398    el = makeElementsArray(el);
4399    el.forEach(subEl => {
4400      subEl.setAttribute('aria-label', label);
4401    });
4402  }
4403  function addElId(el, id) {
4404    el = makeElementsArray(el);
4405    el.forEach(subEl => {
4406      subEl.setAttribute('id', id);
4407    });
4408  }
4409  function addElLive(el, live) {
4410    el = makeElementsArray(el);
4411    el.forEach(subEl => {
4412      subEl.setAttribute('aria-live', live);
4413    });
4414  }
4415  function disableEl(el) {
4416    el = makeElementsArray(el);
4417    el.forEach(subEl => {
4418      subEl.setAttribute('aria-disabled', true);
4419    });
4420  }
4421  function enableEl(el) {
4422    el = makeElementsArray(el);
4423    el.forEach(subEl => {
4424      subEl.setAttribute('aria-disabled', false);
4425    });
4426  }
4427  function onEnterOrSpaceKey(e) {
4428    if (e.keyCode !== 13 && e.keyCode !== 32) return;
4429    const params = swiper.params.a11y;
4430    const targetEl = e.target;
4431    if (swiper.pagination && swiper.pagination.el && (targetEl === swiper.pagination.el || swiper.pagination.el.contains(e.target))) {
4432      if (!e.target.matches((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass))) return;
4433    }
4434    if (swiper.navigation && swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl) {
4435      if (!(swiper.isEnd && !swiper.params.loop)) {
4436        swiper.slideNext();
4437      }
4438      if (swiper.isEnd) {
4439        notify(params.lastSlideMessage);
4440      } else {
4441        notify(params.nextSlideMessage);
4442      }
4443    }
4444    if (swiper.navigation && swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl) {
4445      if (!(swiper.isBeginning && !swiper.params.loop)) {
4446        swiper.slidePrev();
4447      }
4448      if (swiper.isBeginning) {
4449        notify(params.firstSlideMessage);
4450      } else {
4451        notify(params.prevSlideMessage);
4452      }
4453    }
4454    if (swiper.pagination && targetEl.matches((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass))) {
4455      targetEl.click();
4456    }
4457  }
4458  function updateNavigation() {
4459    if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;
4460    const {
4461      nextEl,
4462      prevEl
4463    } = swiper.navigation;
4464    if (prevEl) {
4465      if (swiper.isBeginning) {
4466        disableEl(prevEl);
4467        makeElNotFocusable(prevEl);
4468      } else {
4469        enableEl(prevEl);
4470        makeElFocusable(prevEl);
4471      }
4472    }
4473    if (nextEl) {
4474      if (swiper.isEnd) {
4475        disableEl(nextEl);
4476        makeElNotFocusable(nextEl);
4477      } else {
4478        enableEl(nextEl);
4479        makeElFocusable(nextEl);
4480      }
4481    }
4482  }
4483  function hasPagination() {
4484    return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;
4485  }
4486  function hasClickablePagination() {
4487    return hasPagination() && swiper.params.pagination.clickable;
4488  }
4489  function updatePagination() {
4490    const params = swiper.params.a11y;
4491    if (!hasPagination()) return;
4492    swiper.pagination.bullets.forEach(bulletEl => {
4493      if (swiper.params.pagination.clickable) {
4494        makeElFocusable(bulletEl);
4495        if (!swiper.params.pagination.renderBullet) {
4496          addElRole(bulletEl, 'button');
4497          addElLabel(bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementIndex)(bulletEl) + 1));
4498        }
4499      }
4500      if (bulletEl.matches((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletActiveClass))) {
4501        bulletEl.setAttribute('aria-current', 'true');
4502      } else {
4503        bulletEl.removeAttribute('aria-current');
4504      }
4505    });
4506  }
4507  const initNavEl = (el, wrapperId, message) => {
4508    makeElFocusable(el);
4509    if (el.tagName !== 'BUTTON') {
4510      addElRole(el, 'button');
4511      el.addEventListener('keydown', onEnterOrSpaceKey);
4512    }
4513    addElLabel(el, message);
4514    addElControls(el, wrapperId);
4515  };
4516  const handlePointerDown = () => {
4517    swiper.a11y.clicked = true;
4518  };
4519  const handlePointerUp = () => {
4520    requestAnimationFrame(() => {
4521      requestAnimationFrame(() => {
4522        if (!swiper.destroyed) {
4523          swiper.a11y.clicked = false;
4524        }
4525      });
4526    });
4527  };
4528  const handleFocus = e => {
4529    if (swiper.a11y.clicked) return;
4530    const slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
4531    if (!slideEl || !swiper.slides.includes(slideEl)) return;
4532    const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;
4533    const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);
4534    if (isActive || isVisible) return;
4535    if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;
4536    if (swiper.isHorizontal()) {
4537      swiper.el.scrollLeft = 0;
4538    } else {
4539      swiper.el.scrollTop = 0;
4540    }
4541    swiper.slideTo(swiper.slides.indexOf(slideEl), 0);
4542  };
4543  const initSlides = () => {
4544    const params = swiper.params.a11y;
4545    if (params.itemRoleDescriptionMessage) {
4546      addElRoleDescription(swiper.slides, params.itemRoleDescriptionMessage);
4547    }
4548    if (params.slideRole) {
4549      addElRole(swiper.slides, params.slideRole);
4550    }
4551    const slidesLength = swiper.slides.length;
4552    if (params.slideLabelMessage) {
4553      swiper.slides.forEach((slideEl, index) => {
4554        const slideIndex = swiper.params.loop ? parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10) : index;
4555        const ariaLabelMessage = params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength);
4556        addElLabel(slideEl, ariaLabelMessage);
4557      });
4558    }
4559  };
4560  const init = () => {
4561    const params = swiper.params.a11y;
4562    if (swiper.isElement) {
4563      swiper.el.shadowEl.append(liveRegion);
4564    } else {
4565      swiper.el.append(liveRegion);
4566    }
4567
4568    // Container
4569    const containerEl = swiper.el;
4570    if (params.containerRoleDescriptionMessage) {
4571      addElRoleDescription(containerEl, params.containerRoleDescriptionMessage);
4572    }
4573    if (params.containerMessage) {
4574      addElLabel(containerEl, params.containerMessage);
4575    }
4576
4577    // Wrapper
4578    const wrapperEl = swiper.wrapperEl;
4579    const wrapperId = params.id || wrapperEl.getAttribute('id') || `swiper-wrapper-${getRandomNumber(16)}`;
4580    const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';
4581    addElId(wrapperEl, wrapperId);
4582    addElLive(wrapperEl, live);
4583
4584    // Slide
4585    initSlides();
4586
4587    // Navigation
4588    let {
4589      nextEl,
4590      prevEl
4591    } = swiper.navigation ? swiper.navigation : {};
4592    nextEl = makeElementsArray(nextEl);
4593    prevEl = makeElementsArray(prevEl);
4594    if (nextEl) {
4595      nextEl.forEach(el => initNavEl(el, wrapperId, params.nextSlideMessage));
4596    }
4597    if (prevEl) {
4598      prevEl.forEach(el => initNavEl(el, wrapperId, params.prevSlideMessage));
4599    }
4600
4601    // Pagination
4602    if (hasClickablePagination()) {
4603      const paginationEl = Array.isArray(swiper.pagination.el) ? swiper.pagination.el : [swiper.pagination.el];
4604      paginationEl.forEach(el => {
4605        el.addEventListener('keydown', onEnterOrSpaceKey);
4606      });
4607    }
4608
4609    // Tab focus
4610    swiper.el.addEventListener('focus', handleFocus, true);
4611    swiper.el.addEventListener('pointerdown', handlePointerDown, true);
4612    swiper.el.addEventListener('pointerup', handlePointerUp, true);
4613  };
4614  function destroy() {
4615    if (liveRegion) liveRegion.remove();
4616    let {
4617      nextEl,
4618      prevEl
4619    } = swiper.navigation ? swiper.navigation : {};
4620    nextEl = makeElementsArray(nextEl);
4621    prevEl = makeElementsArray(prevEl);
4622    if (nextEl) {
4623      nextEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));
4624    }
4625    if (prevEl) {
4626      prevEl.forEach(el => el.removeEventListener('keydown', onEnterOrSpaceKey));
4627    }
4628
4629    // Pagination
4630    if (hasClickablePagination()) {
4631      const paginationEl = Array.isArray(swiper.pagination.el) ? swiper.pagination.el : [swiper.pagination.el];
4632      paginationEl.forEach(el => {
4633        el.removeEventListener('keydown', onEnterOrSpaceKey);
4634      });
4635    }
4636
4637    // Tab focus
4638    swiper.el.removeEventListener('focus', handleFocus, true);
4639    swiper.el.removeEventListener('pointerdown', handlePointerDown, true);
4640    swiper.el.removeEventListener('pointerup', handlePointerUp, true);
4641  }
4642  on('beforeInit', () => {
4643    liveRegion = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('span', swiper.params.a11y.notificationClass);
4644    liveRegion.setAttribute('aria-live', 'assertive');
4645    liveRegion.setAttribute('aria-atomic', 'true');
4646  });
4647  on('afterInit', () => {
4648    if (!swiper.params.a11y.enabled) return;
4649    init();
4650  });
4651  on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => {
4652    if (!swiper.params.a11y.enabled) return;
4653    initSlides();
4654  });
4655  on('fromEdge toEdge afterInit lock unlock', () => {
4656    if (!swiper.params.a11y.enabled) return;
4657    updateNavigation();
4658  });
4659  on('paginationUpdate', () => {
4660    if (!swiper.params.a11y.enabled) return;
4661    updatePagination();
4662  });
4663  on('destroy', () => {
4664    if (!swiper.params.a11y.enabled) return;
4665    destroy();
4666  });
4667}
4668
4669/***/ }),
4670
vendor: 9,404 bytes, lines 4671-4963
4671/***/ "./node_modules/swiper/modules/autoplay/autoplay.js":
4672/*!**********************************************************!*\
4673  !*** ./node_modules/swiper/modules/autoplay/autoplay.js ***!
4674  \**********************************************************/
4675/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4676
4677__webpack_require__.r(__webpack_exports__);
4678/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4679/* harmony export */   "default": function() { return /* binding */ Autoplay; }
4680/* harmony export */ });
4681/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
4682/* eslint no-underscore-dangle: "off" */
4683/* eslint no-use-before-define: "off" */
4684
4685function Autoplay({
4686  swiper,
4687  extendParams,
4688  on,
4689  emit,
4690  params
4691}) {
4692  swiper.autoplay = {
4693    running: false,
4694    paused: false,
4695    timeLeft: 0
4696  };
4697  extendParams({
4698    autoplay: {
4699      enabled: false,
4700      delay: 3000,
4701      waitForTransition: true,
4702      disableOnInteraction: true,
4703      stopOnLastSlide: false,
4704      reverseDirection: false,
4705      pauseOnMouseEnter: false
4706    }
4707  });
4708  let timeout;
4709  let raf;
4710  let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000;
4711  let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000;
4712  let autoplayTimeLeft;
4713  let autoplayStartTime = new Date().getTime;
4714  let wasPaused;
4715  let isTouched;
4716  let pausedByTouch;
4717  let touchStartTimeout;
4718  let slideChanged;
4719  let pausedByInteraction;
4720  function onTransitionEnd(e) {
4721    if (!swiper || swiper.destroyed || !swiper.wrapperEl) return;
4722    if (e.target !== swiper.wrapperEl) return;
4723    swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd);
4724    resume();
4725  }
4726  const calcTimeLeft = () => {
4727    if (swiper.destroyed || !swiper.autoplay.running) return;
4728    if (swiper.autoplay.paused) {
4729      wasPaused = true;
4730    } else if (wasPaused) {
4731      autoplayDelayCurrent = autoplayTimeLeft;
4732      wasPaused = false;
4733    }
4734    const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime();
4735    swiper.autoplay.timeLeft = timeLeft;
4736    emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal);
4737    raf = requestAnimationFrame(() => {
4738      calcTimeLeft();
4739    });
4740  };
4741  const getSlideDelay = () => {
4742    let activeSlideEl;
4743    if (swiper.virtual && swiper.params.virtual.enabled) {
4744      activeSlideEl = swiper.slides.filter(slideEl => slideEl.classList.contains('swiper-slide-active'))[0];
4745    } else {
4746      activeSlideEl = swiper.slides[swiper.activeIndex];
4747    }
4748    if (!activeSlideEl) return undefined;
4749    const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10);
4750    return currentSlideDelay;
4751  };
4752  const run = delayForce => {
4753    if (swiper.destroyed || !swiper.autoplay.running) return;
4754    cancelAnimationFrame(raf);
4755    calcTimeLeft();
4756    let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce;
4757    autoplayDelayTotal = swiper.params.autoplay.delay;
4758    autoplayDelayCurrent = swiper.params.autoplay.delay;
4759    const currentSlideDelay = getSlideDelay();
4760    if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') {
4761      delay = currentSlideDelay;
4762      autoplayDelayTotal = currentSlideDelay;
4763      autoplayDelayCurrent = currentSlideDelay;
4764    }
4765    autoplayTimeLeft = delay;
4766    const speed = swiper.params.speed;
4767    const proceed = () => {
4768      if (!swiper || swiper.destroyed) return;
4769      if (swiper.params.autoplay.reverseDirection) {
4770        if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) {
4771          swiper.slidePrev(speed, true, true);
4772          emit('autoplay');
4773        } else if (!swiper.params.autoplay.stopOnLastSlide) {
4774          swiper.slideTo(swiper.slides.length - 1, speed, true, true);
4775          emit('autoplay');
4776        }
4777      } else {
4778        if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) {
4779          swiper.slideNext(speed, true, true);
4780          emit('autoplay');
4781        } else if (!swiper.params.autoplay.stopOnLastSlide) {
4782          swiper.slideTo(0, speed, true, true);
4783          emit('autoplay');
4784        }
4785      }
4786      if (swiper.params.cssMode) {
4787        autoplayStartTime = new Date().getTime();
4788        requestAnimationFrame(() => {
4789          run();
4790        });
4791      }
4792    };
4793    if (delay > 0) {
4794      clearTimeout(timeout);
4795      timeout = setTimeout(() => {
4796        proceed();
4797      }, delay);
4798    } else {
4799      requestAnimationFrame(() => {
4800        proceed();
4801      });
4802    }
4803
4804    // eslint-disable-next-line
4805    return delay;
4806  };
4807  const start = () => {
4808    swiper.autoplay.running = true;
4809    run();
4810    emit('autoplayStart');
4811  };
4812  const stop = () => {
4813    swiper.autoplay.running = false;
4814    clearTimeout(timeout);
4815    cancelAnimationFrame(raf);
4816    emit('autoplayStop');
4817  };
4818  const pause = (internal, reset) => {
4819    if (swiper.destroyed || !swiper.autoplay.running) return;
4820    clearTimeout(timeout);
4821    if (!internal) {
4822      pausedByInteraction = true;
4823    }
4824    const proceed = () => {
4825      emit('autoplayPause');
4826      if (swiper.params.autoplay.waitForTransition) {
4827        swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd);
4828      } else {
4829        resume();
4830      }
4831    };
4832    swiper.autoplay.paused = true;
4833    if (reset) {
4834      if (slideChanged) {
4835        autoplayTimeLeft = swiper.params.autoplay.delay;
4836      }
4837      slideChanged = false;
4838      proceed();
4839      return;
4840    }
4841    const delay = autoplayTimeLeft || swiper.params.autoplay.delay;
4842    autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime);
4843    if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return;
4844    if (autoplayTimeLeft < 0) autoplayTimeLeft = 0;
4845    proceed();
4846  };
4847  const resume = () => {
4848    if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return;
4849    autoplayStartTime = new Date().getTime();
4850    if (pausedByInteraction) {
4851      pausedByInteraction = false;
4852      run(autoplayTimeLeft);
4853    } else {
4854      run();
4855    }
4856    swiper.autoplay.paused = false;
4857    emit('autoplayResume');
4858  };
4859  const onVisibilityChange = () => {
4860    if (swiper.destroyed || !swiper.autoplay.running) return;
4861    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
4862    if (document.visibilityState === 'hidden') {
4863      pausedByInteraction = true;
4864      pause(true);
4865    }
4866    if (document.visibilityState === 'visible') {
4867      resume();
4868    }
4869  };
4870  const onPointerEnter = e => {
4871    if (e.pointerType !== 'mouse') return;
4872    pausedByInteraction = true;
4873    pause(true);
4874  };
4875  const onPointerLeave = e => {
4876    if (e.pointerType !== 'mouse') return;
4877    if (swiper.autoplay.paused) {
4878      resume();
4879    }
4880  };
4881  const attachMouseEvents = () => {
4882    if (swiper.params.autoplay.pauseOnMouseEnter) {
4883      swiper.el.addEventListener('pointerenter', onPointerEnter);
4884      swiper.el.addEventListener('pointerleave', onPointerLeave);
4885    }
4886  };
4887  const detachMouseEvents = () => {
4888    swiper.el.removeEventListener('pointerenter', onPointerEnter);
4889    swiper.el.removeEventListener('pointerleave', onPointerLeave);
4890  };
4891  const attachDocumentEvents = () => {
4892    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
4893    document.addEventListener('visibilitychange', onVisibilityChange);
4894  };
4895  const detachDocumentEvents = () => {
4896    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
4897    document.removeEventListener('visibilitychange', onVisibilityChange);
4898  };
4899  on('init', () => {
4900    if (swiper.params.autoplay.enabled) {
4901      attachMouseEvents();
4902      attachDocumentEvents();
4903      autoplayStartTime = new Date().getTime();
4904      start();
4905    }
4906  });
4907  on('destroy', () => {
4908    detachMouseEvents();
4909    detachDocumentEvents();
4910    if (swiper.autoplay.running) {
4911      stop();
4912    }
4913  });
4914  on('beforeTransitionStart', (_s, speed, internal) => {
4915    if (swiper.destroyed || !swiper.autoplay.running) return;
4916    if (internal || !swiper.params.autoplay.disableOnInteraction) {
4917      pause(true, true);
4918    } else {
4919      stop();
4920    }
4921  });
4922  on('sliderFirstMove', () => {
4923    if (swiper.destroyed || !swiper.autoplay.running) return;
4924    if (swiper.params.autoplay.disableOnInteraction) {
4925      stop();
4926      return;
4927    }
4928    isTouched = true;
4929    pausedByTouch = false;
4930    pausedByInteraction = false;
4931    touchStartTimeout = setTimeout(() => {
4932      pausedByInteraction = true;
4933      pausedByTouch = true;
4934      pause(true);
4935    }, 200);
4936  });
4937  on('touchEnd', () => {
4938    if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return;
4939    clearTimeout(touchStartTimeout);
4940    clearTimeout(timeout);
4941    if (swiper.params.autoplay.disableOnInteraction) {
4942      pausedByTouch = false;
4943      isTouched = false;
4944      return;
4945    }
4946    if (pausedByTouch && swiper.params.cssMode) resume();
4947    pausedByTouch = false;
4948    isTouched = false;
4949  });
4950  on('slideChange', () => {
4951    if (swiper.destroyed || !swiper.autoplay.running) return;
4952    slideChanged = true;
4953  });
4954  Object.assign(swiper.autoplay, {
4955    start,
4956    stop,
4957    pause,
4958    resume
4959  });
4960}
4961
4962/***/ }),
4963
vendor: 7,220 bytes, lines 4964-5160
4964/***/ "./node_modules/swiper/modules/controller/controller.js":
4965/*!**************************************************************!*\
4966  !*** ./node_modules/swiper/modules/controller/controller.js ***!
4967  \**************************************************************/
4968/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
4969
4970__webpack_require__.r(__webpack_exports__);
4971/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4972/* harmony export */   "default": function() { return /* binding */ Controller; }
4973/* harmony export */ });
4974/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
4975/* eslint no-bitwise: ["error", { "allow": [">>"] }] */
4976
4977function Controller({
4978  swiper,
4979  extendParams,
4980  on
4981}) {
4982  extendParams({
4983    controller: {
4984      control: undefined,
4985      inverse: false,
4986      by: 'slide' // or 'container'
4987    }
4988  });
4989
4990  swiper.controller = {
4991    control: undefined
4992  };
4993  function LinearSpline(x, y) {
4994    const binarySearch = function search() {
4995      let maxIndex;
4996      let minIndex;
4997      let guess;
4998      return (array, val) => {
4999        minIndex = -1;
5000        maxIndex = array.length;
5001        while (maxIndex - minIndex > 1) {
5002          guess = maxIndex + minIndex >> 1;
5003          if (array[guess] <= val) {
5004            minIndex = guess;
5005          } else {
5006            maxIndex = guess;
5007          }
5008        }
5009        return maxIndex;
5010      };
5011    }();
5012    this.x = x;
5013    this.y = y;
5014    this.lastIndex = x.length - 1;
5015    // Given an x value (x2), return the expected y2 value:
5016    // (x1,y1) is the known point before given value,
5017    // (x3,y3) is the known point after given value.
5018    let i1;
5019    let i3;
5020    this.interpolate = function interpolate(x2) {
5021      if (!x2) return 0;
5022
5023      // Get the indexes of x1 and x3 (the array indexes before and after given x2):
5024      i3 = binarySearch(this.x, x2);
5025      i1 = i3 - 1;
5026
5027      // We have our indexes i1 & i3, so we can calculate already:
5028      // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1
5029      return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];
5030    };
5031    return this;
5032  }
5033  function getInterpolateFunction(c) {
5034    swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid);
5035  }
5036  function setTranslate(_t, byController) {
5037    const controlled = swiper.controller.control;
5038    let multiplier;
5039    let controlledTranslate;
5040    const Swiper = swiper.constructor;
5041    function setControlledTranslate(c) {
5042      if (c.destroyed) return;
5043
5044      // this will create an Interpolate function based on the snapGrids
5045      // x is the Grid of the scrolled scroller and y will be the controlled scroller
5046      // it makes sense to create this only once and recall it for the interpolation
5047      // the function does a lot of value caching for performance
5048      const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;
5049      if (swiper.params.controller.by === 'slide') {
5050        getInterpolateFunction(c);
5051        // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid
5052        // but it did not work out
5053        controlledTranslate = -swiper.controller.spline.interpolate(-translate);
5054      }
5055      if (!controlledTranslate || swiper.params.controller.by === 'container') {
5056        multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());
5057        if (Number.isNaN(multiplier) || !Number.isFinite(multiplier)) {
5058          multiplier = 1;
5059        }
5060        controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();
5061      }
5062      if (swiper.params.controller.inverse) {
5063        controlledTranslate = c.maxTranslate() - controlledTranslate;
5064      }
5065      c.updateProgress(controlledTranslate);
5066      c.setTranslate(controlledTranslate, swiper);
5067      c.updateActiveIndex();
5068      c.updateSlidesClasses();
5069    }
5070    if (Array.isArray(controlled)) {
5071      for (let i = 0; i < controlled.length; i += 1) {
5072        if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
5073          setControlledTranslate(controlled[i]);
5074        }
5075      }
5076    } else if (controlled instanceof Swiper && byController !== controlled) {
5077      setControlledTranslate(controlled);
5078    }
5079  }
5080  function setTransition(duration, byController) {
5081    const Swiper = swiper.constructor;
5082    const controlled = swiper.controller.control;
5083    let i;
5084    function setControlledTransition(c) {
5085      if (c.destroyed) return;
5086      c.setTransition(duration, swiper);
5087      if (duration !== 0) {
5088        c.transitionStart();
5089        if (c.params.autoHeight) {
5090          (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
5091            c.updateAutoHeight();
5092          });
5093        }
5094        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(c.wrapperEl, () => {
5095          if (!controlled) return;
5096          c.transitionEnd();
5097        });
5098      }
5099    }
5100    if (Array.isArray(controlled)) {
5101      for (i = 0; i < controlled.length; i += 1) {
5102        if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
5103          setControlledTransition(controlled[i]);
5104        }
5105      }
5106    } else if (controlled instanceof Swiper && byController !== controlled) {
5107      setControlledTransition(controlled);
5108    }
5109  }
5110  function removeSpline() {
5111    if (!swiper.controller.control) return;
5112    if (swiper.controller.spline) {
5113      swiper.controller.spline = undefined;
5114      delete swiper.controller.spline;
5115    }
5116  }
5117  on('beforeInit', () => {
5118    if (typeof window !== 'undefined' && (
5119    // eslint-disable-line
5120    typeof swiper.params.controller.control === 'string' || swiper.params.controller.control instanceof HTMLElement)) {
5121      const controlElement = document.querySelector(swiper.params.controller.control);
5122      if (controlElement && controlElement.swiper) {
5123        swiper.controller.control = controlElement.swiper;
5124      } else if (controlElement) {
5125        const onControllerSwiper = e => {
5126          swiper.controller.control = e.detail[0];
5127          swiper.update();
5128          controlElement.removeEventListener('init', onControllerSwiper);
5129        };
5130        controlElement.addEventListener('init', onControllerSwiper);
5131      }
5132      return;
5133    }
5134    swiper.controller.control = swiper.params.controller.control;
5135  });
5136  on('update', () => {
5137    removeSpline();
5138  });
5139  on('resize', () => {
5140    removeSpline();
5141  });
5142  on('observerUpdate', () => {
5143    removeSpline();
5144  });
5145  on('setTranslate', (_s, translate, byController) => {
5146    if (!swiper.controller.control || swiper.controller.control.destroyed) return;
5147    swiper.controller.setTranslate(translate, byController);
5148  });
5149  on('setTransition', (_s, duration, byController) => {
5150    if (!swiper.controller.control || swiper.controller.control.destroyed) return;
5151    swiper.controller.setTransition(duration, byController);
5152  });
5153  Object.assign(swiper.controller, {
5154    setTranslate,
5155    setTransition
5156  });
5157}
5158
5159/***/ }),
5160
vendor: 5,825 bytes, lines 5161-5294
5161/***/ "./node_modules/swiper/modules/effect-cards/effect-cards.js":
5162/*!******************************************************************!*\
5163  !*** ./node_modules/swiper/modules/effect-cards/effect-cards.js ***!
5164  \******************************************************************/
5165/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
5166
5167__webpack_require__.r(__webpack_exports__);
5168/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5169/* harmony export */   "default": function() { return /* binding */ EffectCards; }
5170/* harmony export */ });
5171/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js");
5172/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js");
5173/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js");
5174/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js");
5175/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
5176
5177
5178
5179
5180
5181function EffectCards({
5182  swiper,
5183  extendParams,
5184  on
5185}) {
5186  extendParams({
5187    cardsEffect: {
5188      slideShadows: true,
5189      rotate: true,
5190      perSlideRotate: 2,
5191      perSlideOffset: 8
5192    }
5193  });
5194  const setTranslate = () => {
5195    const {
5196      slides,
5197      activeIndex
5198    } = swiper;
5199    const params = swiper.params.cardsEffect;
5200    const {
5201      startTranslate,
5202      isTouched
5203    } = swiper.touchEventsData;
5204    const currentTranslate = swiper.translate;
5205    for (let i = 0; i < slides.length; i += 1) {
5206      const slideEl = slides[i];
5207      const slideProgress = slideEl.progress;
5208      const progress = Math.min(Math.max(slideProgress, -4), 4);
5209      let offset = slideEl.swiperSlideOffset;
5210      if (swiper.params.centeredSlides && !swiper.params.cssMode) {
5211        swiper.wrapperEl.style.transform = `translateX(${swiper.minTranslate()}px)`;
5212      }
5213      if (swiper.params.centeredSlides && swiper.params.cssMode) {
5214        offset -= slides[0].swiperSlideOffset;
5215      }
5216      let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset;
5217      let tY = 0;
5218      const tZ = -100 * Math.abs(progress);
5219      let scale = 1;
5220      let rotate = -params.perSlideRotate * progress;
5221      let tXAdd = params.perSlideOffset - Math.abs(progress) * 0.75;
5222      const slideIndex = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.from + i : i;
5223      const isSwipeToNext = (slideIndex === activeIndex || slideIndex === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate;
5224      const isSwipeToPrev = (slideIndex === activeIndex || slideIndex === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate;
5225      if (isSwipeToNext || isSwipeToPrev) {
5226        const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;
5227        rotate += -28 * progress * subProgress;
5228        scale += -0.5 * subProgress;
5229        tXAdd += 96 * subProgress;
5230        tY = `${-25 * subProgress * Math.abs(progress)}%`;
5231      }
5232      if (progress < 0) {
5233        // next
5234        tX = `calc(${tX}px + (${tXAdd * Math.abs(progress)}%))`;
5235      } else if (progress > 0) {
5236        // prev
5237        tX = `calc(${tX}px + (-${tXAdd * Math.abs(progress)}%))`;
5238      } else {
5239        tX = `${tX}px`;
5240      }
5241      if (!swiper.isHorizontal()) {
5242        const prevY = tY;
5243        tY = tX;
5244        tX = prevY;
5245      }
5246      const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`;
5247      const transform = `
5248        translate3d(${tX}, ${tY}, ${tZ}px)
5249        rotateZ(${params.rotate ? rotate : 0}deg)
5250        scale(${scaleString})
5251      `;
5252      if (params.slideShadows) {
5253        // Set shadows
5254        let shadowEl = slideEl.querySelector('.swiper-slide-shadow');
5255        if (!shadowEl) {
5256          shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, slideEl);
5257        }
5258        if (shadowEl) shadowEl.style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);
5259      }
5260      slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;
5261      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, slideEl);
5262      targetEl.style.transform = transform;
5263    }
5264  };
5265  const setTransition = duration => {
5266    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_4__.getSlideTransformEl)(slideEl));
5267    transformElements.forEach(el => {
5268      el.style.transitionDuration = `${duration}ms`;
5269      el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => {
5270        shadowEl.style.transitionDuration = `${duration}ms`;
5271      });
5272    });
5273    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({
5274      swiper,
5275      duration,
5276      transformElements
5277    });
5278  };
5279  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
5280    effect: 'cards',
5281    swiper,
5282    on,
5283    setTranslate,
5284    setTransition,
5285    perspective: () => true,
5286    overwriteParams: () => ({
5287      watchSlidesProgress: true,
5288      virtualTranslate: !swiper.params.cssMode
5289    })
5290  });
5291}
5292
5293/***/ }),
5294
vendor: 5,690 bytes, lines 5295-5410
5295/***/ "./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js":
5296/*!**************************************************************************!*\
5297  !*** ./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js ***!
5298  \**************************************************************************/
5299/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
5300
5301__webpack_require__.r(__webpack_exports__);
5302/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5303/* harmony export */   "default": function() { return /* binding */ EffectCoverflow; }
5304/* harmony export */ });
5305/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js");
5306/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js");
5307/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js");
5308/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
5309
5310
5311
5312
5313function EffectCoverflow({
5314  swiper,
5315  extendParams,
5316  on
5317}) {
5318  extendParams({
5319    coverflowEffect: {
5320      rotate: 50,
5321      stretch: 0,
5322      depth: 100,
5323      scale: 1,
5324      modifier: 1,
5325      slideShadows: true
5326    }
5327  });
5328  const setTranslate = () => {
5329    const {
5330      width: swiperWidth,
5331      height: swiperHeight,
5332      slides,
5333      slidesSizesGrid
5334    } = swiper;
5335    const params = swiper.params.coverflowEffect;
5336    const isHorizontal = swiper.isHorizontal();
5337    const transform = swiper.translate;
5338    const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;
5339    const rotate = isHorizontal ? params.rotate : -params.rotate;
5340    const translate = params.depth;
5341    // Each slide offset from center
5342    for (let i = 0, length = slides.length; i < length; i += 1) {
5343      const slideEl = slides[i];
5344      const slideSize = slidesSizesGrid[i];
5345      const slideOffset = slideEl.swiperSlideOffset;
5346      const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;
5347      const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier;
5348      let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;
5349      let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;
5350      // var rotateZ = 0
5351      let translateZ = -translate * Math.abs(offsetMultiplier);
5352      let stretch = params.stretch;
5353      // Allow percentage to make a relative stretch for responsive sliders
5354      if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {
5355        stretch = parseFloat(params.stretch) / 100 * slideSize;
5356      }
5357      let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;
5358      let translateX = isHorizontal ? stretch * offsetMultiplier : 0;
5359      let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier);
5360
5361      // Fix for ultra small values
5362      if (Math.abs(translateX) < 0.001) translateX = 0;
5363      if (Math.abs(translateY) < 0.001) translateY = 0;
5364      if (Math.abs(translateZ) < 0.001) translateZ = 0;
5365      if (Math.abs(rotateY) < 0.001) rotateY = 0;
5366      if (Math.abs(rotateX) < 0.001) rotateX = 0;
5367      if (Math.abs(scale) < 0.001) scale = 0;
5368      const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px)  rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;
5369      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, slideEl);
5370      targetEl.style.transform = slideTransform;
5371      slideEl.style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;
5372      if (params.slideShadows) {
5373        // Set shadows
5374        let shadowBeforeEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');
5375        let shadowAfterEl = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');
5376        if (!shadowBeforeEl) {
5377          shadowBeforeEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, slideEl, isHorizontal ? 'left' : 'top');
5378        }
5379        if (!shadowAfterEl) {
5380          shadowAfterEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, slideEl, isHorizontal ? 'right' : 'bottom');
5381        }
5382        if (shadowBeforeEl) shadowBeforeEl.style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;
5383        if (shadowAfterEl) shadowAfterEl.style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;
5384      }
5385    }
5386  };
5387  const setTransition = duration => {
5388    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_3__.getSlideTransformEl)(slideEl));
5389    transformElements.forEach(el => {
5390      el.style.transitionDuration = `${duration}ms`;
5391      el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {
5392        shadowEl.style.transitionDuration = `${duration}ms`;
5393      });
5394    });
5395  };
5396  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
5397    effect: 'coverflow',
5398    swiper,
5399    on,
5400    setTranslate,
5401    setTransition,
5402    perspective: () => true,
5403    overwriteParams: () => ({
5404      watchSlidesProgress: true
5405    })
5406  });
5407}
5408
5409/***/ }),
5410
vendor: 6,403 bytes, lines 5411-5568
5411/***/ "./node_modules/swiper/modules/effect-creative/effect-creative.js":
5412/*!************************************************************************!*\
5413  !*** ./node_modules/swiper/modules/effect-creative/effect-creative.js ***!
5414  \************************************************************************/
5415/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
5416
5417__webpack_require__.r(__webpack_exports__);
5418/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5419/* harmony export */   "default": function() { return /* binding */ EffectCreative; }
5420/* harmony export */ });
5421/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js");
5422/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js");
5423/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js");
5424/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js");
5425/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
5426
5427
5428
5429
5430
5431function EffectCreative({
5432  swiper,
5433  extendParams,
5434  on
5435}) {
5436  extendParams({
5437    creativeEffect: {
5438      limitProgress: 1,
5439      shadowPerProgress: false,
5440      progressMultiplier: 1,
5441      perspective: true,
5442      prev: {
5443        translate: [0, 0, 0],
5444        rotate: [0, 0, 0],
5445        opacity: 1,
5446        scale: 1
5447      },
5448      next: {
5449        translate: [0, 0, 0],
5450        rotate: [0, 0, 0],
5451        opacity: 1,
5452        scale: 1
5453      }
5454    }
5455  });
5456  const getTranslateValue = value => {
5457    if (typeof value === 'string') return value;
5458    return `${value}px`;
5459  };
5460  const setTranslate = () => {
5461    const {
5462      slides,
5463      wrapperEl,
5464      slidesSizesGrid
5465    } = swiper;
5466    const params = swiper.params.creativeEffect;
5467    const {
5468      progressMultiplier: multiplier
5469    } = params;
5470    const isCenteredSlides = swiper.params.centeredSlides;
5471    if (isCenteredSlides) {
5472      const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;
5473      wrapperEl.style.transform = `translateX(calc(50% - ${margin}px))`;
5474    }
5475    for (let i = 0; i < slides.length; i += 1) {
5476      const slideEl = slides[i];
5477      const slideProgress = slideEl.progress;
5478      const progress = Math.min(Math.max(slideEl.progress, -params.limitProgress), params.limitProgress);
5479      let originalProgress = progress;
5480      if (!isCenteredSlides) {
5481        originalProgress = Math.min(Math.max(slideEl.originalProgress, -params.limitProgress), params.limitProgress);
5482      }
5483      const offset = slideEl.swiperSlideOffset;
5484      const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];
5485      const r = [0, 0, 0];
5486      let custom = false;
5487      if (!swiper.isHorizontal()) {
5488        t[1] = t[0];
5489        t[0] = 0;
5490      }
5491      let data = {
5492        translate: [0, 0, 0],
5493        rotate: [0, 0, 0],
5494        scale: 1,
5495        opacity: 1
5496      };
5497      if (progress < 0) {
5498        data = params.next;
5499        custom = true;
5500      } else if (progress > 0) {
5501        data = params.prev;
5502        custom = true;
5503      }
5504      // set translate
5505      t.forEach((value, index) => {
5506        t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`;
5507      });
5508      // set rotates
5509      r.forEach((value, index) => {
5510        r[index] = data.rotate[index] * Math.abs(progress * multiplier);
5511      });
5512      slideEl.style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;
5513      const translateString = t.join(', ');
5514      const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`;
5515      const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;
5516      const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier;
5517      const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`;
5518
5519      // Set shadows
5520      if (custom && data.shadow || !custom) {
5521        let shadowEl = slideEl.querySelector('.swiper-slide-shadow');
5522        if (!shadowEl && data.shadow) {
5523          shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, slideEl);
5524        }
5525        if (shadowEl) {
5526          const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress;
5527          shadowEl.style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);
5528        }
5529      }
5530      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, slideEl);
5531      targetEl.style.transform = transform;
5532      targetEl.style.opacity = opacityString;
5533      if (data.origin) {
5534        targetEl.style.transformOrigin = data.origin;
5535      }
5536    }
5537  };
5538  const setTransition = duration => {
5539    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_4__.getSlideTransformEl)(slideEl));
5540    transformElements.forEach(el => {
5541      el.style.transitionDuration = `${duration}ms`;
5542      el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl => {
5543        shadowEl.style.transitionDuration = `${duration}ms`;
5544      });
5545    });
5546    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({
5547      swiper,
5548      duration,
5549      transformElements,
5550      allSlides: true
5551    });
5552  };
5553  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
5554    effect: 'creative',
5555    swiper,
5556    on,
5557    setTranslate,
5558    setTransition,
5559    perspective: () => swiper.params.creativeEffect.perspective,
5560    overwriteParams: () => ({
5561      watchSlidesProgress: true,
5562      virtualTranslate: !swiper.params.cssMode
5563    })
5564  });
5565}
5566
5567/***/ }),
5568
vendor: 7,519 bytes, lines 5569-5752
5569/***/ "./node_modules/swiper/modules/effect-cube/effect-cube.js":
5570/*!****************************************************************!*\
5571  !*** ./node_modules/swiper/modules/effect-cube/effect-cube.js ***!
5572  \****************************************************************/
5573/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
5574
5575__webpack_require__.r(__webpack_exports__);
5576/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5577/* harmony export */   "default": function() { return /* binding */ EffectCube; }
5578/* harmony export */ });
5579/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js");
5580/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
5581
5582
5583function EffectCube({
5584  swiper,
5585  extendParams,
5586  on
5587}) {
5588  extendParams({
5589    cubeEffect: {
5590      slideShadows: true,
5591      shadow: true,
5592      shadowOffset: 20,
5593      shadowScale: 0.94
5594    }
5595  });
5596  const createSlideShadows = (slideEl, progress, isHorizontal) => {
5597    let shadowBefore = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');
5598    let shadowAfter = isHorizontal ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');
5599    if (!shadowBefore) {
5600      shadowBefore = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', `swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}`);
5601      slideEl.append(shadowBefore);
5602    }
5603    if (!shadowAfter) {
5604      shadowAfter = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', `swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}`);
5605      slideEl.append(shadowAfter);
5606    }
5607    if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);
5608    if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);
5609  };
5610  const recreateShadows = () => {
5611    // create new ones
5612    const isHorizontal = swiper.isHorizontal();
5613    swiper.slides.forEach(slideEl => {
5614      const progress = Math.max(Math.min(slideEl.progress, 1), -1);
5615      createSlideShadows(slideEl, progress, isHorizontal);
5616    });
5617  };
5618  const setTranslate = () => {
5619    const {
5620      el,
5621      wrapperEl,
5622      slides,
5623      width: swiperWidth,
5624      height: swiperHeight,
5625      rtlTranslate: rtl,
5626      size: swiperSize,
5627      browser
5628    } = swiper;
5629    const params = swiper.params.cubeEffect;
5630    const isHorizontal = swiper.isHorizontal();
5631    const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
5632    let wrapperRotate = 0;
5633    let cubeShadowEl;
5634    if (params.shadow) {
5635      if (isHorizontal) {
5636        cubeShadowEl = swiper.slidesEl.querySelector('.swiper-cube-shadow');
5637        if (!cubeShadowEl) {
5638          cubeShadowEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', 'swiper-cube-shadow');
5639          swiper.slidesEl.append(cubeShadowEl);
5640        }
5641        cubeShadowEl.style.height = `${swiperWidth}px`;
5642      } else {
5643        cubeShadowEl = el.querySelector('.swiper-cube-shadow');
5644        if (!cubeShadowEl) {
5645          cubeShadowEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', 'swiper-cube-shadow');
5646          el.append(cubeShadowEl);
5647        }
5648      }
5649    }
5650    for (let i = 0; i < slides.length; i += 1) {
5651      const slideEl = slides[i];
5652      let slideIndex = i;
5653      if (isVirtual) {
5654        slideIndex = parseInt(slideEl.getAttribute('data-swiper-slide-index'), 10);
5655      }
5656      let slideAngle = slideIndex * 90;
5657      let round = Math.floor(slideAngle / 360);
5658      if (rtl) {
5659        slideAngle = -slideAngle;
5660        round = Math.floor(-slideAngle / 360);
5661      }
5662      const progress = Math.max(Math.min(slideEl.progress, 1), -1);
5663      let tx = 0;
5664      let ty = 0;
5665      let tz = 0;
5666      if (slideIndex % 4 === 0) {
5667        tx = -round * 4 * swiperSize;
5668        tz = 0;
5669      } else if ((slideIndex - 1) % 4 === 0) {
5670        tx = 0;
5671        tz = -round * 4 * swiperSize;
5672      } else if ((slideIndex - 2) % 4 === 0) {
5673        tx = swiperSize + round * 4 * swiperSize;
5674        tz = swiperSize;
5675      } else if ((slideIndex - 3) % 4 === 0) {
5676        tx = -swiperSize;
5677        tz = 3 * swiperSize + swiperSize * 4 * round;
5678      }
5679      if (rtl) {
5680        tx = -tx;
5681      }
5682      if (!isHorizontal) {
5683        ty = tx;
5684        tx = 0;
5685      }
5686      const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;
5687      if (progress <= 1 && progress > -1) {
5688        wrapperRotate = slideIndex * 90 + progress * 90;
5689        if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;
5690      }
5691      slideEl.style.transform = transform;
5692      if (params.slideShadows) {
5693        createSlideShadows(slideEl, progress, isHorizontal);
5694      }
5695    }
5696    wrapperEl.style.transformOrigin = `50% 50% -${swiperSize / 2}px`;
5697    wrapperEl.style['-webkit-transform-origin'] = `50% 50% -${swiperSize / 2}px`;
5698    if (params.shadow) {
5699      if (isHorizontal) {
5700        cubeShadowEl.style.transform = `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`;
5701      } else {
5702        const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;
5703        const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);
5704        const scale1 = params.shadowScale;
5705        const scale2 = params.shadowScale / multiplier;
5706        const offset = params.shadowOffset;
5707        cubeShadowEl.style.transform = `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-90deg)`;
5708      }
5709    }
5710    const zFactor = (browser.isSafari || browser.isWebView) && browser.needPerspectiveFix ? -swiperSize / 2 : 0;
5711    wrapperEl.style.transform = `translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`;
5712    wrapperEl.style.setProperty('--swiper-cube-translate-z', `${zFactor}px`);
5713  };
5714  const setTransition = duration => {
5715    const {
5716      el,
5717      slides
5718    } = swiper;
5719    slides.forEach(slideEl => {
5720      slideEl.style.transitionDuration = `${duration}ms`;
5721      slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(subEl => {
5722        subEl.style.transitionDuration = `${duration}ms`;
5723      });
5724    });
5725    if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {
5726      const shadowEl = el.querySelector('.swiper-cube-shadow');
5727      if (shadowEl) shadowEl.style.transitionDuration = `${duration}ms`;
5728    }
5729  };
5730  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
5731    effect: 'cube',
5732    swiper,
5733    on,
5734    setTranslate,
5735    setTransition,
5736    recreateShadows,
5737    getEffectParams: () => swiper.params.cubeEffect,
5738    perspective: () => true,
5739    overwriteParams: () => ({
5740      slidesPerView: 1,
5741      slidesPerGroup: 1,
5742      watchSlidesProgress: true,
5743      resistanceRatio: 0,
5744      spaceBetween: 0,
5745      centeredSlides: false,
5746      virtualTranslate: true
5747    })
5748  });
5749}
5750
5751/***/ }),
5752
vendor: 3,143 bytes, lines 5753-5831
5753/***/ "./node_modules/swiper/modules/effect-fade/effect-fade.js":
5754/*!****************************************************************!*\
5755  !*** ./node_modules/swiper/modules/effect-fade/effect-fade.js ***!
5756  \****************************************************************/
5757/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
5758
5759__webpack_require__.r(__webpack_exports__);
5760/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5761/* harmony export */   "default": function() { return /* binding */ EffectFade; }
5762/* harmony export */ });
5763/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js");
5764/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js");
5765/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js");
5766/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
5767
5768
5769
5770
5771function EffectFade({
5772  swiper,
5773  extendParams,
5774  on
5775}) {
5776  extendParams({
5777    fadeEffect: {
5778      crossFade: false
5779    }
5780  });
5781  const setTranslate = () => {
5782    const {
5783      slides
5784    } = swiper;
5785    const params = swiper.params.fadeEffect;
5786    for (let i = 0; i < slides.length; i += 1) {
5787      const slideEl = swiper.slides[i];
5788      const offset = slideEl.swiperSlideOffset;
5789      let tx = -offset;
5790      if (!swiper.params.virtualTranslate) tx -= swiper.translate;
5791      let ty = 0;
5792      if (!swiper.isHorizontal()) {
5793        ty = tx;
5794        tx = 0;
5795      }
5796      const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(slideEl.progress), 0) : 1 + Math.min(Math.max(slideEl.progress, -1), 0);
5797      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params, slideEl);
5798      targetEl.style.opacity = slideOpacity;
5799      targetEl.style.transform = `translate3d(${tx}px, ${ty}px, 0px)`;
5800    }
5801  };
5802  const setTransition = duration => {
5803    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_3__.getSlideTransformEl)(slideEl));
5804    transformElements.forEach(el => {
5805      el.style.transitionDuration = `${duration}ms`;
5806    });
5807    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__["default"])({
5808      swiper,
5809      duration,
5810      transformElements,
5811      allSlides: true
5812    });
5813  };
5814  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
5815    effect: 'fade',
5816    swiper,
5817    on,
5818    setTranslate,
5819    setTransition,
5820    overwriteParams: () => ({
5821      slidesPerView: 1,
5822      slidesPerGroup: 1,
5823      watchSlidesProgress: true,
5824      spaceBetween: 0,
5825      virtualTranslate: !swiper.params.cssMode
5826    })
5827  });
5828}
5829
5830/***/ }),
5831
vendor: 5,325 bytes, lines 5832-5955
5832/***/ "./node_modules/swiper/modules/effect-flip/effect-flip.js":
5833/*!****************************************************************!*\
5834  !*** ./node_modules/swiper/modules/effect-flip/effect-flip.js ***!
5835  \****************************************************************/
5836/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
5837
5838__webpack_require__.r(__webpack_exports__);
5839/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5840/* harmony export */   "default": function() { return /* binding */ EffectFlip; }
5841/* harmony export */ });
5842/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js");
5843/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js");
5844/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js");
5845/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js");
5846/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
5847
5848
5849
5850
5851
5852function EffectFlip({
5853  swiper,
5854  extendParams,
5855  on
5856}) {
5857  extendParams({
5858    flipEffect: {
5859      slideShadows: true,
5860      limitRotation: true
5861    }
5862  });
5863  const createSlideShadows = (slideEl, progress, params) => {
5864    let shadowBefore = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-left') : slideEl.querySelector('.swiper-slide-shadow-top');
5865    let shadowAfter = swiper.isHorizontal() ? slideEl.querySelector('.swiper-slide-shadow-right') : slideEl.querySelector('.swiper-slide-shadow-bottom');
5866    if (!shadowBefore) {
5867      shadowBefore = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, slideEl, swiper.isHorizontal() ? 'left' : 'top');
5868    }
5869    if (!shadowAfter) {
5870      shadowAfter = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, slideEl, swiper.isHorizontal() ? 'right' : 'bottom');
5871    }
5872    if (shadowBefore) shadowBefore.style.opacity = Math.max(-progress, 0);
5873    if (shadowAfter) shadowAfter.style.opacity = Math.max(progress, 0);
5874  };
5875  const recreateShadows = () => {
5876    // Set shadows
5877    const params = swiper.params.flipEffect;
5878    swiper.slides.forEach(slideEl => {
5879      let progress = slideEl.progress;
5880      if (swiper.params.flipEffect.limitRotation) {
5881        progress = Math.max(Math.min(slideEl.progress, 1), -1);
5882      }
5883      createSlideShadows(slideEl, progress, params);
5884    });
5885  };
5886  const setTranslate = () => {
5887    const {
5888      slides,
5889      rtlTranslate: rtl
5890    } = swiper;
5891    const params = swiper.params.flipEffect;
5892    for (let i = 0; i < slides.length; i += 1) {
5893      const slideEl = slides[i];
5894      let progress = slideEl.progress;
5895      if (swiper.params.flipEffect.limitRotation) {
5896        progress = Math.max(Math.min(slideEl.progress, 1), -1);
5897      }
5898      const offset = slideEl.swiperSlideOffset;
5899      const rotate = -180 * progress;
5900      let rotateY = rotate;
5901      let rotateX = 0;
5902      let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset;
5903      let ty = 0;
5904      if (!swiper.isHorizontal()) {
5905        ty = tx;
5906        tx = 0;
5907        rotateX = -rotateY;
5908        rotateY = 0;
5909      } else if (rtl) {
5910        rotateY = -rotateY;
5911      }
5912      slideEl.style.zIndex = -Math.abs(Math.round(progress)) + slides.length;
5913      if (params.slideShadows) {
5914        createSlideShadows(slideEl, progress, params);
5915      }
5916      const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;
5917      const targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, slideEl);
5918      targetEl.style.transform = transform;
5919    }
5920  };
5921  const setTransition = duration => {
5922    const transformElements = swiper.slides.map(slideEl => (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_4__.getSlideTransformEl)(slideEl));
5923    transformElements.forEach(el => {
5924      el.style.transitionDuration = `${duration}ms`;
5925      el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => {
5926        shadowEl.style.transitionDuration = `${duration}ms`;
5927      });
5928    });
5929    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({
5930      swiper,
5931      duration,
5932      transformElements
5933    });
5934  };
5935  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
5936    effect: 'flip',
5937    swiper,
5938    on,
5939    setTranslate,
5940    setTransition,
5941    recreateShadows,
5942    getEffectParams: () => swiper.params.flipEffect,
5943    perspective: () => true,
5944    overwriteParams: () => ({
5945      slidesPerView: 1,
5946      slidesPerGroup: 1,
5947      watchSlidesProgress: true,
5948      spaceBetween: 0,
5949      virtualTranslate: !swiper.params.cssMode
5950    })
5951  });
5952}
5953
5954/***/ }),
5955
vendor: 9,125 bytes, lines 5956-6197
5956/***/ "./node_modules/swiper/modules/free-mode/free-mode.js":
5957/*!************************************************************!*\
5958  !*** ./node_modules/swiper/modules/free-mode/free-mode.js ***!
5959  \************************************************************/
5960/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
5961
5962__webpack_require__.r(__webpack_exports__);
5963/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5964/* harmony export */   "default": function() { return /* binding */ freeMode; }
5965/* harmony export */ });
5966/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
5967
5968function freeMode({
5969  swiper,
5970  extendParams,
5971  emit,
5972  once
5973}) {
5974  extendParams({
5975    freeMode: {
5976      enabled: false,
5977      momentum: true,
5978      momentumRatio: 1,
5979      momentumBounce: true,
5980      momentumBounceRatio: 1,
5981      momentumVelocityRatio: 1,
5982      sticky: false,
5983      minimumVelocity: 0.02
5984    }
5985  });
5986  function onTouchStart() {
5987    const translate = swiper.getTranslate();
5988    swiper.setTranslate(translate);
5989    swiper.setTransition(0);
5990    swiper.touchEventsData.velocities.length = 0;
5991    swiper.freeMode.onTouchEnd({
5992      currentPos: swiper.rtl ? swiper.translate : -swiper.translate
5993    });
5994  }
5995  function onTouchMove() {
5996    const {
5997      touchEventsData: data,
5998      touches
5999    } = swiper;
6000    // Velocity
6001    if (data.velocities.length === 0) {
6002      data.velocities.push({
6003        position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],
6004        time: data.touchStartTime
6005      });
6006    }
6007    data.velocities.push({
6008      position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],
6009      time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)()
6010    });
6011  }
6012  function onTouchEnd({
6013    currentPos
6014  }) {
6015    const {
6016      params,
6017      wrapperEl,
6018      rtlTranslate: rtl,
6019      snapGrid,
6020      touchEventsData: data
6021    } = swiper;
6022    // Time diff
6023    const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();
6024    const timeDiff = touchEndTime - data.touchStartTime;
6025    if (currentPos < -swiper.minTranslate()) {
6026      swiper.slideTo(swiper.activeIndex);
6027      return;
6028    }
6029    if (currentPos > -swiper.maxTranslate()) {
6030      if (swiper.slides.length < snapGrid.length) {
6031        swiper.slideTo(snapGrid.length - 1);
6032      } else {
6033        swiper.slideTo(swiper.slides.length - 1);
6034      }
6035      return;
6036    }
6037    if (params.freeMode.momentum) {
6038      if (data.velocities.length > 1) {
6039        const lastMoveEvent = data.velocities.pop();
6040        const velocityEvent = data.velocities.pop();
6041        const distance = lastMoveEvent.position - velocityEvent.position;
6042        const time = lastMoveEvent.time - velocityEvent.time;
6043        swiper.velocity = distance / time;
6044        swiper.velocity /= 2;
6045        if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {
6046          swiper.velocity = 0;
6047        }
6048        // this implies that the user stopped moving a finger then released.
6049        // There would be no events with distance zero, so the last event is stale.
6050        if (time > 150 || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)() - lastMoveEvent.time > 300) {
6051          swiper.velocity = 0;
6052        }
6053      } else {
6054        swiper.velocity = 0;
6055      }
6056      swiper.velocity *= params.freeMode.momentumVelocityRatio;
6057      data.velocities.length = 0;
6058      let momentumDuration = 1000 * params.freeMode.momentumRatio;
6059      const momentumDistance = swiper.velocity * momentumDuration;
6060      let newPosition = swiper.translate + momentumDistance;
6061      if (rtl) newPosition = -newPosition;
6062      let doBounce = false;
6063      let afterBouncePosition;
6064      const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;
6065      let needsLoopFix;
6066      if (newPosition < swiper.maxTranslate()) {
6067        if (params.freeMode.momentumBounce) {
6068          if (newPosition + swiper.maxTranslate() < -bounceAmount) {
6069            newPosition = swiper.maxTranslate() - bounceAmount;
6070          }
6071          afterBouncePosition = swiper.maxTranslate();
6072          doBounce = true;
6073          data.allowMomentumBounce = true;
6074        } else {
6075          newPosition = swiper.maxTranslate();
6076        }
6077        if (params.loop && params.centeredSlides) needsLoopFix = true;
6078      } else if (newPosition > swiper.minTranslate()) {
6079        if (params.freeMode.momentumBounce) {
6080          if (newPosition - swiper.minTranslate() > bounceAmount) {
6081            newPosition = swiper.minTranslate() + bounceAmount;
6082          }
6083          afterBouncePosition = swiper.minTranslate();
6084          doBounce = true;
6085          data.allowMomentumBounce = true;
6086        } else {
6087          newPosition = swiper.minTranslate();
6088        }
6089        if (params.loop && params.centeredSlides) needsLoopFix = true;
6090      } else if (params.freeMode.sticky) {
6091        let nextSlide;
6092        for (let j = 0; j < snapGrid.length; j += 1) {
6093          if (snapGrid[j] > -newPosition) {
6094            nextSlide = j;
6095            break;
6096          }
6097        }
6098        if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {
6099          newPosition = snapGrid[nextSlide];
6100        } else {
6101          newPosition = snapGrid[nextSlide - 1];
6102        }
6103        newPosition = -newPosition;
6104      }
6105      if (needsLoopFix) {
6106        once('transitionEnd', () => {
6107          swiper.loopFix();
6108        });
6109      }
6110      // Fix duration
6111      if (swiper.velocity !== 0) {
6112        if (rtl) {
6113          momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);
6114        } else {
6115          momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);
6116        }
6117        if (params.freeMode.sticky) {
6118          // If freeMode.sticky is active and the user ends a swipe with a slow-velocity
6119          // event, then durations can be 20+ seconds to slide one (or zero!) slides.
6120          // It's easy to see this when simulating touch with mouse events. To fix this,
6121          // limit single-slide swipes to the default slide duration. This also has the
6122          // nice side effect of matching slide speed if the user stopped moving before
6123          // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.
6124          // For faster swipes, also apply limits (albeit higher ones).
6125          const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);
6126          const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];
6127          if (moveDistance < currentSlideSize) {
6128            momentumDuration = params.speed;
6129          } else if (moveDistance < 2 * currentSlideSize) {
6130            momentumDuration = params.speed * 1.5;
6131          } else {
6132            momentumDuration = params.speed * 2.5;
6133          }
6134        }
6135      } else if (params.freeMode.sticky) {
6136        swiper.slideToClosest();
6137        return;
6138      }
6139      if (params.freeMode.momentumBounce && doBounce) {
6140        swiper.updateProgress(afterBouncePosition);
6141        swiper.setTransition(momentumDuration);
6142        swiper.setTranslate(newPosition);
6143        swiper.transitionStart(true, swiper.swipeDirection);
6144        swiper.animating = true;
6145        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(wrapperEl, () => {
6146          if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;
6147          emit('momentumBounce');
6148          swiper.setTransition(params.speed);
6149          setTimeout(() => {
6150            swiper.setTranslate(afterBouncePosition);
6151            (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(wrapperEl, () => {
6152              if (!swiper || swiper.destroyed) return;
6153              swiper.transitionEnd();
6154            });
6155          }, 0);
6156        });
6157      } else if (swiper.velocity) {
6158        emit('_freeModeNoMomentumRelease');
6159        swiper.updateProgress(newPosition);
6160        swiper.setTransition(momentumDuration);
6161        swiper.setTranslate(newPosition);
6162        swiper.transitionStart(true, swiper.swipeDirection);
6163        if (!swiper.animating) {
6164          swiper.animating = true;
6165          (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(wrapperEl, () => {
6166            if (!swiper || swiper.destroyed) return;
6167            swiper.transitionEnd();
6168          });
6169        }
6170      } else {
6171        swiper.updateProgress(newPosition);
6172      }
6173      swiper.updateActiveIndex();
6174      swiper.updateSlidesClasses();
6175    } else if (params.freeMode.sticky) {
6176      swiper.slideToClosest();
6177      return;
6178    } else if (params.freeMode) {
6179      emit('_freeModeNoMomentumRelease');
6180    }
6181    if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {
6182      swiper.updateProgress();
6183      swiper.updateActiveIndex();
6184      swiper.updateSlidesClasses();
6185    }
6186  }
6187  Object.assign(swiper, {
6188    freeMode: {
6189      onTouchStart,
6190      onTouchMove,
6191      onTouchEnd
6192    }
6193  });
6194}
6195
6196/***/ }),
6197
vendor: 4,165 bytes, lines 6198-6317
6198/***/ "./node_modules/swiper/modules/grid/grid.js":
6199/*!**************************************************!*\
6200  !*** ./node_modules/swiper/modules/grid/grid.js ***!
6201  \**************************************************/
6202/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6203
6204__webpack_require__.r(__webpack_exports__);
6205/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6206/* harmony export */   "default": function() { return /* binding */ Grid; }
6207/* harmony export */ });
6208function Grid({
6209  swiper,
6210  extendParams
6211}) {
6212  extendParams({
6213    grid: {
6214      rows: 1,
6215      fill: 'column'
6216    }
6217  });
6218  let slidesNumberEvenToRows;
6219  let slidesPerRow;
6220  let numFullColumns;
6221  const getSpaceBetween = () => {
6222    let spaceBetween = swiper.params.spaceBetween;
6223    if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
6224      spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiper.size;
6225    } else if (typeof spaceBetween === 'string') {
6226      spaceBetween = parseFloat(spaceBetween);
6227    }
6228    return spaceBetween;
6229  };
6230  const initSlides = slidesLength => {
6231    const {
6232      slidesPerView
6233    } = swiper.params;
6234    const {
6235      rows,
6236      fill
6237    } = swiper.params.grid;
6238    slidesPerRow = slidesNumberEvenToRows / rows;
6239    numFullColumns = Math.floor(slidesLength / rows);
6240    if (Math.floor(slidesLength / rows) === slidesLength / rows) {
6241      slidesNumberEvenToRows = slidesLength;
6242    } else {
6243      slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;
6244    }
6245    if (slidesPerView !== 'auto' && fill === 'row') {
6246      slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);
6247    }
6248  };
6249  const updateSlide = (i, slide, slidesLength, getDirectionLabel) => {
6250    const {
6251      slidesPerGroup
6252    } = swiper.params;
6253    const spaceBetween = getSpaceBetween();
6254    const {
6255      rows,
6256      fill
6257    } = swiper.params.grid;
6258    // Set slides order
6259    let newSlideOrderIndex;
6260    let column;
6261    let row;
6262    if (fill === 'row' && slidesPerGroup > 1) {
6263      const groupIndex = Math.floor(i / (slidesPerGroup * rows));
6264      const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;
6265      const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);
6266      row = Math.floor(slideIndexInGroup / columnsInGroup);
6267      column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;
6268      newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;
6269      slide.style.order = newSlideOrderIndex;
6270    } else if (fill === 'column') {
6271      column = Math.floor(i / rows);
6272      row = i - column * rows;
6273      if (column > numFullColumns || column === numFullColumns && row === rows - 1) {
6274        row += 1;
6275        if (row >= rows) {
6276          row = 0;
6277          column += 1;
6278        }
6279      }
6280    } else {
6281      row = Math.floor(i / slidesPerRow);
6282      column = i - row * slidesPerRow;
6283    }
6284    slide.style[getDirectionLabel('margin-top')] = row !== 0 ? spaceBetween && `${spaceBetween}px` : '';
6285  };
6286  const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => {
6287    const {
6288      centeredSlides,
6289      roundLengths
6290    } = swiper.params;
6291    const spaceBetween = getSpaceBetween();
6292    const {
6293      rows
6294    } = swiper.params.grid;
6295    swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;
6296    swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;
6297    swiper.wrapperEl.style[getDirectionLabel('width')] = `${swiper.virtualSize + spaceBetween}px`;
6298    if (centeredSlides) {
6299      const newSlidesGrid = [];
6300      for (let i = 0; i < snapGrid.length; i += 1) {
6301        let slidesGridItem = snapGrid[i];
6302        if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);
6303        if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);
6304      }
6305      snapGrid.splice(0, snapGrid.length);
6306      snapGrid.push(...newSlidesGrid);
6307    }
6308  };
6309  swiper.grid = {
6310    initSlides,
6311    updateSlide,
6312    updateWrapperSize
6313  };
6314}
6315
6316/***/ }),
6317
vendor: 4,234 bytes, lines 6318-6421
6318/***/ "./node_modules/swiper/modules/hash-navigation/hash-navigation.js":
6319/*!************************************************************************!*\
6320  !*** ./node_modules/swiper/modules/hash-navigation/hash-navigation.js ***!
6321  \************************************************************************/
6322/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6323
6324__webpack_require__.r(__webpack_exports__);
6325/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6326/* harmony export */   "default": function() { return /* binding */ HashNavigation; }
6327/* harmony export */ });
6328/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
6329/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
6330
6331
6332function HashNavigation({
6333  swiper,
6334  extendParams,
6335  emit,
6336  on
6337}) {
6338  let initialized = false;
6339  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
6340  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
6341  extendParams({
6342    hashNavigation: {
6343      enabled: false,
6344      replaceState: false,
6345      watchState: false,
6346      getSlideIndex(_s, hash) {
6347        if (swiper.virtual && swiper.params.virtual.enabled) {
6348          const slideWithHash = swiper.slides.filter(slideEl => slideEl.getAttribute('data-hash') === hash)[0];
6349          if (!slideWithHash) return 0;
6350          const index = parseInt(slideWithHash.getAttribute('data-swiper-slide-index'), 10);
6351          return index;
6352        }
6353        return swiper.getSlideIndex((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(swiper.slidesEl, `.${swiper.params.slideClass}[data-hash="${hash}"], swiper-slide[data-hash="${hash}"]`)[0]);
6354      }
6355    }
6356  });
6357  const onHashChange = () => {
6358    emit('hashChange');
6359    const newHash = document.location.hash.replace('#', '');
6360    const activeSlideEl = swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`);
6361    const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') : '';
6362    if (newHash !== activeSlideHash) {
6363      const newIndex = swiper.params.hashNavigation.getSlideIndex(swiper, newHash);
6364      if (typeof newIndex === 'undefined' || Number.isNaN(newIndex)) return;
6365      swiper.slideTo(newIndex);
6366    }
6367  };
6368  const setHash = () => {
6369    if (!initialized || !swiper.params.hashNavigation.enabled) return;
6370    const activeSlideEl = swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`);
6371    const activeSlideHash = activeSlideEl ? activeSlideEl.getAttribute('data-hash') || activeSlideEl.getAttribute('data-history') : '';
6372    if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {
6373      window.history.replaceState(null, null, `#${activeSlideHash}` || '');
6374      emit('hashSet');
6375    } else {
6376      document.location.hash = activeSlideHash || '';
6377      emit('hashSet');
6378    }
6379  };
6380  const init = () => {
6381    if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;
6382    initialized = true;
6383    const hash = document.location.hash.replace('#', '');
6384    if (hash) {
6385      const speed = 0;
6386      const index = swiper.params.hashNavigation.getSlideIndex(swiper, hash);
6387      swiper.slideTo(index || 0, speed, swiper.params.runCallbacksOnInit, true);
6388    }
6389    if (swiper.params.hashNavigation.watchState) {
6390      window.addEventListener('hashchange', onHashChange);
6391    }
6392  };
6393  const destroy = () => {
6394    if (swiper.params.hashNavigation.watchState) {
6395      window.removeEventListener('hashchange', onHashChange);
6396    }
6397  };
6398  on('init', () => {
6399    if (swiper.params.hashNavigation.enabled) {
6400      init();
6401    }
6402  });
6403  on('destroy', () => {
6404    if (swiper.params.hashNavigation.enabled) {
6405      destroy();
6406    }
6407  });
6408  on('transitionEnd _freeModeNoMomentumRelease', () => {
6409    if (initialized) {
6410      setHash();
6411    }
6412  });
6413  on('slideChange', () => {
6414    if (initialized && swiper.params.cssMode) {
6415      setHash();
6416    }
6417  });
6418}
6419
6420/***/ }),
6421
vendor: 4,935 bytes, lines 6422-6573
6422/***/ "./node_modules/swiper/modules/history/history.js":
6423/*!********************************************************!*\
6424  !*** ./node_modules/swiper/modules/history/history.js ***!
6425  \********************************************************/
6426/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6427
6428__webpack_require__.r(__webpack_exports__);
6429/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6430/* harmony export */   "default": function() { return /* binding */ History; }
6431/* harmony export */ });
6432/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
6433
6434function History({
6435  swiper,
6436  extendParams,
6437  on
6438}) {
6439  extendParams({
6440    history: {
6441      enabled: false,
6442      root: '',
6443      replaceState: false,
6444      key: 'slides',
6445      keepQuery: false
6446    }
6447  });
6448  let initialized = false;
6449  let paths = {};
6450  const slugify = text => {
6451    return text.toString().replace(/\s+/g, '-').replace(/[^\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');
6452  };
6453  const getPathValues = urlOverride => {
6454    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
6455    let location;
6456    if (urlOverride) {
6457      location = new URL(urlOverride);
6458    } else {
6459      location = window.location;
6460    }
6461    const pathArray = location.pathname.slice(1).split('/').filter(part => part !== '');
6462    const total = pathArray.length;
6463    const key = pathArray[total - 2];
6464    const value = pathArray[total - 1];
6465    return {
6466      key,
6467      value
6468    };
6469  };
6470  const setHistory = (key, index) => {
6471    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
6472    if (!initialized || !swiper.params.history.enabled) return;
6473    let location;
6474    if (swiper.params.url) {
6475      location = new URL(swiper.params.url);
6476    } else {
6477      location = window.location;
6478    }
6479    const slide = swiper.slides[index];
6480    let value = slugify(slide.getAttribute('data-history'));
6481    if (swiper.params.history.root.length > 0) {
6482      let root = swiper.params.history.root;
6483      if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);
6484      value = `${root}/${key ? `${key}/` : ''}${value}`;
6485    } else if (!location.pathname.includes(key)) {
6486      value = `${key ? `${key}/` : ''}${value}`;
6487    }
6488    if (swiper.params.history.keepQuery) {
6489      value += location.search;
6490    }
6491    const currentState = window.history.state;
6492    if (currentState && currentState.value === value) {
6493      return;
6494    }
6495    if (swiper.params.history.replaceState) {
6496      window.history.replaceState({
6497        value
6498      }, null, value);
6499    } else {
6500      window.history.pushState({
6501        value
6502      }, null, value);
6503    }
6504  };
6505  const scrollToSlide = (speed, value, runCallbacks) => {
6506    if (value) {
6507      for (let i = 0, length = swiper.slides.length; i < length; i += 1) {
6508        const slide = swiper.slides[i];
6509        const slideHistory = slugify(slide.getAttribute('data-history'));
6510        if (slideHistory === value) {
6511          const index = swiper.getSlideIndex(slide);
6512          swiper.slideTo(index, speed, runCallbacks);
6513        }
6514      }
6515    } else {
6516      swiper.slideTo(0, speed, runCallbacks);
6517    }
6518  };
6519  const setHistoryPopState = () => {
6520    paths = getPathValues(swiper.params.url);
6521    scrollToSlide(swiper.params.speed, paths.value, false);
6522  };
6523  const init = () => {
6524    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
6525    if (!swiper.params.history) return;
6526    if (!window.history || !window.history.pushState) {
6527      swiper.params.history.enabled = false;
6528      swiper.params.hashNavigation.enabled = true;
6529      return;
6530    }
6531    initialized = true;
6532    paths = getPathValues(swiper.params.url);
6533    if (!paths.key && !paths.value) {
6534      if (!swiper.params.history.replaceState) {
6535        window.addEventListener('popstate', setHistoryPopState);
6536      }
6537      return;
6538    }
6539    scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);
6540    if (!swiper.params.history.replaceState) {
6541      window.addEventListener('popstate', setHistoryPopState);
6542    }
6543  };
6544  const destroy = () => {
6545    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
6546    if (!swiper.params.history.replaceState) {
6547      window.removeEventListener('popstate', setHistoryPopState);
6548    }
6549  };
6550  on('init', () => {
6551    if (swiper.params.history.enabled) {
6552      init();
6553    }
6554  });
6555  on('destroy', () => {
6556    if (swiper.params.history.enabled) {
6557      destroy();
6558    }
6559  });
6560  on('transitionEnd _freeModeNoMomentumRelease', () => {
6561    if (initialized) {
6562      setHistory(swiper.params.history.key, swiper.activeIndex);
6563    }
6564  });
6565  on('slideChange', () => {
6566    if (initialized && swiper.params.cssMode) {
6567      setHistory(swiper.params.history.key, swiper.activeIndex);
6568    }
6569  });
6570}
6571
6572/***/ }),
6573
vendor: 5,261 bytes, lines 6574-6701
6574/***/ "./node_modules/swiper/modules/keyboard/keyboard.js":
6575/*!**********************************************************!*\
6576  !*** ./node_modules/swiper/modules/keyboard/keyboard.js ***!
6577  \**********************************************************/
6578/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6579
6580__webpack_require__.r(__webpack_exports__);
6581/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6582/* harmony export */   "default": function() { return /* binding */ Keyboard; }
6583/* harmony export */ });
6584/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
6585/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
6586/* eslint-disable consistent-return */
6587
6588
6589function Keyboard({
6590  swiper,
6591  extendParams,
6592  on,
6593  emit
6594}) {
6595  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
6596  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
6597  swiper.keyboard = {
6598    enabled: false
6599  };
6600  extendParams({
6601    keyboard: {
6602      enabled: false,
6603      onlyInViewport: true,
6604      pageUpDown: true
6605    }
6606  });
6607  function handle(event) {
6608    if (!swiper.enabled) return;
6609    const {
6610      rtlTranslate: rtl
6611    } = swiper;
6612    let e = event;
6613    if (e.originalEvent) e = e.originalEvent; // jquery fix
6614    const kc = e.keyCode || e.charCode;
6615    const pageUpDown = swiper.params.keyboard.pageUpDown;
6616    const isPageUp = pageUpDown && kc === 33;
6617    const isPageDown = pageUpDown && kc === 34;
6618    const isArrowLeft = kc === 37;
6619    const isArrowRight = kc === 39;
6620    const isArrowUp = kc === 38;
6621    const isArrowDown = kc === 40;
6622    // Directions locks
6623    if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {
6624      return false;
6625    }
6626    if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {
6627      return false;
6628    }
6629    if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
6630      return undefined;
6631    }
6632    if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {
6633      return undefined;
6634    }
6635    if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {
6636      let inView = false;
6637      // Check that swiper should be inside of visible area of window
6638      if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(swiper.el, `.${swiper.params.slideClass}, swiper-slide`).length > 0 && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(swiper.el, `.${swiper.params.slideActiveClass}`).length === 0) {
6639        return undefined;
6640      }
6641      const el = swiper.el;
6642      const swiperWidth = el.clientWidth;
6643      const swiperHeight = el.clientHeight;
6644      const windowWidth = window.innerWidth;
6645      const windowHeight = window.innerHeight;
6646      const swiperOffset = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementOffset)(el);
6647      if (rtl) swiperOffset.left -= el.scrollLeft;
6648      const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];
6649      for (let i = 0; i < swiperCoord.length; i += 1) {
6650        const point = swiperCoord[i];
6651        if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {
6652          if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line
6653          inView = true;
6654        }
6655      }
6656      if (!inView) return undefined;
6657    }
6658    if (swiper.isHorizontal()) {
6659      if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {
6660        if (e.preventDefault) e.preventDefault();else e.returnValue = false;
6661      }
6662      if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();
6663      if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();
6664    } else {
6665      if (isPageUp || isPageDown || isArrowUp || isArrowDown) {
6666        if (e.preventDefault) e.preventDefault();else e.returnValue = false;
6667      }
6668      if (isPageDown || isArrowDown) swiper.slideNext();
6669      if (isPageUp || isArrowUp) swiper.slidePrev();
6670    }
6671    emit('keyPress', kc);
6672    return undefined;
6673  }
6674  function enable() {
6675    if (swiper.keyboard.enabled) return;
6676    document.addEventListener('keydown', handle);
6677    swiper.keyboard.enabled = true;
6678  }
6679  function disable() {
6680    if (!swiper.keyboard.enabled) return;
6681    document.removeEventListener('keydown', handle);
6682    swiper.keyboard.enabled = false;
6683  }
6684  on('init', () => {
6685    if (swiper.params.keyboard.enabled) {
6686      enable();
6687    }
6688  });
6689  on('destroy', () => {
6690    if (swiper.keyboard.enabled) {
6691      disable();
6692    }
6693  });
6694  Object.assign(swiper.keyboard, {
6695    enable,
6696    disable
6697  });
6698}
6699
6700/***/ }),
6701
vendor: 2,183 bytes, lines 6702-6735
6702/***/ "./node_modules/swiper/modules/manipulation/manipulation.js":
6703/*!******************************************************************!*\
6704  !*** ./node_modules/swiper/modules/manipulation/manipulation.js ***!
6705  \******************************************************************/
6706/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6707
6708__webpack_require__.r(__webpack_exports__);
6709/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6710/* harmony export */   "default": function() { return /* binding */ Manipulation; }
6711/* harmony export */ });
6712/* harmony import */ var _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./methods/appendSlide.js */ "./node_modules/swiper/modules/manipulation/methods/appendSlide.js");
6713/* harmony import */ var _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./methods/prependSlide.js */ "./node_modules/swiper/modules/manipulation/methods/prependSlide.js");
6714/* harmony import */ var _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./methods/addSlide.js */ "./node_modules/swiper/modules/manipulation/methods/addSlide.js");
6715/* harmony import */ var _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./methods/removeSlide.js */ "./node_modules/swiper/modules/manipulation/methods/removeSlide.js");
6716/* harmony import */ var _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./methods/removeAllSlides.js */ "./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js");
6717
6718
6719
6720
6721
6722function Manipulation({
6723  swiper
6724}) {
6725  Object.assign(swiper, {
6726    appendSlide: _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__["default"].bind(swiper),
6727    prependSlide: _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__["default"].bind(swiper),
6728    addSlide: _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__["default"].bind(swiper),
6729    removeSlide: _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__["default"].bind(swiper),
6730    removeAllSlides: _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__["default"].bind(swiper)
6731  });
6732}
6733
6734/***/ }),
6735
vendor: 2,091 bytes, lines 6736-6801
6736/***/ "./node_modules/swiper/modules/manipulation/methods/addSlide.js":
6737/*!**********************************************************************!*\
6738  !*** ./node_modules/swiper/modules/manipulation/methods/addSlide.js ***!
6739  \**********************************************************************/
6740/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6741
6742__webpack_require__.r(__webpack_exports__);
6743/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6744/* harmony export */   "default": function() { return /* binding */ addSlide; }
6745/* harmony export */ });
6746function addSlide(index, slides) {
6747  const swiper = this;
6748  const {
6749    params,
6750    activeIndex,
6751    slidesEl
6752  } = swiper;
6753  let activeIndexBuffer = activeIndex;
6754  if (params.loop) {
6755    activeIndexBuffer -= swiper.loopedSlides;
6756    swiper.loopDestroy();
6757    swiper.recalcSlides();
6758  }
6759  const baseLength = swiper.slides.length;
6760  if (index <= 0) {
6761    swiper.prependSlide(slides);
6762    return;
6763  }
6764  if (index >= baseLength) {
6765    swiper.appendSlide(slides);
6766    return;
6767  }
6768  let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;
6769  const slidesBuffer = [];
6770  for (let i = baseLength - 1; i >= index; i -= 1) {
6771    const currentSlide = swiper.slides[i];
6772    currentSlide.remove();
6773    slidesBuffer.unshift(currentSlide);
6774  }
6775  if (typeof slides === 'object' && 'length' in slides) {
6776    for (let i = 0; i < slides.length; i += 1) {
6777      if (slides[i]) slidesEl.append(slides[i]);
6778    }
6779    newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;
6780  } else {
6781    slidesEl.append(slides);
6782  }
6783  for (let i = 0; i < slidesBuffer.length; i += 1) {
6784    slidesEl.append(slidesBuffer[i]);
6785  }
6786  swiper.recalcSlides();
6787  if (params.loop) {
6788    swiper.loopCreate();
6789  }
6790  if (!params.observer || swiper.isElement) {
6791    swiper.update();
6792  }
6793  if (params.loop) {
6794    swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
6795  } else {
6796    swiper.slideTo(newActiveIndex, 0, false);
6797  }
6798}
6799
6800/***/ }),
6801
vendor: 1,437 bytes, lines 6802-6848
6802/***/ "./node_modules/swiper/modules/manipulation/methods/appendSlide.js":
6803/*!*************************************************************************!*\
6804  !*** ./node_modules/swiper/modules/manipulation/methods/appendSlide.js ***!
6805  \*************************************************************************/
6806/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6807
6808__webpack_require__.r(__webpack_exports__);
6809/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6810/* harmony export */   "default": function() { return /* binding */ appendSlide; }
6811/* harmony export */ });
6812function appendSlide(slides) {
6813  const swiper = this;
6814  const {
6815    params,
6816    slidesEl
6817  } = swiper;
6818  if (params.loop) {
6819    swiper.loopDestroy();
6820  }
6821  const appendElement = slideEl => {
6822    if (typeof slideEl === 'string') {
6823      const tempDOM = document.createElement('div');
6824      tempDOM.innerHTML = slideEl;
6825      slidesEl.append(tempDOM.children[0]);
6826      tempDOM.innerHTML = '';
6827    } else {
6828      slidesEl.append(slideEl);
6829    }
6830  };
6831  if (typeof slides === 'object' && 'length' in slides) {
6832    for (let i = 0; i < slides.length; i += 1) {
6833      if (slides[i]) appendElement(slides[i]);
6834    }
6835  } else {
6836    appendElement(slides);
6837  }
6838  swiper.recalcSlides();
6839  if (params.loop) {
6840    swiper.loopCreate();
6841  }
6842  if (!params.observer || swiper.isElement) {
6843    swiper.update();
6844  }
6845}
6846
6847/***/ }),
6848
vendor: 1,599 bytes, lines 6849-6899
6849/***/ "./node_modules/swiper/modules/manipulation/methods/prependSlide.js":
6850/*!**************************************************************************!*\
6851  !*** ./node_modules/swiper/modules/manipulation/methods/prependSlide.js ***!
6852  \**************************************************************************/
6853/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6854
6855__webpack_require__.r(__webpack_exports__);
6856/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6857/* harmony export */   "default": function() { return /* binding */ prependSlide; }
6858/* harmony export */ });
6859function prependSlide(slides) {
6860  const swiper = this;
6861  const {
6862    params,
6863    activeIndex,
6864    slidesEl
6865  } = swiper;
6866  if (params.loop) {
6867    swiper.loopDestroy();
6868  }
6869  let newActiveIndex = activeIndex + 1;
6870  const prependElement = slideEl => {
6871    if (typeof slideEl === 'string') {
6872      const tempDOM = document.createElement('div');
6873      tempDOM.innerHTML = slideEl;
6874      slidesEl.prepend(tempDOM.children[0]);
6875      tempDOM.innerHTML = '';
6876    } else {
6877      slidesEl.prepend(slideEl);
6878    }
6879  };
6880  if (typeof slides === 'object' && 'length' in slides) {
6881    for (let i = 0; i < slides.length; i += 1) {
6882      if (slides[i]) prependElement(slides[i]);
6883    }
6884    newActiveIndex = activeIndex + slides.length;
6885  } else {
6886    prependElement(slides);
6887  }
6888  swiper.recalcSlides();
6889  if (params.loop) {
6890    swiper.loopCreate();
6891  }
6892  if (!params.observer || swiper.isElement) {
6893    swiper.update();
6894  }
6895  swiper.slideTo(newActiveIndex, 0, false);
6896}
6897
6898/***/ }),
6899
vendor: 863 bytes, lines 6900-6920
6900/***/ "./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js":
6901/*!*****************************************************************************!*\
6902  !*** ./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js ***!
6903  \*****************************************************************************/
6904/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6905
6906__webpack_require__.r(__webpack_exports__);
6907/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6908/* harmony export */   "default": function() { return /* binding */ removeAllSlides; }
6909/* harmony export */ });
6910function removeAllSlides() {
6911  const swiper = this;
6912  const slidesIndexes = [];
6913  for (let i = 0; i < swiper.slides.length; i += 1) {
6914    slidesIndexes.push(i);
6915  }
6916  swiper.removeSlide(slidesIndexes);
6917}
6918
6919/***/ }),
6920
vendor: 1,853 bytes, lines 6921-6972
6921/***/ "./node_modules/swiper/modules/manipulation/methods/removeSlide.js":
6922/*!*************************************************************************!*\
6923  !*** ./node_modules/swiper/modules/manipulation/methods/removeSlide.js ***!
6924  \*************************************************************************/
6925/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6926
6927__webpack_require__.r(__webpack_exports__);
6928/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6929/* harmony export */   "default": function() { return /* binding */ removeSlide; }
6930/* harmony export */ });
6931function removeSlide(slidesIndexes) {
6932  const swiper = this;
6933  const {
6934    params,
6935    activeIndex
6936  } = swiper;
6937  let activeIndexBuffer = activeIndex;
6938  if (params.loop) {
6939    activeIndexBuffer -= swiper.loopedSlides;
6940    swiper.loopDestroy();
6941  }
6942  let newActiveIndex = activeIndexBuffer;
6943  let indexToRemove;
6944  if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {
6945    for (let i = 0; i < slidesIndexes.length; i += 1) {
6946      indexToRemove = slidesIndexes[i];
6947      if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();
6948      if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
6949    }
6950    newActiveIndex = Math.max(newActiveIndex, 0);
6951  } else {
6952    indexToRemove = slidesIndexes;
6953    if (swiper.slides[indexToRemove]) swiper.slides[indexToRemove].remove();
6954    if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
6955    newActiveIndex = Math.max(newActiveIndex, 0);
6956  }
6957  swiper.recalcSlides();
6958  if (params.loop) {
6959    swiper.loopCreate();
6960  }
6961  if (!params.observer || swiper.isElement) {
6962    swiper.update();
6963  }
6964  if (params.loop) {
6965    swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
6966  } else {
6967    swiper.slideTo(newActiveIndex, 0, false);
6968  }
6969}
6970
6971/***/ }),
6972
vendor: 15,819 bytes, lines 6973-7374
6973/***/ "./node_modules/swiper/modules/mousewheel/mousewheel.js":
6974/*!**************************************************************!*\
6975  !*** ./node_modules/swiper/modules/mousewheel/mousewheel.js ***!
6976  \**************************************************************/
6977/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
6978
6979__webpack_require__.r(__webpack_exports__);
6980/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6981/* harmony export */   "default": function() { return /* binding */ Mousewheel; }
6982/* harmony export */ });
6983/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
6984/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
6985/* eslint-disable consistent-return */
6986
6987
6988function Mousewheel({
6989  swiper,
6990  extendParams,
6991  on,
6992  emit
6993}) {
6994  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
6995  extendParams({
6996    mousewheel: {
6997      enabled: false,
6998      releaseOnEdges: false,
6999      invert: false,
7000      forceToAxis: false,
7001      sensitivity: 1,
7002      eventsTarget: 'container',
7003      thresholdDelta: null,
7004      thresholdTime: null,
7005      noMousewheelClass: 'swiper-no-mousewheel'
7006    }
7007  });
7008  swiper.mousewheel = {
7009    enabled: false
7010  };
7011  let timeout;
7012  let lastScrollTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)();
7013  let lastEventBeforeSnap;
7014  const recentWheelEvents = [];
7015  function normalize(e) {
7016    // Reasonable defaults
7017    const PIXEL_STEP = 10;
7018    const LINE_HEIGHT = 40;
7019    const PAGE_HEIGHT = 800;
7020    let sX = 0;
7021    let sY = 0; // spinX, spinY
7022    let pX = 0;
7023    let pY = 0; // pixelX, pixelY
7024
7025    // Legacy
7026    if ('detail' in e) {
7027      sY = e.detail;
7028    }
7029    if ('wheelDelta' in e) {
7030      sY = -e.wheelDelta / 120;
7031    }
7032    if ('wheelDeltaY' in e) {
7033      sY = -e.wheelDeltaY / 120;
7034    }
7035    if ('wheelDeltaX' in e) {
7036      sX = -e.wheelDeltaX / 120;
7037    }
7038
7039    // side scrolling on FF with DOMMouseScroll
7040    if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {
7041      sX = sY;
7042      sY = 0;
7043    }
7044    pX = sX * PIXEL_STEP;
7045    pY = sY * PIXEL_STEP;
7046    if ('deltaY' in e) {
7047      pY = e.deltaY;
7048    }
7049    if ('deltaX' in e) {
7050      pX = e.deltaX;
7051    }
7052    if (e.shiftKey && !pX) {
7053      // if user scrolls with shift he wants horizontal scroll
7054      pX = pY;
7055      pY = 0;
7056    }
7057    if ((pX || pY) && e.deltaMode) {
7058      if (e.deltaMode === 1) {
7059        // delta in LINE units
7060        pX *= LINE_HEIGHT;
7061        pY *= LINE_HEIGHT;
7062      } else {
7063        // delta in PAGE units
7064        pX *= PAGE_HEIGHT;
7065        pY *= PAGE_HEIGHT;
7066      }
7067    }
7068
7069    // Fall-back if spin cannot be determined
7070    if (pX && !sX) {
7071      sX = pX < 1 ? -1 : 1;
7072    }
7073    if (pY && !sY) {
7074      sY = pY < 1 ? -1 : 1;
7075    }
7076    return {
7077      spinX: sX,
7078      spinY: sY,
7079      pixelX: pX,
7080      pixelY: pY
7081    };
7082  }
7083  function handleMouseEnter() {
7084    if (!swiper.enabled) return;
7085    swiper.mouseEntered = true;
7086  }
7087  function handleMouseLeave() {
7088    if (!swiper.enabled) return;
7089    swiper.mouseEntered = false;
7090  }
7091  function animateSlider(newEvent) {
7092    if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {
7093      // Prevent if delta of wheel scroll delta is below configured threshold
7094      return false;
7095    }
7096    if (swiper.params.mousewheel.thresholdTime && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {
7097      // Prevent if time between scrolls is below configured threshold
7098      return false;
7099    }
7100
7101    // If the movement is NOT big enough and
7102    // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):
7103    //   Don't go any further (avoid insignificant scroll movement).
7104    if (newEvent.delta >= 6 && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)() - lastScrollTime < 60) {
7105      // Return false as a default
7106      return true;
7107    }
7108    // If user is scrolling towards the end:
7109    //   If the slider hasn't hit the latest slide or
7110    //   if the slider is a loop and
7111    //   if the slider isn't moving right now:
7112    //     Go to next slide and
7113    //     emit a scroll event.
7114    // Else (the user is scrolling towards the beginning) and
7115    // if the slider hasn't hit the first slide or
7116    // if the slider is a loop and
7117    // if the slider isn't moving right now:
7118    //   Go to prev slide and
7119    //   emit a scroll event.
7120    if (newEvent.direction < 0) {
7121      if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {
7122        swiper.slideNext();
7123        emit('scroll', newEvent.raw);
7124      }
7125    } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {
7126      swiper.slidePrev();
7127      emit('scroll', newEvent.raw);
7128    }
7129    // If you got here is because an animation has been triggered so store the current time
7130    lastScrollTime = new window.Date().getTime();
7131    // Return false as a default
7132    return false;
7133  }
7134  function releaseScroll(newEvent) {
7135    const params = swiper.params.mousewheel;
7136    if (newEvent.direction < 0) {
7137      if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {
7138        // Return true to animate scroll on edges
7139        return true;
7140      }
7141    } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {
7142      // Return true to animate scroll on edges
7143      return true;
7144    }
7145    return false;
7146  }
7147  function handle(event) {
7148    let e = event;
7149    let disableParentSwiper = true;
7150    if (!swiper.enabled) return;
7151
7152    // Ignore event if the target or its parents have the swiper-no-mousewheel class
7153    if (event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`)) return;
7154    const params = swiper.params.mousewheel;
7155    if (swiper.params.cssMode) {
7156      e.preventDefault();
7157    }
7158    let targetEl = swiper.el;
7159    if (swiper.params.mousewheel.eventsTarget !== 'container') {
7160      targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);
7161    }
7162    const targetElContainsTarget = targetEl && targetEl.contains(e.target);
7163    if (!swiper.mouseEntered && !targetElContainsTarget && !params.releaseOnEdges) return true;
7164    if (e.originalEvent) e = e.originalEvent; // jquery fix
7165    let delta = 0;
7166    const rtlFactor = swiper.rtlTranslate ? -1 : 1;
7167    const data = normalize(e);
7168    if (params.forceToAxis) {
7169      if (swiper.isHorizontal()) {
7170        if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;
7171      } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;
7172    } else {
7173      delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;
7174    }
7175    if (delta === 0) return true;
7176    if (params.invert) delta = -delta;
7177
7178    // Get the scroll positions
7179    let positions = swiper.getTranslate() + delta * params.sensitivity;
7180    if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();
7181    if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate();
7182
7183    // When loop is true:
7184    //     the disableParentSwiper will be true.
7185    // When loop is false:
7186    //     if the scroll positions is not on edge,
7187    //     then the disableParentSwiper will be true.
7188    //     if the scroll on edge positions,
7189    //     then the disableParentSwiper will be false.
7190    disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());
7191    if (disableParentSwiper && swiper.params.nested) e.stopPropagation();
7192    if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {
7193      // Register the new event in a variable which stores the relevant data
7194      const newEvent = {
7195        time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)(),
7196        delta: Math.abs(delta),
7197        direction: Math.sign(delta),
7198        raw: event
7199      };
7200
7201      // Keep the most recent events
7202      if (recentWheelEvents.length >= 2) {
7203        recentWheelEvents.shift(); // only store the last N events
7204      }
7205
7206      const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;
7207      recentWheelEvents.push(newEvent);
7208
7209      // If there is at least one previous recorded event:
7210      //   If direction has changed or
7211      //   if the scroll is quicker than the previous one:
7212      //     Animate the slider.
7213      // Else (this is the first time the wheel is moved):
7214      //     Animate the slider.
7215      if (prevEvent) {
7216        if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {
7217          animateSlider(newEvent);
7218        }
7219      } else {
7220        animateSlider(newEvent);
7221      }
7222
7223      // If it's time to release the scroll:
7224      //   Return now so you don't hit the preventDefault.
7225      if (releaseScroll(newEvent)) {
7226        return true;
7227      }
7228    } else {
7229      // Freemode or scrollContainer:
7230
7231      // If we recently snapped after a momentum scroll, then ignore wheel events
7232      // to give time for the deceleration to finish. Stop ignoring after 500 msecs
7233      // or if it's a new scroll (larger delta or inverse sign as last event before
7234      // an end-of-momentum snap).
7235      const newEvent = {
7236        time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.now)(),
7237        delta: Math.abs(delta),
7238        direction: Math.sign(delta)
7239      };
7240      const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction;
7241      if (!ignoreWheelEvents) {
7242        lastEventBeforeSnap = undefined;
7243        let position = swiper.getTranslate() + delta * params.sensitivity;
7244        const wasBeginning = swiper.isBeginning;
7245        const wasEnd = swiper.isEnd;
7246        if (position >= swiper.minTranslate()) position = swiper.minTranslate();
7247        if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();
7248        swiper.setTransition(0);
7249        swiper.setTranslate(position);
7250        swiper.updateProgress();
7251        swiper.updateActiveIndex();
7252        swiper.updateSlidesClasses();
7253        if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {
7254          swiper.updateSlidesClasses();
7255        }
7256        if (swiper.params.loop) {
7257          swiper.loopFix({
7258            direction: newEvent.direction < 0 ? 'next' : 'prev',
7259            byMousewheel: true
7260          });
7261        }
7262        if (swiper.params.freeMode.sticky) {
7263          // When wheel scrolling starts with sticky (aka snap) enabled, then detect
7264          // the end of a momentum scroll by storing recent (N=15?) wheel events.
7265          // 1. do all N events have decreasing or same (absolute value) delta?
7266          // 2. did all N events arrive in the last M (M=500?) msecs?
7267          // 3. does the earliest event have an (absolute value) delta that's
7268          //    at least P (P=1?) larger than the most recent event's delta?
7269          // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?
7270          // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration.
7271          // Snap immediately and ignore remaining wheel events in this scroll.
7272          // See comment above for "remaining wheel events in this scroll" determination.
7273          // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.
7274          clearTimeout(timeout);
7275          timeout = undefined;
7276          if (recentWheelEvents.length >= 15) {
7277            recentWheelEvents.shift(); // only store the last N events
7278          }
7279
7280          const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;
7281          const firstEvent = recentWheelEvents[0];
7282          recentWheelEvents.push(newEvent);
7283          if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) {
7284            // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.
7285            recentWheelEvents.splice(0);
7286          } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) {
7287            // We're at the end of the deceleration of a momentum scroll, so there's no need
7288            // to wait for more events. Snap ASAP on the next tick.
7289            // Also, because there's some remaining momentum we'll bias the snap in the
7290            // direction of the ongoing scroll because it's better UX for the scroll to snap
7291            // in the same direction as the scroll instead of reversing to snap.  Therefore,
7292            // if it's already scrolled more than 20% in the current direction, keep going.
7293            const snapToThreshold = delta > 0 ? 0.8 : 0.2;
7294            lastEventBeforeSnap = newEvent;
7295            recentWheelEvents.splice(0);
7296            timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {
7297              swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
7298            }, 0); // no delay; move on next tick
7299          }
7300
7301          if (!timeout) {
7302            // if we get here, then we haven't detected the end of a momentum scroll, so
7303            // we'll consider a scroll "complete" when there haven't been any wheel events
7304            // for 500ms.
7305            timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {
7306              const snapToThreshold = 0.5;
7307              lastEventBeforeSnap = newEvent;
7308              recentWheelEvents.splice(0);
7309              swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
7310            }, 500);
7311          }
7312        }
7313
7314        // Emit event
7315        if (!ignoreWheelEvents) emit('scroll', e);
7316
7317        // Stop autoplay
7318        if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop();
7319        // Return page scroll on edge positions
7320        if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;
7321      }
7322    }
7323    if (e.preventDefault) e.preventDefault();else e.returnValue = false;
7324    return false;
7325  }
7326  function events(method) {
7327    let targetEl = swiper.el;
7328    if (swiper.params.mousewheel.eventsTarget !== 'container') {
7329      targetEl = document.querySelector(swiper.params.mousewheel.eventsTarget);
7330    }
7331    targetEl[method]('mouseenter', handleMouseEnter);
7332    targetEl[method]('mouseleave', handleMouseLeave);
7333    targetEl[method]('wheel', handle);
7334  }
7335  function enable() {
7336    if (swiper.params.cssMode) {
7337      swiper.wrapperEl.removeEventListener('wheel', handle);
7338      return true;
7339    }
7340    if (swiper.mousewheel.enabled) return false;
7341    events('addEventListener');
7342    swiper.mousewheel.enabled = true;
7343    return true;
7344  }
7345  function disable() {
7346    if (swiper.params.cssMode) {
7347      swiper.wrapperEl.addEventListener(event, handle);
7348      return true;
7349    }
7350    if (!swiper.mousewheel.enabled) return false;
7351    events('removeEventListener');
7352    swiper.mousewheel.enabled = false;
7353    return true;
7354  }
7355  on('init', () => {
7356    if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {
7357      disable();
7358    }
7359    if (swiper.params.mousewheel.enabled) enable();
7360  });
7361  on('destroy', () => {
7362    if (swiper.params.cssMode) {
7363      enable();
7364    }
7365    if (swiper.mousewheel.enabled) disable();
7366  });
7367  Object.assign(swiper.mousewheel, {
7368    enable,
7369    disable
7370  });
7371}
7372
7373/***/ }),
7374
vendor: 6,665 bytes, lines 7375-7574
7375/***/ "./node_modules/swiper/modules/navigation/navigation.js":
7376/*!**************************************************************!*\
7377  !*** ./node_modules/swiper/modules/navigation/navigation.js ***!
7378  \**************************************************************/
7379/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7380
7381__webpack_require__.r(__webpack_exports__);
7382/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7383/* harmony export */   "default": function() { return /* binding */ Navigation; }
7384/* harmony export */ });
7385/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "./node_modules/swiper/shared/create-element-if-not-defined.js");
7386
7387function Navigation({
7388  swiper,
7389  extendParams,
7390  on,
7391  emit
7392}) {
7393  extendParams({
7394    navigation: {
7395      nextEl: null,
7396      prevEl: null,
7397      hideOnClick: false,
7398      disabledClass: 'swiper-button-disabled',
7399      hiddenClass: 'swiper-button-hidden',
7400      lockClass: 'swiper-button-lock',
7401      navigationDisabledClass: 'swiper-navigation-disabled'
7402    }
7403  });
7404  swiper.navigation = {
7405    nextEl: null,
7406    prevEl: null
7407  };
7408  const makeElementsArray = el => {
7409    if (!Array.isArray(el)) el = [el].filter(e => !!e);
7410    return el;
7411  };
7412  function getEl(el) {
7413    let res;
7414    if (el && typeof el === 'string' && swiper.isElement) {
7415      res = swiper.el.shadowRoot.querySelector(el);
7416      if (res) return res;
7417    }
7418    if (el) {
7419      if (typeof el === 'string') res = [...document.querySelectorAll(el)];
7420      if (swiper.params.uniqueNavElements && typeof el === 'string' && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {
7421        res = swiper.el.querySelector(el);
7422      }
7423    }
7424    if (el && !res) return el;
7425    // if (Array.isArray(res) && res.length === 1) res = res[0];
7426    return res;
7427  }
7428  function toggleEl(el, disabled) {
7429    const params = swiper.params.navigation;
7430    el = makeElementsArray(el);
7431    el.forEach(subEl => {
7432      if (subEl) {
7433        subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' '));
7434        if (subEl.tagName === 'BUTTON') subEl.disabled = disabled;
7435        if (swiper.params.watchOverflow && swiper.enabled) {
7436          subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);
7437        }
7438      }
7439    });
7440  }
7441  function update() {
7442    // Update Navigation Buttons
7443    const {
7444      nextEl,
7445      prevEl
7446    } = swiper.navigation;
7447    if (swiper.params.loop) {
7448      toggleEl(prevEl, false);
7449      toggleEl(nextEl, false);
7450      return;
7451    }
7452    toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);
7453    toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);
7454  }
7455  function onPrevClick(e) {
7456    e.preventDefault();
7457    if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;
7458    swiper.slidePrev();
7459    emit('navigationPrev');
7460  }
7461  function onNextClick(e) {
7462    e.preventDefault();
7463    if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;
7464    swiper.slideNext();
7465    emit('navigationNext');
7466  }
7467  function init() {
7468    const params = swiper.params.navigation;
7469    swiper.params.navigation = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper, swiper.originalParams.navigation, swiper.params.navigation, {
7470      nextEl: 'swiper-button-next',
7471      prevEl: 'swiper-button-prev'
7472    });
7473    if (!(params.nextEl || params.prevEl)) return;
7474    let nextEl = getEl(params.nextEl);
7475    let prevEl = getEl(params.prevEl);
7476    Object.assign(swiper.navigation, {
7477      nextEl,
7478      prevEl
7479    });
7480    nextEl = makeElementsArray(nextEl);
7481    prevEl = makeElementsArray(prevEl);
7482    const initButton = (el, dir) => {
7483      if (el) {
7484        el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);
7485      }
7486      if (!swiper.enabled && el) {
7487        el.classList.add(...params.lockClass.split(' '));
7488      }
7489    };
7490    nextEl.forEach(el => initButton(el, 'next'));
7491    prevEl.forEach(el => initButton(el, 'prev'));
7492  }
7493  function destroy() {
7494    let {
7495      nextEl,
7496      prevEl
7497    } = swiper.navigation;
7498    nextEl = makeElementsArray(nextEl);
7499    prevEl = makeElementsArray(prevEl);
7500    const destroyButton = (el, dir) => {
7501      el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick);
7502      el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));
7503    };
7504    nextEl.forEach(el => destroyButton(el, 'next'));
7505    prevEl.forEach(el => destroyButton(el, 'prev'));
7506  }
7507  on('init', () => {
7508    if (swiper.params.navigation.enabled === false) {
7509      // eslint-disable-next-line
7510      disable();
7511    } else {
7512      init();
7513      update();
7514    }
7515  });
7516  on('toEdge fromEdge lock unlock', () => {
7517    update();
7518  });
7519  on('destroy', () => {
7520    destroy();
7521  });
7522  on('enable disable', () => {
7523    let {
7524      nextEl,
7525      prevEl
7526    } = swiper.navigation;
7527    nextEl = makeElementsArray(nextEl);
7528    prevEl = makeElementsArray(prevEl);
7529    [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.navigation.lockClass));
7530  });
7531  on('click', (_s, e) => {
7532    let {
7533      nextEl,
7534      prevEl
7535    } = swiper.navigation;
7536    nextEl = makeElementsArray(nextEl);
7537    prevEl = makeElementsArray(prevEl);
7538    const targetEl = e.target;
7539    if (swiper.params.navigation.hideOnClick && !prevEl.includes(targetEl) && !nextEl.includes(targetEl)) {
7540      if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;
7541      let isHidden;
7542      if (nextEl.length) {
7543        isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);
7544      } else if (prevEl.length) {
7545        isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);
7546      }
7547      if (isHidden === true) {
7548        emit('navigationShow');
7549      } else {
7550        emit('navigationHide');
7551      }
7552      [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));
7553    }
7554  });
7555  const enable = () => {
7556    swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));
7557    init();
7558    update();
7559  };
7560  const disable = () => {
7561    swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));
7562    destroy();
7563  };
7564  Object.assign(swiper.navigation, {
7565    enable,
7566    disable,
7567    update,
7568    init,
7569    destroy
7570  });
7571}
7572
7573/***/ }),
7574
vendor: 18,303 bytes, lines 7575-8036
7575/***/ "./node_modules/swiper/modules/pagination/pagination.js":
7576/*!**************************************************************!*\
7577  !*** ./node_modules/swiper/modules/pagination/pagination.js ***!
7578  \**************************************************************/
7579/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7580
7581__webpack_require__.r(__webpack_exports__);
7582/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7583/* harmony export */   "default": function() { return /* binding */ Pagination; }
7584/* harmony export */ });
7585/* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ "./node_modules/swiper/shared/classes-to-selector.js");
7586/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "./node_modules/swiper/shared/create-element-if-not-defined.js");
7587/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
7588
7589
7590
7591function Pagination({
7592  swiper,
7593  extendParams,
7594  on,
7595  emit
7596}) {
7597  const pfx = 'swiper-pagination';
7598  extendParams({
7599    pagination: {
7600      el: null,
7601      bulletElement: 'span',
7602      clickable: false,
7603      hideOnClick: false,
7604      renderBullet: null,
7605      renderProgressbar: null,
7606      renderFraction: null,
7607      renderCustom: null,
7608      progressbarOpposite: false,
7609      type: 'bullets',
7610      // 'bullets' or 'progressbar' or 'fraction' or 'custom'
7611      dynamicBullets: false,
7612      dynamicMainBullets: 1,
7613      formatFractionCurrent: number => number,
7614      formatFractionTotal: number => number,
7615      bulletClass: `${pfx}-bullet`,
7616      bulletActiveClass: `${pfx}-bullet-active`,
7617      modifierClass: `${pfx}-`,
7618      currentClass: `${pfx}-current`,
7619      totalClass: `${pfx}-total`,
7620      hiddenClass: `${pfx}-hidden`,
7621      progressbarFillClass: `${pfx}-progressbar-fill`,
7622      progressbarOppositeClass: `${pfx}-progressbar-opposite`,
7623      clickableClass: `${pfx}-clickable`,
7624      lockClass: `${pfx}-lock`,
7625      horizontalClass: `${pfx}-horizontal`,
7626      verticalClass: `${pfx}-vertical`,
7627      paginationDisabledClass: `${pfx}-disabled`
7628    }
7629  });
7630  swiper.pagination = {
7631    el: null,
7632    bullets: []
7633  };
7634  let bulletSize;
7635  let dynamicBulletIndex = 0;
7636  const makeElementsArray = el => {
7637    if (!Array.isArray(el)) el = [el].filter(e => !!e);
7638    return el;
7639  };
7640  function isPaginationDisabled() {
7641    return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0;
7642  }
7643  function setSideBullets(bulletEl, position) {
7644    const {
7645      bulletActiveClass
7646    } = swiper.params.pagination;
7647    if (!bulletEl) return;
7648    bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];
7649    if (bulletEl) {
7650      bulletEl.classList.add(`${bulletActiveClass}-${position}`);
7651      bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];
7652      if (bulletEl) {
7653        bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);
7654      }
7655    }
7656  }
7657  function onBulletClick(e) {
7658    const bulletEl = e.target.closest((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass));
7659    if (!bulletEl) {
7660      return;
7661    }
7662    e.preventDefault();
7663    const index = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.elementIndex)(bulletEl) * swiper.params.slidesPerGroup;
7664    if (swiper.params.loop) {
7665      if (swiper.realIndex === index) return;
7666      const newSlideIndex = swiper.getSlideIndexByData(index);
7667      const currentSlideIndex = swiper.getSlideIndexByData(swiper.realIndex);
7668      if (newSlideIndex > swiper.slides.length - swiper.loopedSlides) {
7669        swiper.loopFix({
7670          direction: newSlideIndex > currentSlideIndex ? 'next' : 'prev',
7671          activeSlideIndex: newSlideIndex,
7672          slideTo: false
7673        });
7674      }
7675      swiper.slideToLoop(index);
7676    } else {
7677      swiper.slideTo(index);
7678    }
7679  }
7680  function update() {
7681    // Render || Update Pagination bullets/items
7682    const rtl = swiper.rtl;
7683    const params = swiper.params.pagination;
7684    if (isPaginationDisabled()) return;
7685    let el = swiper.pagination.el;
7686    el = makeElementsArray(el);
7687    // Current/Total
7688    let current;
7689    let previousIndex;
7690    const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
7691    const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
7692    if (swiper.params.loop) {
7693      previousIndex = swiper.previousRealIndex || 0;
7694      current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex;
7695    } else if (typeof swiper.snapIndex !== 'undefined') {
7696      current = swiper.snapIndex;
7697      previousIndex = swiper.previousSnapIndex;
7698    } else {
7699      previousIndex = swiper.previousIndex || 0;
7700      current = swiper.activeIndex || 0;
7701    }
7702    // Types
7703    if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {
7704      const bullets = swiper.pagination.bullets;
7705      let firstIndex;
7706      let lastIndex;
7707      let midIndex;
7708      if (params.dynamicBullets) {
7709        bulletSize = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.elementOuterSize)(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true);
7710        el.forEach(subEl => {
7711          subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`;
7712        });
7713        if (params.dynamicMainBullets > 1 && previousIndex !== undefined) {
7714          dynamicBulletIndex += current - (previousIndex || 0);
7715          if (dynamicBulletIndex > params.dynamicMainBullets - 1) {
7716            dynamicBulletIndex = params.dynamicMainBullets - 1;
7717          } else if (dynamicBulletIndex < 0) {
7718            dynamicBulletIndex = 0;
7719          }
7720        }
7721        firstIndex = Math.max(current - dynamicBulletIndex, 0);
7722        lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);
7723        midIndex = (lastIndex + firstIndex) / 2;
7724      }
7725      bullets.forEach(bulletEl => {
7726        const classesToRemove = [...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`)].map(s => typeof s === 'string' && s.includes(' ') ? s.split(' ') : s).flat();
7727        bulletEl.classList.remove(...classesToRemove);
7728      });
7729      if (el.length > 1) {
7730        bullets.forEach(bullet => {
7731          const bulletIndex = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.elementIndex)(bullet);
7732          if (bulletIndex === current) {
7733            bullet.classList.add(...params.bulletActiveClass.split(' '));
7734          }
7735          if (params.dynamicBullets) {
7736            if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {
7737              bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '));
7738            }
7739            if (bulletIndex === firstIndex) {
7740              setSideBullets(bullet, 'prev');
7741            }
7742            if (bulletIndex === lastIndex) {
7743              setSideBullets(bullet, 'next');
7744            }
7745          }
7746        });
7747      } else {
7748        const bullet = bullets[current];
7749        if (bullet) {
7750          bullet.classList.add(...params.bulletActiveClass.split(' '));
7751        }
7752        if (params.dynamicBullets) {
7753          const firstDisplayedBullet = bullets[firstIndex];
7754          const lastDisplayedBullet = bullets[lastIndex];
7755          for (let i = firstIndex; i <= lastIndex; i += 1) {
7756            if (bullets[i]) {
7757              bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '));
7758            }
7759          }
7760          setSideBullets(firstDisplayedBullet, 'prev');
7761          setSideBullets(lastDisplayedBullet, 'next');
7762        }
7763      }
7764      if (params.dynamicBullets) {
7765        const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);
7766        const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;
7767        const offsetProp = rtl ? 'right' : 'left';
7768        bullets.forEach(bullet => {
7769          bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`;
7770        });
7771      }
7772    }
7773    el.forEach((subEl, subElIndex) => {
7774      if (params.type === 'fraction') {
7775        subEl.querySelectorAll((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.currentClass)).forEach(fractionEl => {
7776          fractionEl.textContent = params.formatFractionCurrent(current + 1);
7777        });
7778        subEl.querySelectorAll((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.totalClass)).forEach(totalEl => {
7779          totalEl.textContent = params.formatFractionTotal(total);
7780        });
7781      }
7782      if (params.type === 'progressbar') {
7783        let progressbarDirection;
7784        if (params.progressbarOpposite) {
7785          progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';
7786        } else {
7787          progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';
7788        }
7789        const scale = (current + 1) / total;
7790        let scaleX = 1;
7791        let scaleY = 1;
7792        if (progressbarDirection === 'horizontal') {
7793          scaleX = scale;
7794        } else {
7795          scaleY = scale;
7796        }
7797        subEl.querySelectorAll((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.progressbarFillClass)).forEach(progressEl => {
7798          progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;
7799          progressEl.style.transitionDuration = `${swiper.params.speed}ms`;
7800        });
7801      }
7802      if (params.type === 'custom' && params.renderCustom) {
7803        subEl.innerHTML = params.renderCustom(swiper, current + 1, total);
7804        if (subElIndex === 0) emit('paginationRender', subEl);
7805      } else {
7806        if (subElIndex === 0) emit('paginationRender', subEl);
7807        emit('paginationUpdate', subEl);
7808      }
7809      if (swiper.params.watchOverflow && swiper.enabled) {
7810        subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);
7811      }
7812    });
7813  }
7814  function render() {
7815    // Render Container
7816    const params = swiper.params.pagination;
7817    if (isPaginationDisabled()) return;
7818    const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
7819    let el = swiper.pagination.el;
7820    el = makeElementsArray(el);
7821    let paginationHTML = '';
7822    if (params.type === 'bullets') {
7823      let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
7824      if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) {
7825        numberOfBullets = slidesLength;
7826      }
7827      for (let i = 0; i < numberOfBullets; i += 1) {
7828        if (params.renderBullet) {
7829          paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);
7830        } else {
7831          paginationHTML += `<${params.bulletElement} class="${params.bulletClass}"></${params.bulletElement}>`;
7832        }
7833      }
7834    }
7835    if (params.type === 'fraction') {
7836      if (params.renderFraction) {
7837        paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);
7838      } else {
7839        paginationHTML = `<span class="${params.currentClass}"></span>` + ' / ' + `<span class="${params.totalClass}"></span>`;
7840      }
7841    }
7842    if (params.type === 'progressbar') {
7843      if (params.renderProgressbar) {
7844        paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);
7845      } else {
7846        paginationHTML = `<span class="${params.progressbarFillClass}"></span>`;
7847      }
7848    }
7849    swiper.pagination.bullets = [];
7850    el.forEach(subEl => {
7851      if (params.type !== 'custom') {
7852        subEl.innerHTML = paginationHTML || '';
7853      }
7854      if (params.type === 'bullets') {
7855        swiper.pagination.bullets.push(...subEl.querySelectorAll((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.bulletClass)));
7856      }
7857    });
7858    if (params.type !== 'custom') {
7859      emit('paginationRender', el[0]);
7860    }
7861  }
7862  function init() {
7863    swiper.params.pagination = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper, swiper.originalParams.pagination, swiper.params.pagination, {
7864      el: 'swiper-pagination'
7865    });
7866    const params = swiper.params.pagination;
7867    if (!params.el) return;
7868    let el;
7869    if (typeof params.el === 'string' && swiper.isElement) {
7870      el = swiper.el.shadowRoot.querySelector(params.el);
7871    }
7872    if (!el && typeof params.el === 'string') {
7873      el = [...document.querySelectorAll(params.el)];
7874    }
7875    if (!el) {
7876      el = params.el;
7877    }
7878    if (!el || el.length === 0) return;
7879    if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) {
7880      el = [...swiper.el.querySelectorAll(params.el)];
7881      // check if it belongs to another nested Swiper
7882      if (el.length > 1) {
7883        el = el.filter(subEl => {
7884          if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.elementParents)(subEl, '.swiper')[0] !== swiper.el) return false;
7885          return true;
7886        })[0];
7887      }
7888    }
7889    if (Array.isArray(el) && el.length === 1) el = el[0];
7890    Object.assign(swiper.pagination, {
7891      el
7892    });
7893    el = makeElementsArray(el);
7894    el.forEach(subEl => {
7895      if (params.type === 'bullets' && params.clickable) {
7896        subEl.classList.add(params.clickableClass);
7897      }
7898      subEl.classList.add(params.modifierClass + params.type);
7899      subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
7900      if (params.type === 'bullets' && params.dynamicBullets) {
7901        subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);
7902        dynamicBulletIndex = 0;
7903        if (params.dynamicMainBullets < 1) {
7904          params.dynamicMainBullets = 1;
7905        }
7906      }
7907      if (params.type === 'progressbar' && params.progressbarOpposite) {
7908        subEl.classList.add(params.progressbarOppositeClass);
7909      }
7910      if (params.clickable) {
7911        subEl.addEventListener('click', onBulletClick);
7912      }
7913      if (!swiper.enabled) {
7914        subEl.classList.add(params.lockClass);
7915      }
7916    });
7917  }
7918  function destroy() {
7919    const params = swiper.params.pagination;
7920    if (isPaginationDisabled()) return;
7921    let el = swiper.pagination.el;
7922    if (el) {
7923      el = makeElementsArray(el);
7924      el.forEach(subEl => {
7925        subEl.classList.remove(params.hiddenClass);
7926        subEl.classList.remove(params.modifierClass + params.type);
7927        subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
7928        if (params.clickable) {
7929          subEl.removeEventListener('click', onBulletClick);
7930        }
7931      });
7932    }
7933    if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(...params.bulletActiveClass.split(' ')));
7934  }
7935  on('changeDirection', () => {
7936    if (!swiper.pagination || !swiper.pagination.el) return;
7937    const params = swiper.params.pagination;
7938    let {
7939      el
7940    } = swiper.pagination;
7941    el = makeElementsArray(el);
7942    el.forEach(subEl => {
7943      subEl.classList.remove(params.horizontalClass, params.verticalClass);
7944      subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
7945    });
7946  });
7947  on('init', () => {
7948    if (swiper.params.pagination.enabled === false) {
7949      // eslint-disable-next-line
7950      disable();
7951    } else {
7952      init();
7953      render();
7954      update();
7955    }
7956  });
7957  on('activeIndexChange', () => {
7958    if (typeof swiper.snapIndex === 'undefined') {
7959      update();
7960    }
7961  });
7962  on('snapIndexChange', () => {
7963    update();
7964  });
7965  on('snapGridLengthChange', () => {
7966    render();
7967    update();
7968  });
7969  on('destroy', () => {
7970    destroy();
7971  });
7972  on('enable disable', () => {
7973    let {
7974      el
7975    } = swiper.pagination;
7976    if (el) {
7977      el = makeElementsArray(el);
7978      el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass));
7979    }
7980  });
7981  on('lock unlock', () => {
7982    update();
7983  });
7984  on('click', (_s, e) => {
7985    const targetEl = e.target;
7986    let {
7987      el
7988    } = swiper.pagination;
7989    if (!Array.isArray(el)) el = [el].filter(element => !!element);
7990    if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) {
7991      if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;
7992      const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass);
7993      if (isHidden === true) {
7994        emit('paginationShow');
7995      } else {
7996        emit('paginationHide');
7997      }
7998      el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass));
7999    }
8000  });
8001  const enable = () => {
8002    swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);
8003    let {
8004      el
8005    } = swiper.pagination;
8006    if (el) {
8007      el = makeElementsArray(el);
8008      el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));
8009    }
8010    init();
8011    render();
8012    update();
8013  };
8014  const disable = () => {
8015    swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);
8016    let {
8017      el
8018    } = swiper.pagination;
8019    if (el) {
8020      el = makeElementsArray(el);
8021      el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass));
8022    }
8023    destroy();
8024  };
8025  Object.assign(swiper.pagination, {
8026    enable,
8027    disable,
8028    render,
8029    update,
8030    init,
8031    destroy
8032  });
8033}
8034
8035/***/ }),
8036
vendor: 4,509 bytes, lines 8037-8156
8037/***/ "./node_modules/swiper/modules/parallax/parallax.js":
8038/*!**********************************************************!*\
8039  !*** ./node_modules/swiper/modules/parallax/parallax.js ***!
8040  \**********************************************************/
8041/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
8042
8043__webpack_require__.r(__webpack_exports__);
8044/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8045/* harmony export */   "default": function() { return /* binding */ Parallax; }
8046/* harmony export */ });
8047/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
8048
8049function Parallax({
8050  swiper,
8051  extendParams,
8052  on
8053}) {
8054  extendParams({
8055    parallax: {
8056      enabled: false
8057    }
8058  });
8059  const setTransform = (el, progress) => {
8060    const {
8061      rtl
8062    } = swiper;
8063    const rtlFactor = rtl ? -1 : 1;
8064    const p = el.getAttribute('data-swiper-parallax') || '0';
8065    let x = el.getAttribute('data-swiper-parallax-x');
8066    let y = el.getAttribute('data-swiper-parallax-y');
8067    const scale = el.getAttribute('data-swiper-parallax-scale');
8068    const opacity = el.getAttribute('data-swiper-parallax-opacity');
8069    const rotate = el.getAttribute('data-swiper-parallax-rotate');
8070    if (x || y) {
8071      x = x || '0';
8072      y = y || '0';
8073    } else if (swiper.isHorizontal()) {
8074      x = p;
8075      y = '0';
8076    } else {
8077      y = p;
8078      x = '0';
8079    }
8080    if (x.indexOf('%') >= 0) {
8081      x = `${parseInt(x, 10) * progress * rtlFactor}%`;
8082    } else {
8083      x = `${x * progress * rtlFactor}px`;
8084    }
8085    if (y.indexOf('%') >= 0) {
8086      y = `${parseInt(y, 10) * progress}%`;
8087    } else {
8088      y = `${y * progress}px`;
8089    }
8090    if (typeof opacity !== 'undefined' && opacity !== null) {
8091      const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));
8092      el.style.opacity = currentOpacity;
8093    }
8094    let transform = `translate3d(${x}, ${y}, 0px)`;
8095    if (typeof scale !== 'undefined' && scale !== null) {
8096      const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));
8097      transform += ` scale(${currentScale})`;
8098    }
8099    if (rotate && typeof rotate !== 'undefined' && rotate !== null) {
8100      const currentRotate = rotate * progress * -1;
8101      transform += ` rotate(${currentRotate}deg)`;
8102    }
8103    el.style.transform = transform;
8104  };
8105  const setTranslate = () => {
8106    const {
8107      el,
8108      slides,
8109      progress,
8110      snapGrid
8111    } = swiper;
8112    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(el, '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').forEach(subEl => {
8113      setTransform(subEl, progress);
8114    });
8115    slides.forEach((slideEl, slideIndex) => {
8116      let slideProgress = slideEl.progress;
8117      if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {
8118        slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);
8119      }
8120      slideProgress = Math.min(Math.max(slideProgress, -1), 1);
8121      slideEl.querySelectorAll('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale], [data-swiper-parallax-rotate]').forEach(subEl => {
8122        setTransform(subEl, slideProgress);
8123      });
8124    });
8125  };
8126  const setTransition = (duration = swiper.params.speed) => {
8127    const {
8128      el
8129    } = swiper;
8130    el.querySelectorAll('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').forEach(parallaxEl => {
8131      let parallaxDuration = parseInt(parallaxEl.getAttribute('data-swiper-parallax-duration'), 10) || duration;
8132      if (duration === 0) parallaxDuration = 0;
8133      parallaxEl.style.transitionDuration = `${parallaxDuration}ms`;
8134    });
8135  };
8136  on('beforeInit', () => {
8137    if (!swiper.params.parallax.enabled) return;
8138    swiper.params.watchSlidesProgress = true;
8139    swiper.originalParams.watchSlidesProgress = true;
8140  });
8141  on('init', () => {
8142    if (!swiper.params.parallax.enabled) return;
8143    setTranslate();
8144  });
8145  on('setTranslate', () => {
8146    if (!swiper.params.parallax.enabled) return;
8147    setTranslate();
8148  });
8149  on('setTransition', (_swiper, duration) => {
8150    if (!swiper.params.parallax.enabled) return;
8151    setTransition(duration);
8152  });
8153}
8154
8155/***/ }),
8156
vendor: 11,352 bytes, lines 8157-8520
8157/***/ "./node_modules/swiper/modules/scrollbar/scrollbar.js":
8158/*!************************************************************!*\
8159  !*** ./node_modules/swiper/modules/scrollbar/scrollbar.js ***!
8160  \************************************************************/
8161/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
8162
8163__webpack_require__.r(__webpack_exports__);
8164/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8165/* harmony export */   "default": function() { return /* binding */ Scrollbar; }
8166/* harmony export */ });
8167/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
8168/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
8169/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "./node_modules/swiper/shared/create-element-if-not-defined.js");
8170
8171
8172
8173function Scrollbar({
8174  swiper,
8175  extendParams,
8176  on,
8177  emit
8178}) {
8179  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
8180  let isTouched = false;
8181  let timeout = null;
8182  let dragTimeout = null;
8183  let dragStartPos;
8184  let dragSize;
8185  let trackSize;
8186  let divider;
8187  extendParams({
8188    scrollbar: {
8189      el: null,
8190      dragSize: 'auto',
8191      hide: false,
8192      draggable: false,
8193      snapOnRelease: true,
8194      lockClass: 'swiper-scrollbar-lock',
8195      dragClass: 'swiper-scrollbar-drag',
8196      scrollbarDisabledClass: 'swiper-scrollbar-disabled',
8197      horizontalClass: `swiper-scrollbar-horizontal`,
8198      verticalClass: `swiper-scrollbar-vertical`
8199    }
8200  });
8201  swiper.scrollbar = {
8202    el: null,
8203    dragEl: null
8204  };
8205  function setTranslate() {
8206    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
8207    const {
8208      scrollbar,
8209      rtlTranslate: rtl
8210    } = swiper;
8211    const {
8212      dragEl,
8213      el
8214    } = scrollbar;
8215    const params = swiper.params.scrollbar;
8216    const progress = swiper.params.loop ? swiper.progressLoop : swiper.progress;
8217    let newSize = dragSize;
8218    let newPos = (trackSize - dragSize) * progress;
8219    if (rtl) {
8220      newPos = -newPos;
8221      if (newPos > 0) {
8222        newSize = dragSize - newPos;
8223        newPos = 0;
8224      } else if (-newPos + dragSize > trackSize) {
8225        newSize = trackSize + newPos;
8226      }
8227    } else if (newPos < 0) {
8228      newSize = dragSize + newPos;
8229      newPos = 0;
8230    } else if (newPos + dragSize > trackSize) {
8231      newSize = trackSize - newPos;
8232    }
8233    if (swiper.isHorizontal()) {
8234      dragEl.style.transform = `translate3d(${newPos}px, 0, 0)`;
8235      dragEl.style.width = `${newSize}px`;
8236    } else {
8237      dragEl.style.transform = `translate3d(0px, ${newPos}px, 0)`;
8238      dragEl.style.height = `${newSize}px`;
8239    }
8240    if (params.hide) {
8241      clearTimeout(timeout);
8242      el.style.opacity = 1;
8243      timeout = setTimeout(() => {
8244        el.style.opacity = 0;
8245        el.style.transitionDuration = '400ms';
8246      }, 1000);
8247    }
8248  }
8249  function setTransition(duration) {
8250    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
8251    swiper.scrollbar.dragEl.style.transitionDuration = `${duration}ms`;
8252  }
8253  function updateSize() {
8254    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
8255    const {
8256      scrollbar
8257    } = swiper;
8258    const {
8259      dragEl,
8260      el
8261    } = scrollbar;
8262    dragEl.style.width = '';
8263    dragEl.style.height = '';
8264    trackSize = swiper.isHorizontal() ? el.offsetWidth : el.offsetHeight;
8265    divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));
8266    if (swiper.params.scrollbar.dragSize === 'auto') {
8267      dragSize = trackSize * divider;
8268    } else {
8269      dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);
8270    }
8271    if (swiper.isHorizontal()) {
8272      dragEl.style.width = `${dragSize}px`;
8273    } else {
8274      dragEl.style.height = `${dragSize}px`;
8275    }
8276    if (divider >= 1) {
8277      el.style.display = 'none';
8278    } else {
8279      el.style.display = '';
8280    }
8281    if (swiper.params.scrollbar.hide) {
8282      el.style.opacity = 0;
8283    }
8284    if (swiper.params.watchOverflow && swiper.enabled) {
8285      scrollbar.el.classList[swiper.isLocked ? 'add' : 'remove'](swiper.params.scrollbar.lockClass);
8286    }
8287  }
8288  function getPointerPosition(e) {
8289    return swiper.isHorizontal() ? e.clientX : e.clientY;
8290  }
8291  function setDragPosition(e) {
8292    const {
8293      scrollbar,
8294      rtlTranslate: rtl
8295    } = swiper;
8296    const {
8297      el
8298    } = scrollbar;
8299    let positionRatio;
8300    positionRatio = (getPointerPosition(e) - (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementOffset)(el)[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);
8301    positionRatio = Math.max(Math.min(positionRatio, 1), 0);
8302    if (rtl) {
8303      positionRatio = 1 - positionRatio;
8304    }
8305    const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;
8306    swiper.updateProgress(position);
8307    swiper.setTranslate(position);
8308    swiper.updateActiveIndex();
8309    swiper.updateSlidesClasses();
8310  }
8311  function onDragStart(e) {
8312    const params = swiper.params.scrollbar;
8313    const {
8314      scrollbar,
8315      wrapperEl
8316    } = swiper;
8317    const {
8318      el,
8319      dragEl
8320    } = scrollbar;
8321    isTouched = true;
8322    dragStartPos = e.target === dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;
8323    e.preventDefault();
8324    e.stopPropagation();
8325    wrapperEl.style.transitionDuration = '100ms';
8326    dragEl.style.transitionDuration = '100ms';
8327    setDragPosition(e);
8328    clearTimeout(dragTimeout);
8329    el.style.transitionDuration = '0ms';
8330    if (params.hide) {
8331      el.style.opacity = 1;
8332    }
8333    if (swiper.params.cssMode) {
8334      swiper.wrapperEl.style['scroll-snap-type'] = 'none';
8335    }
8336    emit('scrollbarDragStart', e);
8337  }
8338  function onDragMove(e) {
8339    const {
8340      scrollbar,
8341      wrapperEl
8342    } = swiper;
8343    const {
8344      el,
8345      dragEl
8346    } = scrollbar;
8347    if (!isTouched) return;
8348    if (e.preventDefault) e.preventDefault();else e.returnValue = false;
8349    setDragPosition(e);
8350    wrapperEl.style.transitionDuration = '0ms';
8351    el.style.transitionDuration = '0ms';
8352    dragEl.style.transitionDuration = '0ms';
8353    emit('scrollbarDragMove', e);
8354  }
8355  function onDragEnd(e) {
8356    const params = swiper.params.scrollbar;
8357    const {
8358      scrollbar,
8359      wrapperEl
8360    } = swiper;
8361    const {
8362      el
8363    } = scrollbar;
8364    if (!isTouched) return;
8365    isTouched = false;
8366    if (swiper.params.cssMode) {
8367      swiper.wrapperEl.style['scroll-snap-type'] = '';
8368      wrapperEl.style.transitionDuration = '';
8369    }
8370    if (params.hide) {
8371      clearTimeout(dragTimeout);
8372      dragTimeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {
8373        el.style.opacity = 0;
8374        el.style.transitionDuration = '400ms';
8375      }, 1000);
8376    }
8377    emit('scrollbarDragEnd', e);
8378    if (params.snapOnRelease) {
8379      swiper.slideToClosest();
8380    }
8381  }
8382  function events(method) {
8383    const {
8384      scrollbar,
8385      params
8386    } = swiper;
8387    const el = scrollbar.el;
8388    if (!el) return;
8389    const target = el;
8390    const activeListener = params.passiveListeners ? {
8391      passive: false,
8392      capture: false
8393    } : false;
8394    const passiveListener = params.passiveListeners ? {
8395      passive: true,
8396      capture: false
8397    } : false;
8398    if (!target) return;
8399    const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';
8400    target[eventMethod]('pointerdown', onDragStart, activeListener);
8401    document[eventMethod]('pointermove', onDragMove, activeListener);
8402    document[eventMethod]('pointerup', onDragEnd, passiveListener);
8403  }
8404  function enableDraggable() {
8405    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
8406    events('on');
8407  }
8408  function disableDraggable() {
8409    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
8410    events('off');
8411  }
8412  function init() {
8413    const {
8414      scrollbar,
8415      el: swiperEl
8416    } = swiper;
8417    swiper.params.scrollbar = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__["default"])(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {
8418      el: 'swiper-scrollbar'
8419    });
8420    const params = swiper.params.scrollbar;
8421    if (!params.el) return;
8422    let el;
8423    if (typeof params.el === 'string' && swiper.isElement) {
8424      el = swiper.el.shadowRoot.querySelector(params.el);
8425    }
8426    if (!el && typeof params.el === 'string') {
8427      el = document.querySelectorAll(params.el);
8428    } else if (!el) {
8429      el = params.el;
8430    }
8431    if (swiper.params.uniqueNavElements && typeof params.el === 'string' && el.length > 1 && swiperEl.querySelectorAll(params.el).length === 1) {
8432      el = swiperEl.querySelector(params.el);
8433    }
8434    if (el.length > 0) el = el[0];
8435    el.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
8436    let dragEl;
8437    if (el) {
8438      dragEl = el.querySelector(`.${swiper.params.scrollbar.dragClass}`);
8439      if (!dragEl) {
8440        dragEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', swiper.params.scrollbar.dragClass);
8441        el.append(dragEl);
8442      }
8443    }
8444    Object.assign(scrollbar, {
8445      el,
8446      dragEl
8447    });
8448    if (params.draggable) {
8449      enableDraggable();
8450    }
8451    if (el) {
8452      el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.scrollbar.lockClass);
8453    }
8454  }
8455  function destroy() {
8456    const params = swiper.params.scrollbar;
8457    const el = swiper.scrollbar.el;
8458    if (el) {
8459      el.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);
8460    }
8461    disableDraggable();
8462  }
8463  on('init', () => {
8464    if (swiper.params.scrollbar.enabled === false) {
8465      // eslint-disable-next-line
8466      disable();
8467    } else {
8468      init();
8469      updateSize();
8470      setTranslate();
8471    }
8472  });
8473  on('update resize observerUpdate lock unlock', () => {
8474    updateSize();
8475  });
8476  on('setTranslate', () => {
8477    setTranslate();
8478  });
8479  on('setTransition', (_s, duration) => {
8480    setTransition(duration);
8481  });
8482  on('enable disable', () => {
8483    const {
8484      el
8485    } = swiper.scrollbar;
8486    if (el) {
8487      el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.scrollbar.lockClass);
8488    }
8489  });
8490  on('destroy', () => {
8491    destroy();
8492  });
8493  const enable = () => {
8494    swiper.el.classList.remove(swiper.params.scrollbar.scrollbarDisabledClass);
8495    if (swiper.scrollbar.el) {
8496      swiper.scrollbar.el.classList.remove(swiper.params.scrollbar.scrollbarDisabledClass);
8497    }
8498    init();
8499    updateSize();
8500    setTranslate();
8501  };
8502  const disable = () => {
8503    swiper.el.classList.add(swiper.params.scrollbar.scrollbarDisabledClass);
8504    if (swiper.scrollbar.el) {
8505      swiper.scrollbar.el.classList.add(swiper.params.scrollbar.scrollbarDisabledClass);
8506    }
8507    destroy();
8508  };
8509  Object.assign(swiper.scrollbar, {
8510    enable,
8511    disable,
8512    updateSize,
8513    setTranslate,
8514    init,
8515    destroy
8516  });
8517}
8518
8519/***/ }),
8520
vendor: 8,075 bytes, lines 8521-8725
8521/***/ "./node_modules/swiper/modules/thumbs/thumbs.js":
8522/*!******************************************************!*\
8523  !*** ./node_modules/swiper/modules/thumbs/thumbs.js ***!
8524  \******************************************************/
8525/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
8526
8527__webpack_require__.r(__webpack_exports__);
8528/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8529/* harmony export */   "default": function() { return /* binding */ Thumb; }
8530/* harmony export */ });
8531/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
8532/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
8533
8534
8535function Thumb({
8536  swiper,
8537  extendParams,
8538  on
8539}) {
8540  extendParams({
8541    thumbs: {
8542      swiper: null,
8543      multipleActiveThumbs: true,
8544      autoScrollOffset: 0,
8545      slideThumbActiveClass: 'swiper-slide-thumb-active',
8546      thumbsContainerClass: 'swiper-thumbs'
8547    }
8548  });
8549  let initialized = false;
8550  let swiperCreated = false;
8551  swiper.thumbs = {
8552    swiper: null
8553  };
8554  function onThumbClick() {
8555    const thumbsSwiper = swiper.thumbs.swiper;
8556    if (!thumbsSwiper || thumbsSwiper.destroyed) return;
8557    const clickedIndex = thumbsSwiper.clickedIndex;
8558    const clickedSlide = thumbsSwiper.clickedSlide;
8559    if (clickedSlide && clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass)) return;
8560    if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;
8561    let slideToIndex;
8562    if (thumbsSwiper.params.loop) {
8563      slideToIndex = parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);
8564    } else {
8565      slideToIndex = clickedIndex;
8566    }
8567    if (swiper.params.loop) {
8568      swiper.slideToLoop(slideToIndex);
8569    } else {
8570      swiper.slideTo(slideToIndex);
8571    }
8572  }
8573  function init() {
8574    const {
8575      thumbs: thumbsParams
8576    } = swiper.params;
8577    if (initialized) return false;
8578    initialized = true;
8579    const SwiperClass = swiper.constructor;
8580    if (thumbsParams.swiper instanceof SwiperClass) {
8581      swiper.thumbs.swiper = thumbsParams.swiper;
8582      Object.assign(swiper.thumbs.swiper.originalParams, {
8583        watchSlidesProgress: true,
8584        slideToClickedSlide: false
8585      });
8586      Object.assign(swiper.thumbs.swiper.params, {
8587        watchSlidesProgress: true,
8588        slideToClickedSlide: false
8589      });
8590      swiper.thumbs.swiper.update();
8591    } else if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.isObject)(thumbsParams.swiper)) {
8592      const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);
8593      Object.assign(thumbsSwiperParams, {
8594        watchSlidesProgress: true,
8595        slideToClickedSlide: false
8596      });
8597      swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);
8598      swiperCreated = true;
8599    }
8600    swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);
8601    swiper.thumbs.swiper.on('tap', onThumbClick);
8602    return true;
8603  }
8604  function update(initial) {
8605    const thumbsSwiper = swiper.thumbs.swiper;
8606    if (!thumbsSwiper || thumbsSwiper.destroyed) return;
8607    const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;
8608
8609    // Activate thumbs
8610    let thumbsToActivate = 1;
8611    const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;
8612    if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {
8613      thumbsToActivate = swiper.params.slidesPerView;
8614    }
8615    if (!swiper.params.thumbs.multipleActiveThumbs) {
8616      thumbsToActivate = 1;
8617    }
8618    thumbsToActivate = Math.floor(thumbsToActivate);
8619    thumbsSwiper.slides.forEach(slideEl => slideEl.classList.remove(thumbActiveClass));
8620    if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {
8621      for (let i = 0; i < thumbsToActivate; i += 1) {
8622        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(thumbsSwiper.slidesEl, `[data-swiper-slide-index="${swiper.realIndex + i}"]`).forEach(slideEl => {
8623          slideEl.classList.add(thumbActiveClass);
8624        });
8625      }
8626    } else {
8627      for (let i = 0; i < thumbsToActivate; i += 1) {
8628        if (thumbsSwiper.slides[swiper.realIndex + i]) {
8629          thumbsSwiper.slides[swiper.realIndex + i].classList.add(thumbActiveClass);
8630        }
8631      }
8632    }
8633    const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;
8634    const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;
8635    if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {
8636      const currentThumbsIndex = thumbsSwiper.activeIndex;
8637      let newThumbsIndex;
8638      let direction;
8639      if (thumbsSwiper.params.loop) {
8640        const newThumbsSlide = thumbsSwiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') === `${swiper.realIndex}`)[0];
8641        newThumbsIndex = thumbsSwiper.slides.indexOf(newThumbsSlide);
8642        direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';
8643      } else {
8644        newThumbsIndex = swiper.realIndex;
8645        direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';
8646      }
8647      if (useOffset) {
8648        newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;
8649      }
8650      if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {
8651        if (thumbsSwiper.params.centeredSlides) {
8652          if (newThumbsIndex > currentThumbsIndex) {
8653            newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;
8654          } else {
8655            newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;
8656          }
8657        } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) {
8658          // newThumbsIndex = newThumbsIndex - slidesPerView + 1;
8659        }
8660        thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);
8661      }
8662    }
8663  }
8664  on('beforeInit', () => {
8665    const {
8666      thumbs
8667    } = swiper.params;
8668    if (!thumbs || !thumbs.swiper) return;
8669    if (typeof thumbs.swiper === 'string' || thumbs.swiper instanceof HTMLElement) {
8670      const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
8671      const getThumbsElementAndInit = () => {
8672        const thumbsElement = typeof thumbs.swiper === 'string' ? document.querySelector(thumbs.swiper) : thumbs.swiper;
8673        if (thumbsElement && thumbsElement.swiper) {
8674          thumbs.swiper = thumbsElement.swiper;
8675          init();
8676          update(true);
8677        } else if (thumbsElement) {
8678          const onThumbsSwiper = e => {
8679            thumbs.swiper = e.detail[0];
8680            thumbsElement.removeEventListener('init', onThumbsSwiper);
8681            init();
8682            update(true);
8683            thumbs.swiper.update();
8684            swiper.update();
8685          };
8686          thumbsElement.addEventListener('init', onThumbsSwiper);
8687        }
8688        return thumbsElement;
8689      };
8690      const watchForThumbsToAppear = () => {
8691        if (swiper.destroyed) return;
8692        const thumbsElement = getThumbsElementAndInit();
8693        if (!thumbsElement) {
8694          requestAnimationFrame(watchForThumbsToAppear);
8695        }
8696      };
8697      requestAnimationFrame(watchForThumbsToAppear);
8698    } else {
8699      init();
8700      update(true);
8701    }
8702  });
8703  on('slideChange update resize observerUpdate', () => {
8704    update();
8705  });
8706  on('setTransition', (_s, duration) => {
8707    const thumbsSwiper = swiper.thumbs.swiper;
8708    if (!thumbsSwiper || thumbsSwiper.destroyed) return;
8709    thumbsSwiper.setTransition(duration);
8710  });
8711  on('beforeDestroy', () => {
8712    const thumbsSwiper = swiper.thumbs.swiper;
8713    if (!thumbsSwiper || thumbsSwiper.destroyed) return;
8714    if (swiperCreated) {
8715      thumbsSwiper.destroy();
8716    }
8717  });
8718  Object.assign(swiper.thumbs, {
8719    init,
8720    update
8721  });
8722}
8723
8724/***/ }),
8725
vendor: 11,576 bytes, lines 8726-9065
8726/***/ "./node_modules/swiper/modules/virtual/virtual.js":
8727/*!********************************************************!*\
8728  !*** ./node_modules/swiper/modules/virtual/virtual.js ***!
8729  \********************************************************/
8730/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
8731
8732__webpack_require__.r(__webpack_exports__);
8733/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8734/* harmony export */   "default": function() { return /* binding */ Virtual; }
8735/* harmony export */ });
8736/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
8737/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
8738
8739
8740function Virtual({
8741  swiper,
8742  extendParams,
8743  on,
8744  emit
8745}) {
8746  extendParams({
8747    virtual: {
8748      enabled: false,
8749      slides: [],
8750      cache: true,
8751      renderSlide: null,
8752      renderExternal: null,
8753      renderExternalUpdate: true,
8754      addSlidesBefore: 0,
8755      addSlidesAfter: 0
8756    }
8757  });
8758  let cssModeTimeout;
8759  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
8760  swiper.virtual = {
8761    cache: {},
8762    from: undefined,
8763    to: undefined,
8764    slides: [],
8765    offset: 0,
8766    slidesGrid: []
8767  };
8768  const tempDOM = document.createElement('div');
8769  function renderSlide(slide, index) {
8770    const params = swiper.params.virtual;
8771    if (params.cache && swiper.virtual.cache[index]) {
8772      return swiper.virtual.cache[index];
8773    }
8774    // eslint-disable-next-line
8775    let slideEl;
8776    if (params.renderSlide) {
8777      slideEl = params.renderSlide.call(swiper, slide, index);
8778      if (typeof slideEl === 'string') {
8779        tempDOM.innerHTML = slideEl;
8780        slideEl = tempDOM.children[0];
8781      }
8782    } else if (swiper.isElement) {
8783      slideEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('swiper-slide');
8784    } else {
8785      slideEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.createElement)('div', swiper.params.slideClass);
8786    }
8787    slideEl.setAttribute('data-swiper-slide-index', index);
8788    if (!params.renderSlide) {
8789      slideEl.innerHTML = slide;
8790    }
8791    if (params.cache) swiper.virtual.cache[index] = slideEl;
8792    return slideEl;
8793  }
8794  function update(force) {
8795    const {
8796      slidesPerView,
8797      slidesPerGroup,
8798      centeredSlides,
8799      loop: isLoop
8800    } = swiper.params;
8801    const {
8802      addSlidesBefore,
8803      addSlidesAfter
8804    } = swiper.params.virtual;
8805    const {
8806      from: previousFrom,
8807      to: previousTo,
8808      slides,
8809      slidesGrid: previousSlidesGrid,
8810      offset: previousOffset
8811    } = swiper.virtual;
8812    if (!swiper.params.cssMode) {
8813      swiper.updateActiveIndex();
8814    }
8815    const activeIndex = swiper.activeIndex || 0;
8816    let offsetProp;
8817    if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';
8818    let slidesAfter;
8819    let slidesBefore;
8820    if (centeredSlides) {
8821      slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;
8822      slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;
8823    } else {
8824      slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;
8825      slidesBefore = (isLoop ? slidesPerView : slidesPerGroup) + addSlidesBefore;
8826    }
8827    let from = activeIndex - slidesBefore;
8828    let to = activeIndex + slidesAfter;
8829    if (!isLoop) {
8830      from = Math.max(from, 0);
8831      to = Math.min(to, slides.length - 1);
8832    }
8833    let offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);
8834    if (isLoop && activeIndex >= slidesBefore) {
8835      from -= slidesBefore;
8836      if (!centeredSlides) offset += swiper.slidesGrid[0];
8837    } else if (isLoop && activeIndex < slidesBefore) {
8838      from = -slidesBefore;
8839      if (centeredSlides) offset += swiper.slidesGrid[0];
8840    }
8841    Object.assign(swiper.virtual, {
8842      from,
8843      to,
8844      offset,
8845      slidesGrid: swiper.slidesGrid,
8846      slidesBefore,
8847      slidesAfter
8848    });
8849    function onRendered() {
8850      swiper.updateSlides();
8851      swiper.updateProgress();
8852      swiper.updateSlidesClasses();
8853      emit('virtualUpdate');
8854    }
8855    if (previousFrom === from && previousTo === to && !force) {
8856      if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {
8857        swiper.slides.forEach(slideEl => {
8858          slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;
8859        });
8860      }
8861      swiper.updateProgress();
8862      emit('virtualUpdate');
8863      return;
8864    }
8865    if (swiper.params.virtual.renderExternal) {
8866      swiper.params.virtual.renderExternal.call(swiper, {
8867        offset,
8868        from,
8869        to,
8870        slides: function getSlides() {
8871          const slidesToRender = [];
8872          for (let i = from; i <= to; i += 1) {
8873            slidesToRender.push(slides[i]);
8874          }
8875          return slidesToRender;
8876        }()
8877      });
8878      if (swiper.params.virtual.renderExternalUpdate) {
8879        onRendered();
8880      } else {
8881        emit('virtualUpdate');
8882      }
8883      return;
8884    }
8885    const prependIndexes = [];
8886    const appendIndexes = [];
8887    const getSlideIndex = index => {
8888      let slideIndex = index;
8889      if (index < 0) {
8890        slideIndex = slides.length + index;
8891      } else if (slideIndex >= slides.length) {
8892        // eslint-disable-next-line
8893        slideIndex = slideIndex - slides.length;
8894      }
8895      return slideIndex;
8896    };
8897    if (force) {
8898      swiper.slidesEl.querySelectorAll(`.${swiper.params.slideClass}, swiper-slide`).forEach(slideEl => {
8899        slideEl.remove();
8900      });
8901    } else {
8902      for (let i = previousFrom; i <= previousTo; i += 1) {
8903        if (i < from || i > to) {
8904          const slideIndex = getSlideIndex(i);
8905          swiper.slidesEl.querySelectorAll(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}"]`).forEach(slideEl => {
8906            slideEl.remove();
8907          });
8908        }
8909      }
8910    }
8911    const loopFrom = isLoop ? -slides.length : 0;
8912    const loopTo = isLoop ? slides.length * 2 : slides.length;
8913    for (let i = loopFrom; i < loopTo; i += 1) {
8914      if (i >= from && i <= to) {
8915        const slideIndex = getSlideIndex(i);
8916        if (typeof previousTo === 'undefined' || force) {
8917          appendIndexes.push(slideIndex);
8918        } else {
8919          if (i > previousTo) appendIndexes.push(slideIndex);
8920          if (i < previousFrom) prependIndexes.push(slideIndex);
8921        }
8922      }
8923    }
8924    appendIndexes.forEach(index => {
8925      swiper.slidesEl.append(renderSlide(slides[index], index));
8926    });
8927    if (isLoop) {
8928      for (let i = prependIndexes.length - 1; i >= 0; i -= 1) {
8929        const index = prependIndexes[i];
8930        swiper.slidesEl.prepend(renderSlide(slides[index], index));
8931      }
8932    } else {
8933      prependIndexes.sort((a, b) => b - a);
8934      prependIndexes.forEach(index => {
8935        swiper.slidesEl.prepend(renderSlide(slides[index], index));
8936      });
8937    }
8938    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(swiper.slidesEl, '.swiper-slide, swiper-slide').forEach(slideEl => {
8939      slideEl.style[offsetProp] = `${offset - Math.abs(swiper.cssOverflowAdjustment())}px`;
8940    });
8941    onRendered();
8942  }
8943  function appendSlide(slides) {
8944    if (typeof slides === 'object' && 'length' in slides) {
8945      for (let i = 0; i < slides.length; i += 1) {
8946        if (slides[i]) swiper.virtual.slides.push(slides[i]);
8947      }
8948    } else {
8949      swiper.virtual.slides.push(slides);
8950    }
8951    update(true);
8952  }
8953  function prependSlide(slides) {
8954    const activeIndex = swiper.activeIndex;
8955    let newActiveIndex = activeIndex + 1;
8956    let numberOfNewSlides = 1;
8957    if (Array.isArray(slides)) {
8958      for (let i = 0; i < slides.length; i += 1) {
8959        if (slides[i]) swiper.virtual.slides.unshift(slides[i]);
8960      }
8961      newActiveIndex = activeIndex + slides.length;
8962      numberOfNewSlides = slides.length;
8963    } else {
8964      swiper.virtual.slides.unshift(slides);
8965    }
8966    if (swiper.params.virtual.cache) {
8967      const cache = swiper.virtual.cache;
8968      const newCache = {};
8969      Object.keys(cache).forEach(cachedIndex => {
8970        const cachedEl = cache[cachedIndex];
8971        const cachedElIndex = cachedEl.getAttribute('data-swiper-slide-index');
8972        if (cachedElIndex) {
8973          cachedEl.setAttribute('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides);
8974        }
8975        newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cachedEl;
8976      });
8977      swiper.virtual.cache = newCache;
8978    }
8979    update(true);
8980    swiper.slideTo(newActiveIndex, 0);
8981  }
8982  function removeSlide(slidesIndexes) {
8983    if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;
8984    let activeIndex = swiper.activeIndex;
8985    if (Array.isArray(slidesIndexes)) {
8986      for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {
8987        swiper.virtual.slides.splice(slidesIndexes[i], 1);
8988        if (swiper.params.virtual.cache) {
8989          delete swiper.virtual.cache[slidesIndexes[i]];
8990        }
8991        if (slidesIndexes[i] < activeIndex) activeIndex -= 1;
8992        activeIndex = Math.max(activeIndex, 0);
8993      }
8994    } else {
8995      swiper.virtual.slides.splice(slidesIndexes, 1);
8996      if (swiper.params.virtual.cache) {
8997        delete swiper.virtual.cache[slidesIndexes];
8998      }
8999      if (slidesIndexes < activeIndex) activeIndex -= 1;
9000      activeIndex = Math.max(activeIndex, 0);
9001    }
9002    update(true);
9003    swiper.slideTo(activeIndex, 0);
9004  }
9005  function removeAllSlides() {
9006    swiper.virtual.slides = [];
9007    if (swiper.params.virtual.cache) {
9008      swiper.virtual.cache = {};
9009    }
9010    update(true);
9011    swiper.slideTo(0, 0);
9012  }
9013  on('beforeInit', () => {
9014    if (!swiper.params.virtual.enabled) return;
9015    let domSlidesAssigned;
9016    if (typeof swiper.passedParams.virtual.slides === 'undefined') {
9017      const slides = [...swiper.slidesEl.children].filter(el => el.matches(`.${swiper.params.slideClass}, swiper-slide`));
9018      if (slides && slides.length) {
9019        swiper.virtual.slides = [...slides];
9020        domSlidesAssigned = true;
9021        slides.forEach((slideEl, slideIndex) => {
9022          slideEl.setAttribute('data-swiper-slide-index', slideIndex);
9023          swiper.virtual.cache[slideIndex] = slideEl;
9024          slideEl.remove();
9025        });
9026      }
9027    }
9028    if (!domSlidesAssigned) {
9029      swiper.virtual.slides = swiper.params.virtual.slides;
9030    }
9031    swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);
9032    swiper.params.watchSlidesProgress = true;
9033    swiper.originalParams.watchSlidesProgress = true;
9034    if (!swiper.params.initialSlide) {
9035      update();
9036    }
9037  });
9038  on('setTranslate', () => {
9039    if (!swiper.params.virtual.enabled) return;
9040    if (swiper.params.cssMode && !swiper._immediateVirtual) {
9041      clearTimeout(cssModeTimeout);
9042      cssModeTimeout = setTimeout(() => {
9043        update();
9044      }, 100);
9045    } else {
9046      update();
9047    }
9048  });
9049  on('init update resize', () => {
9050    if (!swiper.params.virtual.enabled) return;
9051    if (swiper.params.cssMode) {
9052      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.setCSSProperty)(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);
9053    }
9054  });
9055  Object.assign(swiper.virtual, {
9056    appendSlide,
9057    prependSlide,
9058    removeSlide,
9059    removeAllSlides,
9060    update
9061  });
9062}
9063
9064/***/ }),
9065
vendor: 22,571 bytes, lines 9066-9667
9066/***/ "./node_modules/swiper/modules/zoom/zoom.js":
9067/*!**************************************************!*\
9068  !*** ./node_modules/swiper/modules/zoom/zoom.js ***!
9069  \**************************************************/
9070/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9071
9072__webpack_require__.r(__webpack_exports__);
9073/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9074/* harmony export */   "default": function() { return /* binding */ Zoom; }
9075/* harmony export */ });
9076/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
9077/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
9078
9079
9080function Zoom({
9081  swiper,
9082  extendParams,
9083  on,
9084  emit
9085}) {
9086  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
9087  extendParams({
9088    zoom: {
9089      enabled: false,
9090      maxRatio: 3,
9091      minRatio: 1,
9092      toggle: true,
9093      containerClass: 'swiper-zoom-container',
9094      zoomedSlideClass: 'swiper-slide-zoomed'
9095    }
9096  });
9097  swiper.zoom = {
9098    enabled: false
9099  };
9100  let currentScale = 1;
9101  let isScaling = false;
9102  let fakeGestureTouched;
9103  let fakeGestureMoved;
9104  const evCache = [];
9105  const gesture = {
9106    originX: 0,
9107    originY: 0,
9108    slideEl: undefined,
9109    slideWidth: undefined,
9110    slideHeight: undefined,
9111    imageEl: undefined,
9112    imageWrapEl: undefined,
9113    maxRatio: 3
9114  };
9115  const image = {
9116    isTouched: undefined,
9117    isMoved: undefined,
9118    currentX: undefined,
9119    currentY: undefined,
9120    minX: undefined,
9121    minY: undefined,
9122    maxX: undefined,
9123    maxY: undefined,
9124    width: undefined,
9125    height: undefined,
9126    startX: undefined,
9127    startY: undefined,
9128    touchesStart: {},
9129    touchesCurrent: {}
9130  };
9131  const velocity = {
9132    x: undefined,
9133    y: undefined,
9134    prevPositionX: undefined,
9135    prevPositionY: undefined,
9136    prevTime: undefined
9137  };
9138  let scale = 1;
9139  Object.defineProperty(swiper.zoom, 'scale', {
9140    get() {
9141      return scale;
9142    },
9143    set(value) {
9144      if (scale !== value) {
9145        const imageEl = gesture.imageEl;
9146        const slideEl = gesture.slideEl;
9147        emit('zoomChange', value, imageEl, slideEl);
9148      }
9149      scale = value;
9150    }
9151  });
9152  function getDistanceBetweenTouches() {
9153    if (evCache.length < 2) return 1;
9154    const x1 = evCache[0].pageX;
9155    const y1 = evCache[0].pageY;
9156    const x2 = evCache[1].pageX;
9157    const y2 = evCache[1].pageY;
9158    const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);
9159    return distance;
9160  }
9161  function getScaleOrigin() {
9162    if (evCache.length < 2) return {
9163      x: null,
9164      y: null
9165    };
9166    const box = gesture.imageEl.getBoundingClientRect();
9167    return [(evCache[0].pageX + (evCache[1].pageX - evCache[0].pageX) / 2 - box.x) / currentScale, (evCache[0].pageY + (evCache[1].pageY - evCache[0].pageY) / 2 - box.y) / currentScale];
9168  }
9169  function getSlideSelector() {
9170    return swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;
9171  }
9172  function eventWithinSlide(e) {
9173    const slideSelector = getSlideSelector();
9174    if (e.target.matches(slideSelector)) return true;
9175    if (swiper.slides.filter(slideEl => slideEl.contains(e.target)).length > 0) return true;
9176    return false;
9177  }
9178  function eventWithinZoomContainer(e) {
9179    const selector = `.${swiper.params.zoom.containerClass}`;
9180    if (e.target.matches(selector)) return true;
9181    if ([...swiper.el.querySelectorAll(selector)].filter(containerEl => containerEl.contains(e.target)).length > 0) return true;
9182    return false;
9183  }
9184
9185  // Events
9186  function onGestureStart(e) {
9187    if (e.pointerType === 'mouse') {
9188      evCache.splice(0, evCache.length);
9189    }
9190    if (!eventWithinSlide(e)) return;
9191    const params = swiper.params.zoom;
9192    fakeGestureTouched = false;
9193    fakeGestureMoved = false;
9194    evCache.push(e);
9195    if (evCache.length < 2) {
9196      return;
9197    }
9198    fakeGestureTouched = true;
9199    gesture.scaleStart = getDistanceBetweenTouches();
9200    if (!gesture.slideEl) {
9201      gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
9202      if (!gesture.slideEl) gesture.slideEl = swiper.slides[swiper.activeIndex];
9203      let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);
9204      if (imageEl) {
9205        imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];
9206      }
9207      gesture.imageEl = imageEl;
9208      if (imageEl) {
9209        gesture.imageWrapEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(gesture.imageEl, `.${params.containerClass}`)[0];
9210      } else {
9211        gesture.imageWrapEl = undefined;
9212      }
9213      if (!gesture.imageWrapEl) {
9214        gesture.imageEl = undefined;
9215        return;
9216      }
9217      gesture.maxRatio = gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;
9218    }
9219    if (gesture.imageEl) {
9220      const [originX, originY] = getScaleOrigin();
9221      gesture.originX = originX;
9222      gesture.originY = originY;
9223      gesture.imageEl.style.transitionDuration = '0ms';
9224    }
9225    isScaling = true;
9226  }
9227  function onGestureChange(e) {
9228    if (!eventWithinSlide(e)) return;
9229    const params = swiper.params.zoom;
9230    const zoom = swiper.zoom;
9231    const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);
9232    if (pointerIndex >= 0) evCache[pointerIndex] = e;
9233    if (evCache.length < 2) {
9234      return;
9235    }
9236    fakeGestureMoved = true;
9237    gesture.scaleMove = getDistanceBetweenTouches();
9238    if (!gesture.imageEl) {
9239      return;
9240    }
9241    zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale;
9242    if (zoom.scale > gesture.maxRatio) {
9243      zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;
9244    }
9245    if (zoom.scale < params.minRatio) {
9246      zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;
9247    }
9248    gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;
9249  }
9250  function onGestureEnd(e) {
9251    if (!eventWithinSlide(e)) return;
9252    if (e.pointerType === 'mouse' && e.type === 'pointerout') return;
9253    const params = swiper.params.zoom;
9254    const zoom = swiper.zoom;
9255    const pointerIndex = evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);
9256    if (pointerIndex >= 0) evCache.splice(pointerIndex, 1);
9257    if (!fakeGestureTouched || !fakeGestureMoved) {
9258      return;
9259    }
9260    fakeGestureTouched = false;
9261    fakeGestureMoved = false;
9262    if (!gesture.imageEl) return;
9263    zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);
9264    gesture.imageEl.style.transitionDuration = `${swiper.params.speed}ms`;
9265    gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;
9266    currentScale = zoom.scale;
9267    isScaling = false;
9268    if (zoom.scale > 1 && gesture.slideEl) {
9269      gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);
9270    } else if (zoom.scale <= 1 && gesture.slideEl) {
9271      gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);
9272    }
9273    if (zoom.scale === 1) {
9274      gesture.originX = 0;
9275      gesture.originY = 0;
9276      gesture.slideEl = undefined;
9277    }
9278  }
9279  function onTouchStart(e) {
9280    const device = swiper.device;
9281    if (!gesture.imageEl) return;
9282    if (image.isTouched) return;
9283    if (device.android && e.cancelable) e.preventDefault();
9284    image.isTouched = true;
9285    const event = evCache.length > 0 ? evCache[0] : e;
9286    image.touchesStart.x = event.pageX;
9287    image.touchesStart.y = event.pageY;
9288  }
9289  function onTouchMove(e) {
9290    if (!eventWithinSlide(e) || !eventWithinZoomContainer(e)) return;
9291    const zoom = swiper.zoom;
9292    if (!gesture.imageEl) return;
9293    if (!image.isTouched || !gesture.slideEl) return;
9294    if (!image.isMoved) {
9295      image.width = gesture.imageEl.offsetWidth;
9296      image.height = gesture.imageEl.offsetHeight;
9297      image.startX = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.getTranslate)(gesture.imageWrapEl, 'x') || 0;
9298      image.startY = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.getTranslate)(gesture.imageWrapEl, 'y') || 0;
9299      gesture.slideWidth = gesture.slideEl.offsetWidth;
9300      gesture.slideHeight = gesture.slideEl.offsetHeight;
9301      gesture.imageWrapEl.style.transitionDuration = '0ms';
9302    }
9303    // Define if we need image drag
9304    const scaledWidth = image.width * zoom.scale;
9305    const scaledHeight = image.height * zoom.scale;
9306    if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;
9307    image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
9308    image.maxX = -image.minX;
9309    image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
9310    image.maxY = -image.minY;
9311    image.touchesCurrent.x = evCache.length > 0 ? evCache[0].pageX : e.pageX;
9312    image.touchesCurrent.y = evCache.length > 0 ? evCache[0].pageY : e.pageY;
9313    const touchesDiff = Math.max(Math.abs(image.touchesCurrent.x - image.touchesStart.x), Math.abs(image.touchesCurrent.y - image.touchesStart.y));
9314    if (touchesDiff > 5) {
9315      swiper.allowClick = false;
9316    }
9317    if (!image.isMoved && !isScaling) {
9318      if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {
9319        image.isTouched = false;
9320        return;
9321      }
9322      if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {
9323        image.isTouched = false;
9324        return;
9325      }
9326    }
9327    if (e.cancelable) {
9328      e.preventDefault();
9329    }
9330    e.stopPropagation();
9331    image.isMoved = true;
9332    const scaleRatio = (zoom.scale - currentScale) / (gesture.maxRatio - swiper.params.zoom.minRatio);
9333    const {
9334      originX,
9335      originY
9336    } = gesture;
9337    image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX + scaleRatio * (image.width - originX * 2);
9338    image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY + scaleRatio * (image.height - originY * 2);
9339    if (image.currentX < image.minX) {
9340      image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;
9341    }
9342    if (image.currentX > image.maxX) {
9343      image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;
9344    }
9345    if (image.currentY < image.minY) {
9346      image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;
9347    }
9348    if (image.currentY > image.maxY) {
9349      image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;
9350    }
9351
9352    // Velocity
9353    if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;
9354    if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;
9355    if (!velocity.prevTime) velocity.prevTime = Date.now();
9356    velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;
9357    velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;
9358    if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;
9359    if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;
9360    velocity.prevPositionX = image.touchesCurrent.x;
9361    velocity.prevPositionY = image.touchesCurrent.y;
9362    velocity.prevTime = Date.now();
9363    gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;
9364  }
9365  function onTouchEnd() {
9366    const zoom = swiper.zoom;
9367    if (!gesture.imageEl) return;
9368    if (!image.isTouched || !image.isMoved) {
9369      image.isTouched = false;
9370      image.isMoved = false;
9371      return;
9372    }
9373    image.isTouched = false;
9374    image.isMoved = false;
9375    let momentumDurationX = 300;
9376    let momentumDurationY = 300;
9377    const momentumDistanceX = velocity.x * momentumDurationX;
9378    const newPositionX = image.currentX + momentumDistanceX;
9379    const momentumDistanceY = velocity.y * momentumDurationY;
9380    const newPositionY = image.currentY + momentumDistanceY;
9381
9382    // Fix duration
9383    if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);
9384    if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);
9385    const momentumDuration = Math.max(momentumDurationX, momentumDurationY);
9386    image.currentX = newPositionX;
9387    image.currentY = newPositionY;
9388    // Define if we need image drag
9389    const scaledWidth = image.width * zoom.scale;
9390    const scaledHeight = image.height * zoom.scale;
9391    image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
9392    image.maxX = -image.minX;
9393    image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
9394    image.maxY = -image.minY;
9395    image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);
9396    image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);
9397    gesture.imageWrapEl.style.transitionDuration = `${momentumDuration}ms`;
9398    gesture.imageWrapEl.style.transform = `translate3d(${image.currentX}px, ${image.currentY}px,0)`;
9399  }
9400  function onTransitionEnd() {
9401    const zoom = swiper.zoom;
9402    if (gesture.slideEl && swiper.activeIndex !== swiper.slides.indexOf(gesture.slideEl)) {
9403      if (gesture.imageEl) {
9404        gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';
9405      }
9406      if (gesture.imageWrapEl) {
9407        gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';
9408      }
9409      gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`);
9410      zoom.scale = 1;
9411      currentScale = 1;
9412      gesture.slideEl = undefined;
9413      gesture.imageEl = undefined;
9414      gesture.imageWrapEl = undefined;
9415      gesture.originX = 0;
9416      gesture.originY = 0;
9417    }
9418  }
9419  function zoomIn(e) {
9420    const zoom = swiper.zoom;
9421    const params = swiper.params.zoom;
9422    if (!gesture.slideEl) {
9423      if (e && e.target) {
9424        gesture.slideEl = e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);
9425      }
9426      if (!gesture.slideEl) {
9427        if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
9428          gesture.slideEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];
9429        } else {
9430          gesture.slideEl = swiper.slides[swiper.activeIndex];
9431        }
9432      }
9433      let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);
9434      if (imageEl) {
9435        imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];
9436      }
9437      gesture.imageEl = imageEl;
9438      if (imageEl) {
9439        gesture.imageWrapEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(gesture.imageEl, `.${params.containerClass}`)[0];
9440      } else {
9441        gesture.imageWrapEl = undefined;
9442      }
9443    }
9444    if (!gesture.imageEl || !gesture.imageWrapEl) return;
9445    if (swiper.params.cssMode) {
9446      swiper.wrapperEl.style.overflow = 'hidden';
9447      swiper.wrapperEl.style.touchAction = 'none';
9448    }
9449    gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);
9450    let touchX;
9451    let touchY;
9452    let offsetX;
9453    let offsetY;
9454    let diffX;
9455    let diffY;
9456    let translateX;
9457    let translateY;
9458    let imageWidth;
9459    let imageHeight;
9460    let scaledWidth;
9461    let scaledHeight;
9462    let translateMinX;
9463    let translateMinY;
9464    let translateMaxX;
9465    let translateMaxY;
9466    let slideWidth;
9467    let slideHeight;
9468    if (typeof image.touchesStart.x === 'undefined' && e) {
9469      touchX = e.pageX;
9470      touchY = e.pageY;
9471    } else {
9472      touchX = image.touchesStart.x;
9473      touchY = image.touchesStart.y;
9474    }
9475    const forceZoomRatio = typeof e === 'number' ? e : null;
9476    if (currentScale === 1 && forceZoomRatio) {
9477      touchX = undefined;
9478      touchY = undefined;
9479    }
9480    zoom.scale = forceZoomRatio || gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;
9481    currentScale = forceZoomRatio || gesture.imageWrapEl.getAttribute('data-swiper-zoom') || params.maxRatio;
9482    if (e && !(currentScale === 1 && forceZoomRatio)) {
9483      slideWidth = gesture.slideEl.offsetWidth;
9484      slideHeight = gesture.slideEl.offsetHeight;
9485      offsetX = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementOffset)(gesture.slideEl).left + window.scrollX;
9486      offsetY = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementOffset)(gesture.slideEl).top + window.scrollY;
9487      diffX = offsetX + slideWidth / 2 - touchX;
9488      diffY = offsetY + slideHeight / 2 - touchY;
9489      imageWidth = gesture.imageEl.offsetWidth;
9490      imageHeight = gesture.imageEl.offsetHeight;
9491      scaledWidth = imageWidth * zoom.scale;
9492      scaledHeight = imageHeight * zoom.scale;
9493      translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);
9494      translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);
9495      translateMaxX = -translateMinX;
9496      translateMaxY = -translateMinY;
9497      translateX = diffX * zoom.scale;
9498      translateY = diffY * zoom.scale;
9499      if (translateX < translateMinX) {
9500        translateX = translateMinX;
9501      }
9502      if (translateX > translateMaxX) {
9503        translateX = translateMaxX;
9504      }
9505      if (translateY < translateMinY) {
9506        translateY = translateMinY;
9507      }
9508      if (translateY > translateMaxY) {
9509        translateY = translateMaxY;
9510      }
9511    } else {
9512      translateX = 0;
9513      translateY = 0;
9514    }
9515    if (forceZoomRatio && zoom.scale === 1) {
9516      gesture.originX = 0;
9517      gesture.originY = 0;
9518    }
9519    gesture.imageWrapEl.style.transitionDuration = '300ms';
9520    gesture.imageWrapEl.style.transform = `translate3d(${translateX}px, ${translateY}px,0)`;
9521    gesture.imageEl.style.transitionDuration = '300ms';
9522    gesture.imageEl.style.transform = `translate3d(0,0,0) scale(${zoom.scale})`;
9523  }
9524  function zoomOut() {
9525    const zoom = swiper.zoom;
9526    const params = swiper.params.zoom;
9527    if (!gesture.slideEl) {
9528      if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
9529        gesture.slideEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementChildren)(swiper.slidesEl, `.${swiper.params.slideActiveClass}`)[0];
9530      } else {
9531        gesture.slideEl = swiper.slides[swiper.activeIndex];
9532      }
9533      let imageEl = gesture.slideEl.querySelector(`.${params.containerClass}`);
9534      if (imageEl) {
9535        imageEl = imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0];
9536      }
9537      gesture.imageEl = imageEl;
9538      if (imageEl) {
9539        gesture.imageWrapEl = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.elementParents)(gesture.imageEl, `.${params.containerClass}`)[0];
9540      } else {
9541        gesture.imageWrapEl = undefined;
9542      }
9543    }
9544    if (!gesture.imageEl || !gesture.imageWrapEl) return;
9545    if (swiper.params.cssMode) {
9546      swiper.wrapperEl.style.overflow = '';
9547      swiper.wrapperEl.style.touchAction = '';
9548    }
9549    zoom.scale = 1;
9550    currentScale = 1;
9551    gesture.imageWrapEl.style.transitionDuration = '300ms';
9552    gesture.imageWrapEl.style.transform = 'translate3d(0,0,0)';
9553    gesture.imageEl.style.transitionDuration = '300ms';
9554    gesture.imageEl.style.transform = 'translate3d(0,0,0) scale(1)';
9555    gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);
9556    gesture.slideEl = undefined;
9557    gesture.originX = 0;
9558    gesture.originY = 0;
9559  }
9560
9561  // Toggle Zoom
9562  function zoomToggle(e) {
9563    const zoom = swiper.zoom;
9564    if (zoom.scale && zoom.scale !== 1) {
9565      // Zoom Out
9566      zoomOut();
9567    } else {
9568      // Zoom In
9569      zoomIn(e);
9570    }
9571  }
9572  function getListeners() {
9573    const passiveListener = swiper.params.passiveListeners ? {
9574      passive: true,
9575      capture: false
9576    } : false;
9577    const activeListenerWithCapture = swiper.params.passiveListeners ? {
9578      passive: false,
9579      capture: true
9580    } : true;
9581    return {
9582      passiveListener,
9583      activeListenerWithCapture
9584    };
9585  }
9586
9587  // Attach/Detach Events
9588  function enable() {
9589    const zoom = swiper.zoom;
9590    if (zoom.enabled) return;
9591    zoom.enabled = true;
9592    const {
9593      passiveListener,
9594      activeListenerWithCapture
9595    } = getListeners();
9596
9597    // Scale image
9598    swiper.wrapperEl.addEventListener('pointerdown', onGestureStart, passiveListener);
9599    swiper.wrapperEl.addEventListener('pointermove', onGestureChange, activeListenerWithCapture);
9600    ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {
9601      swiper.wrapperEl.addEventListener(eventName, onGestureEnd, passiveListener);
9602    });
9603
9604    // Move image
9605    swiper.wrapperEl.addEventListener('pointermove', onTouchMove, activeListenerWithCapture);
9606  }
9607  function disable() {
9608    const zoom = swiper.zoom;
9609    if (!zoom.enabled) return;
9610    zoom.enabled = false;
9611    const {
9612      passiveListener,
9613      activeListenerWithCapture
9614    } = getListeners();
9615
9616    // Scale image
9617    swiper.wrapperEl.removeEventListener('pointerdown', onGestureStart, passiveListener);
9618    swiper.wrapperEl.removeEventListener('pointermove', onGestureChange, activeListenerWithCapture);
9619    ['pointerup', 'pointercancel', 'pointerout'].forEach(eventName => {
9620      swiper.wrapperEl.removeEventListener(eventName, onGestureEnd, passiveListener);
9621    });
9622
9623    // Move image
9624    swiper.wrapperEl.removeEventListener('pointermove', onTouchMove, activeListenerWithCapture);
9625  }
9626  on('init', () => {
9627    if (swiper.params.zoom.enabled) {
9628      enable();
9629    }
9630  });
9631  on('destroy', () => {
9632    disable();
9633  });
9634  on('touchStart', (_s, e) => {
9635    if (!swiper.zoom.enabled) return;
9636    onTouchStart(e);
9637  });
9638  on('touchEnd', (_s, e) => {
9639    if (!swiper.zoom.enabled) return;
9640    onTouchEnd(e);
9641  });
9642  on('doubleTap', (_s, e) => {
9643    if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {
9644      zoomToggle(e);
9645    }
9646  });
9647  on('transitionEnd', () => {
9648    if (swiper.zoom.enabled && swiper.params.zoom.enabled) {
9649      onTransitionEnd();
9650    }
9651  });
9652  on('slideChange', () => {
9653    if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {
9654      onTransitionEnd();
9655    }
9656  });
9657  Object.assign(swiper.zoom, {
9658    enable,
9659    disable,
9660    in: zoomIn,
9661    out: zoomOut,
9662    toggle: zoomToggle
9663  });
9664}
9665
9666/***/ }),
9667
vendor: 742 bytes, lines 9668-9684
9668/***/ "./node_modules/swiper/shared/classes-to-selector.js":
9669/*!***********************************************************!*\
9670  !*** ./node_modules/swiper/shared/classes-to-selector.js ***!
9671  \***********************************************************/
9672/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9673
9674__webpack_require__.r(__webpack_exports__);
9675/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9676/* harmony export */   "default": function() { return /* binding */ classesToSelector; }
9677/* harmony export */ });
9678function classesToSelector(classes = '') {
9679  return `.${classes.trim().replace(/([\.:!+\/])/g, '\\$1') // eslint-disable-line
9680  .replace(/ /g, '.')}`;
9681}
9682
9683/***/ }),
9684
vendor: 1,446 bytes, lines 9685-9716
9685/***/ "./node_modules/swiper/shared/create-element-if-not-defined.js":
9686/*!*********************************************************************!*\
9687  !*** ./node_modules/swiper/shared/create-element-if-not-defined.js ***!
9688  \*********************************************************************/
9689/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9690
9691__webpack_require__.r(__webpack_exports__);
9692/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9693/* harmony export */   "default": function() { return /* binding */ createElementIfNotDefined; }
9694/* harmony export */ });
9695/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "./node_modules/swiper/shared/utils.js");
9696
9697function createElementIfNotDefined(swiper, originalParams, params, checkProps) {
9698  if (swiper.params.createElements) {
9699    Object.keys(checkProps).forEach(key => {
9700      if (!params[key] && params.auto === true) {
9701        let element = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementChildren)(swiper.el, `.${checkProps[key]}`)[0];
9702        if (!element) {
9703          element = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', checkProps[key]);
9704          element.className = checkProps[key];
9705          swiper.el.append(element);
9706        }
9707        params[key] = element;
9708        originalParams[key] = element;
9709      }
9710    });
9711  }
9712  return params;
9713}
9714
9715/***/ }),
9716
vendor: 1,200 bytes, lines 9717-9741
9717/***/ "./node_modules/swiper/shared/create-shadow.js":
9718/*!*****************************************************!*\
9719  !*** ./node_modules/swiper/shared/create-shadow.js ***!
9720  \*****************************************************/
9721/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9722
9723__webpack_require__.r(__webpack_exports__);
9724/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9725/* harmony export */   "default": function() { return /* binding */ createShadow; }
9726/* harmony export */ });
9727/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "./node_modules/swiper/shared/utils.js");
9728
9729function createShadow(params, slideEl, side) {
9730  const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}`;
9731  const shadowContainer = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getSlideTransformEl)(slideEl);
9732  let shadowEl = shadowContainer.querySelector(`.${shadowClass}`);
9733  if (!shadowEl) {
9734    shadowEl = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.createElement)('div', `swiper-slide-shadow${side ? `-${side}` : ''}`);
9735    shadowContainer.append(shadowEl);
9736  }
9737  return shadowEl;
9738}
9739
9740/***/ }),
9741
vendor: 2,345 bytes, lines 9742-9810
9742/***/ "./node_modules/swiper/shared/effect-init.js":
9743/*!***************************************************!*\
9744  !*** ./node_modules/swiper/shared/effect-init.js ***!
9745  \***************************************************/
9746/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9747
9748__webpack_require__.r(__webpack_exports__);
9749/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9750/* harmony export */   "default": function() { return /* binding */ effectInit; }
9751/* harmony export */ });
9752function effectInit(params) {
9753  const {
9754    effect,
9755    swiper,
9756    on,
9757    setTranslate,
9758    setTransition,
9759    overwriteParams,
9760    perspective,
9761    recreateShadows,
9762    getEffectParams
9763  } = params;
9764  on('beforeInit', () => {
9765    if (swiper.params.effect !== effect) return;
9766    swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);
9767    if (perspective && perspective()) {
9768      swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);
9769    }
9770    const overwriteParamsResult = overwriteParams ? overwriteParams() : {};
9771    Object.assign(swiper.params, overwriteParamsResult);
9772    Object.assign(swiper.originalParams, overwriteParamsResult);
9773  });
9774  on('setTranslate', () => {
9775    if (swiper.params.effect !== effect) return;
9776    setTranslate();
9777  });
9778  on('setTransition', (_s, duration) => {
9779    if (swiper.params.effect !== effect) return;
9780    setTransition(duration);
9781  });
9782  on('transitionEnd', () => {
9783    if (swiper.params.effect !== effect) return;
9784    if (recreateShadows) {
9785      if (!getEffectParams || !getEffectParams().slideShadows) return;
9786      // remove shadows
9787      swiper.slides.forEach(slideEl => {
9788        slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl => shadowEl.remove());
9789      });
9790      // create new one
9791      recreateShadows();
9792    }
9793  });
9794  let requireUpdateOnVirtual;
9795  on('virtualUpdate', () => {
9796    if (swiper.params.effect !== effect) return;
9797    if (!swiper.slides.length) {
9798      requireUpdateOnVirtual = true;
9799    }
9800    requestAnimationFrame(() => {
9801      if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {
9802        setTranslate();
9803        requireUpdateOnVirtual = false;
9804      }
9805    });
9806  });
9807}
9808
9809/***/ }),
9810
vendor: 1,028 bytes, lines 9811-9833
9811/***/ "./node_modules/swiper/shared/effect-target.js":
9812/*!*****************************************************!*\
9813  !*** ./node_modules/swiper/shared/effect-target.js ***!
9814  \*****************************************************/
9815/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9816
9817__webpack_require__.r(__webpack_exports__);
9818/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9819/* harmony export */   "default": function() { return /* binding */ effectTarget; }
9820/* harmony export */ });
9821/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "./node_modules/swiper/shared/utils.js");
9822
9823function effectTarget(effectParams, slideEl) {
9824  const transformEl = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getSlideTransformEl)(slideEl);
9825  if (transformEl !== slideEl) {
9826    transformEl.style.backfaceVisibility = 'hidden';
9827    transformEl.style['-webkit-backface-visibility'] = 'hidden';
9828  }
9829  return transformEl;
9830}
9831
9832/***/ }),
9833
vendor: 2,104 bytes, lines 9834-9891
9834/***/ "./node_modules/swiper/shared/effect-virtual-transition-end.js":
9835/*!*********************************************************************!*\
9836  !*** ./node_modules/swiper/shared/effect-virtual-transition-end.js ***!
9837  \*********************************************************************/
9838/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9839
9840__webpack_require__.r(__webpack_exports__);
9841/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9842/* harmony export */   "default": function() { return /* binding */ effectVirtualTransitionEnd; }
9843/* harmony export */ });
9844/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ "./node_modules/swiper/shared/utils.js");
9845
9846function effectVirtualTransitionEnd({
9847  swiper,
9848  duration,
9849  transformElements,
9850  allSlides
9851}) {
9852  const {
9853    activeIndex
9854  } = swiper;
9855  const getSlide = el => {
9856    if (!el.parentElement) {
9857      // assume shadow root
9858      const slide = swiper.slides.filter(slideEl => slideEl.shadowEl && slideEl.shadowEl === el.parentNode)[0];
9859      return slide;
9860    }
9861    return el.parentElement;
9862  };
9863  if (swiper.params.virtualTranslate && duration !== 0) {
9864    let eventTriggered = false;
9865    let transitionEndTarget;
9866    if (allSlides) {
9867      transitionEndTarget = transformElements;
9868    } else {
9869      transitionEndTarget = transformElements.filter(transformEl => {
9870        const el = transformEl.classList.contains('swiper-slide-transform') ? getSlide(transformEl) : transformEl;
9871        return swiper.getSlideIndex(el) === activeIndex;
9872      });
9873    }
9874    transitionEndTarget.forEach(el => {
9875      (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.elementTransitionEnd)(el, () => {
9876        if (eventTriggered) return;
9877        if (!swiper || swiper.destroyed) return;
9878        eventTriggered = true;
9879        swiper.animating = false;
9880        const evt = new window.CustomEvent('transitionend', {
9881          bubbles: true,
9882          cancelable: true
9883        });
9884        swiper.wrapperEl.dispatchEvent(evt);
9885      });
9886    });
9887  }
9888}
9889
9890/***/ }),
9891
vendor: 1,601 bytes, lines 9892-9934
9892/***/ "./node_modules/swiper/shared/get-browser.js":
9893/*!***************************************************!*\
9894  !*** ./node_modules/swiper/shared/get-browser.js ***!
9895  \***************************************************/
9896/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9897
9898__webpack_require__.r(__webpack_exports__);
9899/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9900/* harmony export */   "getBrowser": function() { return /* binding */ getBrowser; }
9901/* harmony export */ });
9902/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
9903
9904let browser;
9905function calcBrowser() {
9906  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
9907  let needPerspectiveFix = false;
9908  function isSafari() {
9909    const ua = window.navigator.userAgent.toLowerCase();
9910    return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;
9911  }
9912  if (isSafari()) {
9913    const ua = String(window.navigator.userAgent);
9914    if (ua.includes('Version/')) {
9915      const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));
9916      needPerspectiveFix = major < 16 || major === 16 && minor < 2;
9917    }
9918  }
9919  return {
9920    isSafari: needPerspectiveFix || isSafari(),
9921    needPerspectiveFix,
9922    isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)
9923  };
9924}
9925function getBrowser() {
9926  if (!browser) {
9927    browser = calcBrowser();
9928  }
9929  return browser;
9930}
9931
9932
9933/***/ }),
9934
vendor: 2,410 bytes, lines 9935-10000
9935/***/ "./node_modules/swiper/shared/get-device.js":
9936/*!**************************************************!*\
9937  !*** ./node_modules/swiper/shared/get-device.js ***!
9938  \**************************************************/
9939/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9940
9941__webpack_require__.r(__webpack_exports__);
9942/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9943/* harmony export */   "getDevice": function() { return /* binding */ getDevice; }
9944/* harmony export */ });
9945/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
9946/* harmony import */ var _get_support_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-support.js */ "./node_modules/swiper/shared/get-support.js");
9947
9948
9949let deviceCached;
9950function calcDevice({
9951  userAgent
9952} = {}) {
9953  const support = (0,_get_support_js__WEBPACK_IMPORTED_MODULE_1__.getSupport)();
9954  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
9955  const platform = window.navigator.platform;
9956  const ua = userAgent || window.navigator.userAgent;
9957  const device = {
9958    ios: false,
9959    android: false
9960  };
9961  const screenWidth = window.screen.width;
9962  const screenHeight = window.screen.height;
9963  const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line
9964  let ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
9965  const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
9966  const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
9967  const windows = platform === 'Win32';
9968  let macos = platform === 'MacIntel';
9969
9970  // iPadOs 13 fix
9971  const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];
9972  if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {
9973    ipad = ua.match(/(Version)\/([\d.]+)/);
9974    if (!ipad) ipad = [0, 1, '13_0_0'];
9975    macos = false;
9976  }
9977
9978  // Android
9979  if (android && !windows) {
9980    device.os = 'android';
9981    device.android = true;
9982  }
9983  if (ipad || iphone || ipod) {
9984    device.os = 'ios';
9985    device.ios = true;
9986  }
9987
9988  // Export object
9989  return device;
9990}
9991function getDevice(overrides = {}) {
9992  if (!deviceCached) {
9993    deviceCached = calcDevice(overrides);
9994  }
9995  return deviceCached;
9996}
9997
9998
9999/***/ }),
10000
vendor: 1,251 bytes, lines 10001-10031
10001/***/ "./node_modules/swiper/shared/get-support.js":
10002/*!***************************************************!*\
10003  !*** ./node_modules/swiper/shared/get-support.js ***!
10004  \***************************************************/
10005/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10006
10007__webpack_require__.r(__webpack_exports__);
10008/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10009/* harmony export */   "getSupport": function() { return /* binding */ getSupport; }
10010/* harmony export */ });
10011/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
10012
10013let support;
10014function calcSupport() {
10015  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10016  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
10017  return {
10018    smoothScroll: document.documentElement && document.documentElement.style && 'scrollBehavior' in document.documentElement.style,
10019    touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)
10020  };
10021}
10022function getSupport() {
10023  if (!support) {
10024    support = calcSupport();
10025  }
10026  return support;
10027}
10028
10029
10030/***/ }),
10031
vendor: 2,291 bytes, lines 10032-10079
10032/***/ "./node_modules/swiper/shared/process-lazy-preloader.js":
10033/*!**************************************************************!*\
10034  !*** ./node_modules/swiper/shared/process-lazy-preloader.js ***!
10035  \**************************************************************/
10036/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10037
10038__webpack_require__.r(__webpack_exports__);
10039/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10040/* harmony export */   "preload": function() { return /* binding */ preload; },
10041/* harmony export */   "processLazyPreloader": function() { return /* binding */ processLazyPreloader; }
10042/* harmony export */ });
10043const processLazyPreloader = (swiper, imageEl) => {
10044  if (!swiper || swiper.destroyed || !swiper.params) return;
10045  const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;
10046  const slideEl = imageEl.closest(slideSelector());
10047  if (slideEl) {
10048    const lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);
10049    if (lazyEl) lazyEl.remove();
10050  }
10051};
10052const unlazy = (swiper, index) => {
10053  if (!swiper.slides[index]) return;
10054  const imageEl = swiper.slides[index].querySelector('[loading="lazy"]');
10055  if (imageEl) imageEl.removeAttribute('loading');
10056};
10057const preload = swiper => {
10058  if (!swiper || swiper.destroyed || !swiper.params) return;
10059  let amount = swiper.params.lazyPreloadPrevNext;
10060  const len = swiper.slides.length;
10061  if (!len || !amount || amount < 0) return;
10062  amount = Math.min(amount, len);
10063  const slidesPerView = swiper.params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(swiper.params.slidesPerView);
10064  const activeIndex = swiper.activeIndex;
10065  const slideIndexLastInView = activeIndex + slidesPerView - 1;
10066  if (swiper.params.rewind) {
10067    for (let i = activeIndex - amount; i <= slideIndexLastInView + amount; i += 1) {
10068      const realIndex = (i % len + len) % len;
10069      if (realIndex !== activeIndex && realIndex > slideIndexLastInView) unlazy(swiper, realIndex);
10070    }
10071  } else {
10072    for (let i = Math.max(slideIndexLastInView - amount, 0); i <= Math.min(slideIndexLastInView + amount, len - 1); i += 1) {
10073      if (i !== activeIndex && i > slideIndexLastInView) unlazy(swiper, i);
10074    }
10075  }
10076};
10077
10078/***/ }),
10079
vendor: 11,684 bytes, lines 10080-10379
10080/***/ "./node_modules/swiper/shared/utils.js":
10081/*!*********************************************!*\
10082  !*** ./node_modules/swiper/shared/utils.js ***!
10083  \*********************************************/
10084/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10085
10086__webpack_require__.r(__webpack_exports__);
10087/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10088/* harmony export */   "animateCSSModeScroll": function() { return /* binding */ animateCSSModeScroll; },
10089/* harmony export */   "createElement": function() { return /* binding */ createElement; },
10090/* harmony export */   "deleteProps": function() { return /* binding */ deleteProps; },
10091/* harmony export */   "elementChildren": function() { return /* binding */ elementChildren; },
10092/* harmony export */   "elementIndex": function() { return /* binding */ elementIndex; },
10093/* harmony export */   "elementNextAll": function() { return /* binding */ elementNextAll; },
10094/* harmony export */   "elementOffset": function() { return /* binding */ elementOffset; },
10095/* harmony export */   "elementOuterSize": function() { return /* binding */ elementOuterSize; },
10096/* harmony export */   "elementParents": function() { return /* binding */ elementParents; },
10097/* harmony export */   "elementPrevAll": function() { return /* binding */ elementPrevAll; },
10098/* harmony export */   "elementStyle": function() { return /* binding */ elementStyle; },
10099/* harmony export */   "elementTransitionEnd": function() { return /* binding */ elementTransitionEnd; },
10100/* harmony export */   "extend": function() { return /* binding */ extend; },
10101/* harmony export */   "findElementsInElements": function() { return /* binding */ findElementsInElements; },
10102/* harmony export */   "getComputedStyle": function() { return /* binding */ getComputedStyle; },
10103/* harmony export */   "getSlideTransformEl": function() { return /* binding */ getSlideTransformEl; },
10104/* harmony export */   "getTranslate": function() { return /* binding */ getTranslate; },
10105/* harmony export */   "isObject": function() { return /* binding */ isObject; },
10106/* harmony export */   "nextTick": function() { return /* binding */ nextTick; },
10107/* harmony export */   "now": function() { return /* binding */ now; },
10108/* harmony export */   "setCSSProperty": function() { return /* binding */ setCSSProperty; }
10109/* harmony export */ });
10110/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
10111
10112function deleteProps(obj) {
10113  const object = obj;
10114  Object.keys(object).forEach(key => {
10115    try {
10116      object[key] = null;
10117    } catch (e) {
10118      // no getter for object
10119    }
10120    try {
10121      delete object[key];
10122    } catch (e) {
10123      // something got wrong
10124    }
10125  });
10126}
10127function nextTick(callback, delay = 0) {
10128  return setTimeout(callback, delay);
10129}
10130function now() {
10131  return Date.now();
10132}
10133function getComputedStyle(el) {
10134  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10135  let style;
10136  if (window.getComputedStyle) {
10137    style = window.getComputedStyle(el, null);
10138  }
10139  if (!style && el.currentStyle) {
10140    style = el.currentStyle;
10141  }
10142  if (!style) {
10143    style = el.style;
10144  }
10145  return style;
10146}
10147function getTranslate(el, axis = 'x') {
10148  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10149  let matrix;
10150  let curTransform;
10151  let transformMatrix;
10152  const curStyle = getComputedStyle(el, null);
10153  if (window.WebKitCSSMatrix) {
10154    curTransform = curStyle.transform || curStyle.webkitTransform;
10155    if (curTransform.split(',').length > 6) {
10156      curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');
10157    }
10158    // Some old versions of Webkit choke when 'none' is passed; pass
10159    // empty string instead in this case
10160    transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);
10161  } else {
10162    transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');
10163    matrix = transformMatrix.toString().split(',');
10164  }
10165  if (axis === 'x') {
10166    // Latest Chrome and webkits Fix
10167    if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;
10168    // Crazy IE10 Matrix
10169    else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);
10170    // Normal Browsers
10171    else curTransform = parseFloat(matrix[4]);
10172  }
10173  if (axis === 'y') {
10174    // Latest Chrome and webkits Fix
10175    if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;
10176    // Crazy IE10 Matrix
10177    else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);
10178    // Normal Browsers
10179    else curTransform = parseFloat(matrix[5]);
10180  }
10181  return curTransform || 0;
10182}
10183function isObject(o) {
10184  return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';
10185}
10186function isNode(node) {
10187  // eslint-disable-next-line
10188  if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {
10189    return node instanceof HTMLElement;
10190  }
10191  return node && (node.nodeType === 1 || node.nodeType === 11);
10192}
10193function extend(...args) {
10194  const to = Object(args[0]);
10195  const noExtend = ['__proto__', 'constructor', 'prototype'];
10196  for (let i = 1; i < args.length; i += 1) {
10197    const nextSource = args[i];
10198    if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {
10199      const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);
10200      for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {
10201        const nextKey = keysArray[nextIndex];
10202        const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
10203        if (desc !== undefined && desc.enumerable) {
10204          if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {
10205            if (nextSource[nextKey].__swiper__) {
10206              to[nextKey] = nextSource[nextKey];
10207            } else {
10208              extend(to[nextKey], nextSource[nextKey]);
10209            }
10210          } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {
10211            to[nextKey] = {};
10212            if (nextSource[nextKey].__swiper__) {
10213              to[nextKey] = nextSource[nextKey];
10214            } else {
10215              extend(to[nextKey], nextSource[nextKey]);
10216            }
10217          } else {
10218            to[nextKey] = nextSource[nextKey];
10219          }
10220        }
10221      }
10222    }
10223  }
10224  return to;
10225}
10226function setCSSProperty(el, varName, varValue) {
10227  el.style.setProperty(varName, varValue);
10228}
10229function animateCSSModeScroll({
10230  swiper,
10231  targetPosition,
10232  side
10233}) {
10234  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10235  const startPosition = -swiper.translate;
10236  let startTime = null;
10237  let time;
10238  const duration = swiper.params.speed;
10239  swiper.wrapperEl.style.scrollSnapType = 'none';
10240  window.cancelAnimationFrame(swiper.cssModeFrameID);
10241  const dir = targetPosition > startPosition ? 'next' : 'prev';
10242  const isOutOfBound = (current, target) => {
10243    return dir === 'next' && current >= target || dir === 'prev' && current <= target;
10244  };
10245  const animate = () => {
10246    time = new Date().getTime();
10247    if (startTime === null) {
10248      startTime = time;
10249    }
10250    const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);
10251    const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;
10252    let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);
10253    if (isOutOfBound(currentPosition, targetPosition)) {
10254      currentPosition = targetPosition;
10255    }
10256    swiper.wrapperEl.scrollTo({
10257      [side]: currentPosition
10258    });
10259    if (isOutOfBound(currentPosition, targetPosition)) {
10260      swiper.wrapperEl.style.overflow = 'hidden';
10261      swiper.wrapperEl.style.scrollSnapType = '';
10262      setTimeout(() => {
10263        swiper.wrapperEl.style.overflow = '';
10264        swiper.wrapperEl.scrollTo({
10265          [side]: currentPosition
10266        });
10267      });
10268      window.cancelAnimationFrame(swiper.cssModeFrameID);
10269      return;
10270    }
10271    swiper.cssModeFrameID = window.requestAnimationFrame(animate);
10272  };
10273  animate();
10274}
10275function getSlideTransformEl(slideEl) {
10276  return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowEl && slideEl.shadowEl.querySelector('.swiper-slide-transform') || slideEl;
10277}
10278function findElementsInElements(elements = [], selector = '') {
10279  const found = [];
10280  elements.forEach(el => {
10281    found.push(...el.querySelectorAll(selector));
10282  });
10283  return found;
10284}
10285function elementChildren(element, selector = '') {
10286  return [...element.children].filter(el => el.matches(selector));
10287}
10288function createElement(tag, classes = []) {
10289  const el = document.createElement(tag);
10290  el.classList.add(...(Array.isArray(classes) ? classes : [classes]));
10291  return el;
10292}
10293function elementOffset(el) {
10294  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10295  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
10296  const box = el.getBoundingClientRect();
10297  const body = document.body;
10298  const clientTop = el.clientTop || body.clientTop || 0;
10299  const clientLeft = el.clientLeft || body.clientLeft || 0;
10300  const scrollTop = el === window ? window.scrollY : el.scrollTop;
10301  const scrollLeft = el === window ? window.scrollX : el.scrollLeft;
10302  return {
10303    top: box.top + scrollTop - clientTop,
10304    left: box.left + scrollLeft - clientLeft
10305  };
10306}
10307function elementPrevAll(el, selector) {
10308  const prevEls = [];
10309  while (el.previousElementSibling) {
10310    const prev = el.previousElementSibling; // eslint-disable-line
10311    if (selector) {
10312      if (prev.matches(selector)) prevEls.push(prev);
10313    } else prevEls.push(prev);
10314    el = prev;
10315  }
10316  return prevEls;
10317}
10318function elementNextAll(el, selector) {
10319  const nextEls = [];
10320  while (el.nextElementSibling) {
10321    const next = el.nextElementSibling; // eslint-disable-line
10322    if (selector) {
10323      if (next.matches(selector)) nextEls.push(next);
10324    } else nextEls.push(next);
10325    el = next;
10326  }
10327  return nextEls;
10328}
10329function elementStyle(el, prop) {
10330  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10331  return window.getComputedStyle(el, null).getPropertyValue(prop);
10332}
10333function elementIndex(el) {
10334  let child = el;
10335  let i;
10336  if (child) {
10337    i = 0;
10338    // eslint-disable-next-line
10339    while ((child = child.previousSibling) !== null) {
10340      if (child.nodeType === 1) i += 1;
10341    }
10342    return i;
10343  }
10344  return undefined;
10345}
10346function elementParents(el, selector) {
10347  const parents = []; // eslint-disable-line
10348  let parent = el.parentElement; // eslint-disable-line
10349  while (parent) {
10350    if (selector) {
10351      if (parent.matches(selector)) parents.push(parent);
10352    } else {
10353      parents.push(parent);
10354    }
10355    parent = parent.parentElement;
10356  }
10357  return parents;
10358}
10359function elementTransitionEnd(el, callback) {
10360  function fireCallBack(e) {
10361    if (e.target !== el) return;
10362    callback.call(el, e);
10363    el.removeEventListener('transitionend', fireCallBack);
10364  }
10365  if (callback) {
10366    el.addEventListener('transitionend', fireCallBack);
10367  }
10368}
10369function elementOuterSize(el, size, includeMargins) {
10370  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
10371  if (includeMargins) {
10372    return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom'));
10373  }
10374  return el.offsetWidth;
10375}
10376
10377
10378/***/ }),
10379
vendor: 9,443 bytes, lines 10380-10475
10380/***/ "./node_modules/swiper/swiper.esm.js":
10381/*!*******************************************!*\
10382  !*** ./node_modules/swiper/swiper.esm.js ***!
10383  \*******************************************/
10384/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
10385
10386__webpack_require__.r(__webpack_exports__);
10387/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10388/* harmony export */   "A11y": function() { return /* reexport safe */ _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_10__["default"]; },
10389/* harmony export */   "Autoplay": function() { return /* reexport safe */ _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_13__["default"]; },
10390/* harmony export */   "Controller": function() { return /* reexport safe */ _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_9__["default"]; },
10391/* harmony export */   "EffectCards": function() { return /* reexport safe */ _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_23__["default"]; },
10392/* harmony export */   "EffectCoverflow": function() { return /* reexport safe */ _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_21__["default"]; },
10393/* harmony export */   "EffectCreative": function() { return /* reexport safe */ _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_22__["default"]; },
10394/* harmony export */   "EffectCube": function() { return /* reexport safe */ _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_19__["default"]; },
10395/* harmony export */   "EffectFade": function() { return /* reexport safe */ _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_18__["default"]; },
10396/* harmony export */   "EffectFlip": function() { return /* reexport safe */ _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_20__["default"]; },
10397/* harmony export */   "FreeMode": function() { return /* reexport safe */ _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_15__["default"]; },
10398/* harmony export */   "Grid": function() { return /* reexport safe */ _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_16__["default"]; },
10399/* harmony export */   "HashNavigation": function() { return /* reexport safe */ _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_12__["default"]; },
10400/* harmony export */   "History": function() { return /* reexport safe */ _modules_history_history_js__WEBPACK_IMPORTED_MODULE_11__["default"]; },
10401/* harmony export */   "Keyboard": function() { return /* reexport safe */ _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__["default"]; },
10402/* harmony export */   "Manipulation": function() { return /* reexport safe */ _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_17__["default"]; },
10403/* harmony export */   "Mousewheel": function() { return /* reexport safe */ _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__["default"]; },
10404/* harmony export */   "Navigation": function() { return /* reexport safe */ _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__["default"]; },
10405/* harmony export */   "Pagination": function() { return /* reexport safe */ _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__["default"]; },
10406/* harmony export */   "Parallax": function() { return /* reexport safe */ _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__["default"]; },
10407/* harmony export */   "Scrollbar": function() { return /* reexport safe */ _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__["default"]; },
10408/* harmony export */   "Swiper": function() { return /* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__["default"]; },
10409/* harmony export */   "Thumbs": function() { return /* reexport safe */ _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_14__["default"]; },
10410/* harmony export */   "Virtual": function() { return /* reexport safe */ _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__["default"]; },
10411/* harmony export */   "Zoom": function() { return /* reexport safe */ _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__["default"]; },
10412/* harmony export */   "default": function() { return /* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__["default"]; }
10413/* harmony export */ });
10414/* harmony import */ var _core_core_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/core.js */ "./node_modules/swiper/core/core.js");
10415/* harmony import */ var _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/virtual/virtual.js */ "./node_modules/swiper/modules/virtual/virtual.js");
10416/* harmony import */ var _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/keyboard/keyboard.js */ "./node_modules/swiper/modules/keyboard/keyboard.js");
10417/* harmony import */ var _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/mousewheel/mousewheel.js */ "./node_modules/swiper/modules/mousewheel/mousewheel.js");
10418/* harmony import */ var _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/navigation/navigation.js */ "./node_modules/swiper/modules/navigation/navigation.js");
10419/* harmony import */ var _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/pagination/pagination.js */ "./node_modules/swiper/modules/pagination/pagination.js");
10420/* harmony import */ var _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/scrollbar/scrollbar.js */ "./node_modules/swiper/modules/scrollbar/scrollbar.js");
10421/* harmony import */ var _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/parallax/parallax.js */ "./node_modules/swiper/modules/parallax/parallax.js");
10422/* harmony import */ var _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/zoom/zoom.js */ "./node_modules/swiper/modules/zoom/zoom.js");
10423/* harmony import */ var _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/controller/controller.js */ "./node_modules/swiper/modules/controller/controller.js");
10424/* harmony import */ var _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/a11y/a11y.js */ "./node_modules/swiper/modules/a11y/a11y.js");
10425/* harmony import */ var _modules_history_history_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/history/history.js */ "./node_modules/swiper/modules/history/history.js");
10426/* harmony import */ var _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/hash-navigation/hash-navigation.js */ "./node_modules/swiper/modules/hash-navigation/hash-navigation.js");
10427/* harmony import */ var _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./modules/autoplay/autoplay.js */ "./node_modules/swiper/modules/autoplay/autoplay.js");
10428/* harmony import */ var _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modules/thumbs/thumbs.js */ "./node_modules/swiper/modules/thumbs/thumbs.js");
10429/* harmony import */ var _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modules/free-mode/free-mode.js */ "./node_modules/swiper/modules/free-mode/free-mode.js");
10430/* harmony import */ var _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./modules/grid/grid.js */ "./node_modules/swiper/modules/grid/grid.js");
10431/* harmony import */ var _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./modules/manipulation/manipulation.js */ "./node_modules/swiper/modules/manipulation/manipulation.js");
10432/* harmony import */ var _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./modules/effect-fade/effect-fade.js */ "./node_modules/swiper/modules/effect-fade/effect-fade.js");
10433/* harmony import */ var _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./modules/effect-cube/effect-cube.js */ "./node_modules/swiper/modules/effect-cube/effect-cube.js");
10434/* harmony import */ var _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./modules/effect-flip/effect-flip.js */ "./node_modules/swiper/modules/effect-flip/effect-flip.js");
10435/* harmony import */ var _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./modules/effect-coverflow/effect-coverflow.js */ "./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js");
10436/* harmony import */ var _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./modules/effect-creative/effect-creative.js */ "./node_modules/swiper/modules/effect-creative/effect-creative.js");
10437/* harmony import */ var _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./modules/effect-cards/effect-cards.js */ "./node_modules/swiper/modules/effect-cards/effect-cards.js");
10438/**
10439 * Swiper 9.3.2
10440 * Most modern mobile touch slider and framework with hardware accelerated transitions
10441 * https://swiperjs.com
10442 *
10443 * Copyright 2014-2023 Vladimir Kharlampidi
10444 *
10445 * Released under the MIT License
10446 *
10447 * Released on: May 15, 2023
10448 */
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475/***/ })
10475
10476
10477/******/ 	});
10478/************************************************************************/
10479/******/ 	// The module cache
10480/******/ 	var __webpack_module_cache__ = {};
10481/******/ 	
10482/******/ 	// The require function
10483/******/ 	function __webpack_require__(moduleId) {
10484/******/ 		// Check if module is in cache
10485/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
10486/******/ 		if (cachedModule !== undefined) {
10487/******/ 			return cachedModule.exports;
10488/******/ 		}
10489/******/ 		// Create a new module (and put it into the cache)
10490/******/ 		var module = __webpack_module_cache__[moduleId] = {
10491/******/ 			// no module.id needed
10492/******/ 			// no module.loaded needed
10493/******/ 			exports: {}
10494/******/ 		};
10495/******/ 	
10496/******/ 		// Execute the module function
10497/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
10498/******/ 	
10499/******/ 		// Return the exports of the module
10500/******/ 		return module.exports;
10501/******/ 	}
10502/******/ 	
10503/************************************************************************/
10504/******/ 	/* webpack/runtime/define property getters */
10505/******/ 	!function() {
10506/******/ 		// define getter functions for harmony exports
10507/******/ 		__webpack_require__.d = function(exports, definition) {
10508/******/ 			for(var key in definition) {
10509/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
10510/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
10511/******/ 				}
10512/******/ 			}
10513/******/ 		};
10514/******/ 	}();
10515/******/ 	
10516/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
10517/******/ 	!function() {
10518/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
10519/******/ 	}();
10520/******/ 	
10521/******/ 	/* webpack/runtime/make namespace object */
10522/******/ 	!function() {
10523/******/ 		// define __esModule on exports
10524/******/ 		__webpack_require__.r = function(exports) {
10525/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
10526/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
10527/******/ 			}
10528/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
10529/******/ 		};
10530/******/ 	}();
10531/******/ 	
10532/************************************************************************/
10533var __webpack_exports__ = {};
10534// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
10535!function() {
10536/*!***********************************************************************************!*\
10537  !*** ./cartridges/app_purina_core/cartridge/client/default/js/productCarousel.js ***!
10538  \***********************************************************************************/
10539__webpack_require__.r(__webpack_exports__);
10540/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ "./node_modules/swiper/swiper.esm.js");
10541
10542
10543
10544
10545window.addEventListener("load", () => {
10546    let swiper;
10547    const Navigation = (__webpack_require__(/*! swiper */ "./node_modules/swiper/swiper.esm.js").Navigation);
10548    const Pagination = (__webpack_require__(/*! swiper */ "./node_modules/swiper/swiper.esm.js").Pagination);
10549    if (!window.einsteinCarouselInitialized) {
10550        const carousels = $(".product-carousel-swiper");
10551
10552        carousels.each(function (index, carousel) {
10553            const selector = "." + $(carousel).data().id + " .swiper";
10554            const prevButton = "." + $(carousel).data().id + " .swiper-button-prev";
10555            const nextButton = "." + $(carousel).data().id + " .swiper-button-next";
10556            const paginationSelector = "." + $(carousel).data().id + " .swiper-pagination";
10557
10558            // eslint-disable-next-line no-unused-vars
10559            const einsteinCarousel = new swiper__WEBPACK_IMPORTED_MODULE_0__.Swiper(selector, {
10560                loop: false,
10561                modules: [Navigation, Pagination],
10562                pagination: {
10563                    el: paginationSelector,
10564                    clickable: true,
10565                },
10566                autoHeight: true,
10567                setWrapperSize: true,
10568                freeMode: true,
10569                slidesPerView: "auto",
10570                direction: 'horizontal',
10571                parallax: true,
10572                navigation: {
10573                    nextEl: nextButton,
10574                    prevEl: prevButton,
10575                },
10576                breakpoints: {
10577                    0: {
10578                        slidesPerView: 2,
10579                        spaceBetween: 10,
10580                    },
10581                    1024: {
10582                        slidesPerView: 4,
10583                        spaceBetween: 10,
10584                    },
10585                },
10586                on: {
10587                    init: function () {
10588                        $(carousel).closest('.up-4-products-carousel').removeClass('invisible');
10589                    }
10590                }
10591            });
10592        });
10593        window.einsteinCarousellInitialized = true;
10594    }
10595});
10596
10597}();
10598/******/ })()
10599;
10600//# sourceMappingURL=productCarousel.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.