{"version":3,"file":"app.bundle.js","mappings":"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ACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbF,EAASE,KAAK,SACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,GACdD,EAASC,KAAK,SACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC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","sources":["webpack://FactoryManager/webpack/runtime/load script","webpack://FactoryManager/./src/js/3x1010/Pqp.js","webpack://FactoryManager/./src/js/3x1010/Lng.js","webpack://FactoryManager/./src/js/Globals.js","webpack://FactoryManager/./node_modules/ssr-window/ssr-window.esm.js","webpack://FactoryManager/./node_modules/dom7/dom7.esm.js","webpack://FactoryManager/./node_modules/swiper/esm/utils/dom.js","webpack://FactoryManager/./node_modules/swiper/esm/utils/utils.js","webpack://FactoryManager/./node_modules/swiper/esm/utils/get-support.js","webpack://FactoryManager/./node_modules/swiper/esm/utils/get-device.js","webpack://FactoryManager/./node_modules/swiper/esm/utils/get-browser.js","webpack://FactoryManager/./node_modules/swiper/esm/modules/resize/resize.js","webpack://FactoryManager/./node_modules/swiper/esm/modules/observer/observer.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/events-emitter.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/update/index.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/update/updateSize.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/update/updateSlides.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/update/updateAutoHeight.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/update/updateSlidesOffset.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/update/updateSlidesProgress.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/update/updateProgress.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/update/updateSlidesClasses.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/update/updateActiveIndex.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/update/updateClickedSlide.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/slide/index.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/slide/slideTo.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/slide/slideToLoop.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/slide/slideNext.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/slide/slidePrev.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/slide/slideReset.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/slide/slideToClosest.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/slide/slideToClickedSlide.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/loop/index.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/loop/loopCreate.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/loop/loopFix.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/loop/loopDestroy.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/events/onTouchStart.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/events/onTouchMove.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/events/onTouchEnd.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/events/onResize.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/events/onClick.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/events/onScroll.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/events/index.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/classes/index.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/classes/addClasses.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/classes/removeClasses.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/defaults.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/core-class.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/modular.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/translate/index.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/translate/getTranslate.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/translate/setTranslate.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/translate/minTranslate.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/translate/maxTranslate.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/translate/translateTo.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/transition/index.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/transition/setTransition.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/transition/transitionStart.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/transition/transitionEnd.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/grab-cursor/index.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/grab-cursor/setGrabCursor.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/grab-cursor/unsetGrabCursor.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/manipulation/index.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/manipulation/appendSlide.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/manipulation/prependSlide.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/manipulation/addSlide.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/manipulation/removeSlide.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/manipulation/removeAllSlides.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/breakpoints/index.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/breakpoints/setBreakpoint.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/breakpoints/getBreakpoint.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/check-overflow/index.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/images/index.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/images/loadImage.js","webpack://FactoryManager/./node_modules/swiper/esm/components/core/images/preloadImages.js","webpack://FactoryManager/./node_modules/swiper/esm/components/virtual/virtual.js","webpack://FactoryManager/./node_modules/swiper/esm/components/keyboard/keyboard.js","webpack://FactoryManager/./node_modules/swiper/esm/components/mousewheel/mousewheel.js","webpack://FactoryManager/./node_modules/swiper/esm/components/navigation/navigation.js","webpack://FactoryManager/./node_modules/swiper/esm/components/pagination/pagination.js","webpack://FactoryManager/./node_modules/swiper/esm/components/scrollbar/scrollbar.js","webpack://FactoryManager/./node_modules/swiper/esm/components/parallax/parallax.js","webpack://FactoryManager/./node_modules/swiper/esm/components/zoom/zoom.js","webpack://FactoryManager/./node_modules/swiper/esm/components/lazy/lazy.js","webpack://FactoryManager/./node_modules/swiper/esm/components/controller/controller.js","webpack://FactoryManager/./node_modules/swiper/esm/components/a11y/a11y.js","webpack://FactoryManager/./node_modules/swiper/esm/components/history/history.js","webpack://FactoryManager/./node_modules/swiper/esm/components/hash-navigation/hash-navigation.js","webpack://FactoryManager/./node_modules/swiper/esm/components/autoplay/autoplay.js","webpack://FactoryManager/./node_modules/swiper/esm/components/effect-fade/effect-fade.js","webpack://FactoryManager/./node_modules/swiper/esm/components/effect-cube/effect-cube.js","webpack://FactoryManager/./node_modules/swiper/esm/components/effect-flip/effect-flip.js","webpack://FactoryManager/./node_modules/swiper/esm/components/effect-coverflow/effect-coverflow.js","webpack://FactoryManager/./node_modules/swiper/esm/components/thumbs/thumbs.js","webpack://FactoryManager/./node_modules/swiper/swiper-bundle.esm.js","webpack://FactoryManager/./src/js/pages/PageCommon.js","webpack://FactoryManager/./src/js/3x1010/services/ServiceManagerRoutes.js","webpack://FactoryManager/./src/js/3x1010/services/ServiceManager.js","webpack://FactoryManager/./src/js/pages/classes/Appear.js","webpack://FactoryManager/./src/js/pages/PageGeneric.js","webpack://FactoryManager/./src/js/pages/classes/DragControl.js","webpack://FactoryManager/./src/js/pages/classes/BlogPreview.js","webpack://FactoryManager/./src/js/pages/PageDefault.js","webpack://FactoryManager/./src/js/pages/PageAroundTheBlog.js","webpack://FactoryManager/./src/js/pages/PageProductList.js","webpack://FactoryManager/./src/js/pages/PageSearch.js","webpack://FactoryManager/./src/js/pages/PageIntro.js","webpack://FactoryManager/./src/js/FactoryManager.js","webpack://FactoryManager/./node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js","webpack://FactoryManager/./node_modules/mini-css-extract-plugin/dist/hmr/normalize-url.js","webpack://FactoryManager/./src/scss/styles.scss?b7ff","webpack://FactoryManager/webpack/bootstrap","webpack://FactoryManager/webpack/runtime/define property getters","webpack://FactoryManager/webpack/runtime/get javascript update chunk filename","webpack://FactoryManager/webpack/runtime/get mini-css chunk filename","webpack://FactoryManager/webpack/runtime/get update manifest filename","webpack://FactoryManager/webpack/runtime/getFullHash","webpack://FactoryManager/webpack/runtime/global","webpack://FactoryManager/webpack/runtime/hasOwnProperty shorthand","webpack://FactoryManager/webpack/runtime/hot module replacement","webpack://FactoryManager/webpack/runtime/publicPath","webpack://FactoryManager/webpack/runtime/css loading","webpack://FactoryManager/webpack/runtime/jsonp chunk loading","webpack://FactoryManager/webpack/startup"],"sourcesContent":["var inProgress = {};\nvar dataWebpackPrefix = \"FactoryManager:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","export default class Pqp {\r\n\r\n\tstatic trace(xValue, level) {\r\n\t\tvar colors = [\"#ff0000\", \"#00ff00\", \"#ff00FF\", \"#FF8000\"]\r\n\t\tif (typeof console != \"undefined\") {\r\n\t\t\tif ((Pqp.isNullOrEmpty(level)) || (level > colors.length - 1)) {\r\n\t\t\t\tconsole.log(xValue);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(\"%c\" + xValue, \"color:\" + colors[level]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tstatic isString(a) {\r\n\t\tif ((a instanceof String) || (typeof (a) == \"string\")) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tstatic isNumber(a) {\r\n\t\tif ((a instanceof Number) || (typeof (a) == \"number\")) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tstatic isArray(a) {\r\n\t\tif ((a instanceof Array) || (typeof (a) == \"array\")) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tstatic isNullOrEmpty(xValue) {\r\n\t\tif (typeof (xValue) == \"boolean\") {\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\tif ((xValue == null) || (xValue == undefined) || (xValue == \"\")) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tstatic getParameterByName(name) {\r\n\t\tvar match = new RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);\r\n\t\treturn match && decodeURIComponent(match[1].replace(/\\+/g, ' '));\r\n\t}\r\n\r\n\tstatic shuffle(o) {\r\n\t\tfor (var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);\r\n\t\treturn o;\r\n\t}\r\n\r\n\r\n\tstatic rnd(max, min) {\r\n\t\tif (!min) {\r\n\t\t\tmin = 0;\r\n\t\t}\r\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\r\n\t}\r\n\r\n\r\n\r\n\tstatic check(nProb) {\r\n\t\tif (nProb >= 1) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tif (nProb <= 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tvar nSpace = 100000;\r\n\t\tvar nProd = (nProb * nSpace);\r\n\t\tvar nRnd = Pqp.range(0, nSpace);\r\n\t\treturn nRnd < nProd;\r\n\t}\r\n\r\n\tstatic range(nMin, nMax) {\r\n\t\treturn (Pqp.rangeInt((nMin * 1000.0), (nMax * 1000.0))) / 1000.0;\r\n\t}\r\n\r\n\tstatic rangeInt(nMin, nMax) {\r\n\t\treturn Math.floor(Math.random() * (nMax - nMin + 1)) + nMin;\r\n\t}\r\n\r\n\tstatic replace(str, fnd, repl) {\r\n\t\treturn Pqp.safeReplace(str, fnd, repl);\r\n\t}\r\n\r\n\tstatic mettiPunti(input, sep, sepdec) {\r\n\t\tif (sep == null) {\r\n\t\t\tsep = \".\";\r\n\t\t}\r\n\t\tif (sepdec == null) {\r\n\t\t\tsepdec = \",\";\r\n\t\t}\r\n\r\n\t\tvar num = input;\r\n\t\tvar minus = false;\r\n\t\tif (num < 0) {\r\n\t\t\tnum *= -1;\r\n\t\t\tminus = true\r\n\t\t}\r\n\t\tvar dotPos = (num + \"\").split(\".\");\r\n\t\tvar dotU = dotPos[0];\r\n\t\tvar dotD = dotPos[1];\r\n\t\tvar commaFlag = dotU.length % 3;\r\n\r\n\t\tvar out;\r\n\t\tif (commaFlag) {\r\n\t\t\tout = dotU.substring(0, commaFlag);\r\n\t\t\tif (dotU.length > 3) {\r\n\t\t\t\tout += sep;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tout = \"\"\r\n\t\t}\r\n\r\n\t\tfor (var i = commaFlag; i < dotU.length; i += 3) {\r\n\t\t\tout += dotU.substring(i, i + 3);\r\n\t\t\tif (i < dotU.length - 3) {\r\n\t\t\t\tout += sep;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (minus) {\r\n\t\t\tout = \"-\" + out;\r\n\t\t}\r\n\t\tif (dotD) {\r\n\t\t\treturn out + sepdec + dotD\r\n\t\t}\r\n\t\treturn out\r\n\t}\r\n\r\n\r\n\tstatic _carCon(mCf) {\r\n\t\tvar aNumLet = new Array();\r\n\t\tvar aNumeri1 = new Array();\r\n\t\tvar aNumeri2 = new Array();\r\n\t\tvar nSomma;\r\n\t\tvar nConta;\r\n\t\tvar cCifra;\r\n\t\tvar nPuntatore;\r\n\t\tvar nNp;\r\n\t\tvar nNd;\r\n\t\tvar nCf1;\r\n\t\tvar nCf2;\r\n\t\tvar nMlc;\r\n\t\tnSomma = 0;\r\n\t\tnConta = 1;\r\n\t\taNumLet.push(\"DUMMY\");\r\n\t\taNumLet.push(\"0\");\r\n\t\taNumLet.push(\"1\");\r\n\t\taNumLet.push(\"2\");\r\n\t\taNumLet.push(\"3\");\r\n\t\taNumLet.push(\"4\");\r\n\t\taNumLet.push(\"5\");\r\n\t\taNumLet.push(\"6\");\r\n\t\taNumLet.push(\"7\");\r\n\t\taNumLet.push(\"8\");\r\n\t\taNumLet.push(\"9\");\r\n\t\taNumLet.push(\"A\");\r\n\t\taNumLet.push(\"B\");\r\n\t\taNumLet.push(\"C\");\r\n\t\taNumLet.push(\"D\");\r\n\t\taNumLet.push(\"E\");\r\n\t\taNumLet.push(\"F\");\r\n\t\taNumLet.push(\"G\");\r\n\t\taNumLet.push(\"H\");\r\n\t\taNumLet.push(\"I\");\r\n\t\taNumLet.push(\"J\");\r\n\t\taNumLet.push(\"K\");\r\n\t\taNumLet.push(\"L\");\r\n\t\taNumLet.push(\"M\");\r\n\t\taNumLet.push(\"N\");\r\n\t\taNumLet.push(\"O\");\r\n\t\taNumLet.push(\"P\");\r\n\t\taNumLet.push(\"Q\");\r\n\t\taNumLet.push(\"R\");\r\n\t\taNumLet.push(\"S\");\r\n\t\taNumLet.push(\"T\");\r\n\t\taNumLet.push(\"U\");\r\n\t\taNumLet.push(\"V\");\r\n\t\taNumLet.push(\"W\");\r\n\t\taNumLet.push(\"X\");\r\n\t\taNumLet.push(\"Y\");\r\n\t\taNumLet.push(\"Z\");\r\n\t\taNumLet.push(\"/\");\r\n\t\taNumeri1.push(\"DUMMY\");\r\n\t\taNumeri1.push(0);\r\n\t\taNumeri1.push(1);\r\n\t\taNumeri1.push(2);\r\n\t\taNumeri1.push(3);\r\n\t\taNumeri1.push(4);\r\n\t\taNumeri1.push(5);\r\n\t\taNumeri1.push(6);\r\n\t\taNumeri1.push(7);\r\n\t\taNumeri1.push(8);\r\n\t\taNumeri1.push(9);\r\n\t\taNumeri1.push(0);\r\n\t\taNumeri1.push(1);\r\n\t\taNumeri1.push(2);\r\n\t\taNumeri1.push(3);\r\n\t\taNumeri1.push(4);\r\n\t\taNumeri1.push(5);\r\n\t\taNumeri1.push(6);\r\n\t\taNumeri1.push(7);\r\n\t\taNumeri1.push(8);\r\n\t\taNumeri1.push(9);\r\n\t\taNumeri1.push(10);\r\n\t\taNumeri1.push(11);\r\n\t\taNumeri1.push(12);\r\n\t\taNumeri1.push(13);\r\n\t\taNumeri1.push(14);\r\n\t\taNumeri1.push(15);\r\n\t\taNumeri1.push(16);\r\n\t\taNumeri1.push(17);\r\n\t\taNumeri1.push(18);\r\n\t\taNumeri1.push(19);\r\n\t\taNumeri1.push(20);\r\n\t\taNumeri1.push(21);\r\n\t\taNumeri1.push(22);\r\n\t\taNumeri1.push(23);\r\n\t\taNumeri1.push(24);\r\n\t\taNumeri1.push(25);\r\n\t\taNumeri1.push(0);\r\n\t\taNumeri2.push(\"DUMMY\");\r\n\t\taNumeri2.push(1);\r\n\t\taNumeri2.push(0);\r\n\t\taNumeri2.push(5);\r\n\t\taNumeri2.push(7);\r\n\t\taNumeri2.push(9);\r\n\t\taNumeri2.push(13);\r\n\t\taNumeri2.push(15);\r\n\t\taNumeri2.push(17);\r\n\t\taNumeri2.push(19);\r\n\t\taNumeri2.push(21);\r\n\t\taNumeri2.push(1);\r\n\t\taNumeri2.push(0);\r\n\t\taNumeri2.push(5);\r\n\t\taNumeri2.push(7);\r\n\t\taNumeri2.push(9);\r\n\t\taNumeri2.push(13);\r\n\t\taNumeri2.push(15);\r\n\t\taNumeri2.push(17);\r\n\t\taNumeri2.push(19);\r\n\t\taNumeri2.push(21);\r\n\t\taNumeri2.push(2);\r\n\t\taNumeri2.push(4);\r\n\t\taNumeri2.push(18);\r\n\t\taNumeri2.push(20);\r\n\t\taNumeri2.push(11);\r\n\t\taNumeri2.push(3);\r\n\t\taNumeri2.push(6);\r\n\t\taNumeri2.push(8);\r\n\t\taNumeri2.push(12);\r\n\t\taNumeri2.push(14);\r\n\t\taNumeri2.push(16);\r\n\t\taNumeri2.push(10);\r\n\t\taNumeri2.push(22);\r\n\t\taNumeri2.push(25);\r\n\t\taNumeri2.push(24);\r\n\t\taNumeri2.push(23);\r\n\t\taNumeri2.push(0);\r\n\t\twhile (nConta < 16) {\r\n\t\t\tcCifra = mCf.charAt(nConta - 1);\r\n\t\t\tnPuntatore = Pqp._ascan(aNumLet, cCifra);\r\n\t\t\tif (nPuntatore == 0) {\r\n\t\t\t\treturn \"\";\r\n\t\t\t}\r\n\t\t\tnNp = aNumeri1[nPuntatore];\r\n\t\t\tnNd = aNumeri2[nPuntatore];\r\n\t\t\tif (nConta / 2 > Pqp._parteInt(nConta / 2)) {\r\n\t\t\t\tnSomma = nSomma + nNd;\r\n\t\t\t} else {\r\n\t\t\t\tnSomma = nSomma + nNp;\r\n\t\t\t}\r\n\t\t\tnConta = nConta + 1;\r\n\t\t}\r\n\t\tnCf1 = nSomma / 26;\r\n\t\tnCf2 = nSomma - Pqp._parteInt(nCf1) * 26 + 11;\r\n\t\tnMlc = aNumLet[nCf2];\r\n\t\treturn nMlc;\r\n\t}\r\n\r\n\tstatic _parteInt(nNumero) {\r\n\t\tvar aTmp;\r\n\t\taTmp = (\"\" + nNumero).split(\".\");\r\n\t\treturn parseInt(aTmp[0]);\r\n\t}\r\n\tstatic _ascan(aNumLet, cCifra) {\r\n\t\tvar x, lTrovato;\r\n\t\tlTrovato = false;\r\n\t\tfor (x = 0; x < aNumLet.length; x++) {\r\n\t\t\tif (aNumLet[x] == cCifra) {\r\n\t\t\t\tlTrovato = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (lTrovato) {\r\n\t\t\treturn x;\r\n\t\t} else {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t}\r\n\r\n\tstatic ascSeq(sString) {\r\n\t\tvar x, sCode, sTmp;\r\n\t\tsCode = \"\";\r\n\t\tfor (x = 0; x < sString.length; x++) {\r\n\t\t\tsTmp = \"\" + sString.charCodeAt(x);\r\n\t\t\tif (sTmp.length < 3) {\r\n\t\t\t\tif (sTmp.length < 2) {\r\n\t\t\t\t\tsTmp = \"00\" + sTmp;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsTmp = \"0\" + sTmp;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tsCode = sCode + sTmp;\r\n\t\t}\r\n\t\treturn sCode;\r\n\t}\r\n\r\n\tstatic charSeq(sString) {\r\n\t\tvar sTmp, x, sChar;\r\n\t\tsTmp = \"\";\r\n\t\tfor (x = 0; x < sString.length / 3; x++) {\r\n\t\t\tsChar = parseInt(Pqp._removeZero(sString.substr(x * 3, 3)));\r\n\t\t\tsTmp = sTmp + String.fromCharCode(sChar);\r\n\t\t}\r\n\t\treturn sTmp;\r\n\t}\r\n\r\n\tstatic _removeZero(sString) {\r\n\t\tvar sTmp, x, lTrovato;\r\n\t\tlTrovato = false;\r\n\t\tfor (x = 0; x < sString.length; x++) {\r\n\t\t\tif (sString.charAt(x) != \"0\") {\r\n\t\t\t\tlTrovato = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (lTrovato) {\r\n\t\t\tsTmp = sString.substr(x);\r\n\t\t} else {\r\n\t\t\tsTmp = sString;\r\n\t\t}\r\n\t\treturn parseInt(sTmp);\r\n\t}\r\n\r\n\tstatic padr(sString, sChar, nQuanti) {\r\n\t\tvar n;\r\n\t\tn = sString.length;\r\n\t\tfor (var x = 0; x < (nQuanti - n); x++) {\r\n\t\t\tsString = sChar + sString;\r\n\t\t}\r\n\t\treturn sString;\r\n\t}\r\n\r\n\tstatic padl(sString, sChar, nQuanti) {\r\n\t\tvar n;\r\n\t\tn = sString.length;\r\n\t\tfor (var x = 0; x < (nQuanti - n); x++) {\r\n\t\t\tsString = sString + sChar\r\n\t\t}\r\n\t\treturn sString;\r\n\t}\r\n\r\n\r\n\tstatic getCheck(s) {\r\n\t\tvar s1 = s.toUpperCase();\r\n\t\ts1 = Pqp._soloCharNumber(s1);\r\n\t\tvar nQuanti = s1.length % 15;\r\n\t\tfor (x = 0; x < 15 - nQuanti; x++) {\r\n\t\t\ts1 = s1 + \"F\";\r\n\t\t}\r\n\t\tvar sControllo = \"\";\r\n\t\tfor (var x = 1; x <= (s1.length / 15); x++) {\r\n\t\t\tsControllo = sControllo + Pqp._carCon(s1.substr(x * 15 - 15, 15));\r\n\t\t}\r\n\t\ts1 = sControllo + sControllo.length;\r\n\t\treturn s1;\r\n\t}\r\n\r\n\r\n\tstatic _soloCharNumber(s) {\r\n\t\tvar sRet = \"\";\r\n\t\tfor (var x = 0; x < s.length; x++) {\r\n\t\t\tvar c = s.charAt(x);\r\n\t\t\tif (((c >= \"0\") && (c <= \"9\")) || ((c >= \"A\") && (c <= \"Z\"))) {\r\n\t\t\t\tsRet += c;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn sRet;\r\n\t}\r\n\r\n\tstatic cripta(s) {\r\n\t\treturn Pqp.uEncode8(s, 6006);\r\n\t}\r\n\r\n\tstatic decripta(s) {\r\n\t\treturn Pqp.uDecode8(s, 6006);\r\n\t}\r\n\r\n\tstatic uEncode8(str, k) {\r\n\t\tk = k % 256;\r\n\t\tvar ret = \"\";\r\n\t\tfor (var i = 0; i < str.length; i++) {\r\n\t\t\tvar u = str.charCodeAt(i) ^ k;\r\n\t\t\tvar s = u.toString(16);\r\n\t\t\twhile (s.length < 2) {\r\n\t\t\t\ts = \"0\" + s;\r\n\t\t\t}\r\n\t\t\tret += s;\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tstatic uDecode8(str, k) {\r\n\t\tk = k % 256;\r\n\t\tvar ret = \"\";\r\n\t\tfor (var i = 0; i < str.length; i += 2) {\r\n\t\t\tvar s = \"\";\r\n\t\t\tfor (var j = 0; j < 2; j++) {\r\n\t\t\t\ts += str.charAt(i + j);\r\n\t\t\t}\r\n\t\t\tvar u = parseInt(s, 16) ^ k;\r\n\t\t\tret += String.fromCharCode(u);\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tstatic utf8Encode(s) {\r\n\t\tvar sRet = \"\";\r\n\t\tfor (var x = 0; x < s.length; x++) {\r\n\t\t\tvar c = s.charAt(x);\r\n\t\t\tvar n = c.charCodeAt(0);\r\n\t\t\tif ((n >= 32) && (n <= 127)) {\r\n\t\t\t\tsRet += c;\r\n\t\t\t} else {\r\n\t\t\t\tsRet += \"&#\" + n + \";\";\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn sRet;\r\n\t}\r\n\r\n\tstatic dataora(dt) {\r\n\t\tvar sRet = \"\" + dt.getFullYear();\r\n\t\tvar sTmp = (\"0\" + (dt.getMonth() + 1));\r\n\t\tsTmp = sTmp.substr(sTmp.length - 2, 2);\r\n\t\tsRet += sTmp;\r\n\t\tsTmp = (\"0\" + dt.getDate());\r\n\t\tsTmp = sTmp.substr(sTmp.length - 2, 2);\r\n\t\tsRet += sTmp;\r\n\t\tsTmp = (\"0\" + dt.getHours());\r\n\t\tsTmp = sTmp.substr(sTmp.length - 2, 2);\r\n\t\tsRet += sTmp;\r\n\t\tsTmp = (\"0\" + dt.getMinutes());\r\n\t\tsTmp = sTmp.substr(sTmp.length - 2, 2);\r\n\t\tsRet += sTmp;\r\n\t\tsTmp = (\"0\" + dt.getSeconds());\r\n\t\tsTmp = sTmp.substr(sTmp.length - 2, 2);\r\n\t\tsRet += sTmp;\r\n\t\treturn sRet;\r\n\t}\r\n\r\n\tstatic validateEmail(email) {\r\n\t\tvar re = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\t\treturn re.test(email);\r\n\t}\r\n\r\n\r\n\tstatic safeReplace(input, rep, replaceWith) {\r\n\t\tvar sb = new String();\r\n\t\tvar found = false;\r\n\r\n\t\tvar sLen = input.length;\r\n\t\tvar rLen = rep.length;\r\n\r\n\t\tfor (var i = 0; i < sLen; i++) {\r\n\t\t\tif (input.charAt(i) == rep.charAt(0)) {\r\n\t\t\t\tfound = true;\r\n\t\t\t\tfor (var j = 0; j < rLen; j++) {\r\n\t\t\t\t\tif (!(input.charAt(i + j) == rep.charAt(j))) {\r\n\t\t\t\t\t\tfound = false;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (found) {\r\n\t\t\t\t\tsb += replaceWith;\r\n\t\t\t\t\ti = i + (rLen - 1);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tsb += input.charAt(i);\r\n\t\t}\r\n\t\treturn sb;\r\n\t}\r\n\r\n\r\n\tstatic minion(lMoltiBr, chars, lBarraEnne, lHodor) {\r\n\t\treturn Pqp.lorem(lMoltiBr, chars, lBarraEnne, lHodor);\r\n\t}\r\n\r\n\tstatic lorem(lMoltiBr, chars, lBarraEnne, lHodor) {\r\n\t\tvar consonanti = \"rtplgfdszcvbnm\";\r\n\t\tvar doppie = \"rtplgfdsvnmc\"\r\n\t\tvar mediane = [\"nt\", \"nd\", \"mb\", \"rl\", \"rt\", \"ch\"];\r\n\t\tvar iniziali = [\"pr\", \"cr\", \"st\", \"br\", \"tr\", \"sc\", \"cl\", \"gr\", \"gn\", \"sf\", \"sb\", \"sp\", \"sm\"];\r\n\t\tvar vocali = \"aeiouaeioaeaeoaeo\";\r\n\t\tvar nomi = [\"Frodo\", \"Gandalf\", \"Samwise\", \"Meriadoc\", \"Peregrino\", \"Aragorn\", \"Legolas\", \"Gimli\", \"Boromir\", \"Sauron\", \"Gollum\", \"Bilbo\", \"Elrond\", \"Arwen\", \"Galadriel\", \"Saruman\", \"Eomer\", \"Theoden\", \"Eowyn\", \"Faramir\", \"Denethor\", \"Ned\", \"Sansa\", \"Arya\", \"Bran\", \"Jon\", \"Catelyn\", \"Daenerys\", \"Jaime\", \"Cersei\", \"Tyrion\", \"Walder\", \"Tywin\", \"Geoffrey\"];\r\n\t\tvar cognomi = [\"Baggins\", \"Gamgee\", \"Brandybuck\", \"Tuc\", \"Stark\", \"Lannister\", \"Tyrell\", \"Frey\", \"Bolton\", \"Baratheon\", \"Targaryen\", \"Snow\"];\r\n\t\tvar punteggiatura = \";,,,,,,,,:\";\r\n\t\tvar chiusura = \"!.........?\";\r\n\t\tvar domini = [\".com\", \".it\", \".co.uk\", \".fr\", \".de\", \".ru\"];\r\n\t\tvar lName\r\n\t\tvar lUid\r\n\t\tvar lNoPunteggiatura;\r\n\t\tvar lTitle;\r\n\t\tvar lEmail;\r\n\r\n\t\tif (typeof (lMoltiBr) == \"object\") {\r\n\t\t\tvar oTmp = lMoltiBr;\r\n\t\t\tlMoltiBr = oTmp.lMoltiBr;\r\n\t\t\tchars = oTmp.chars;\r\n\t\t\tlBarraEnne = oTmp.lBarraEnne;\r\n\t\t\tlHodor = oTmp.lHodor;\r\n\t\t\tlName = oTmp.lName;\r\n\t\t\tlUid = oTmp.lUid;\r\n\t\t\tlNoPunteggiatura = oTmp.lNoPunteggiatura;\r\n\t\t\tlTitle = oTmp.lTitle;\r\n\t\t\tlEmail = oTmp.lEmail;\r\n\t\t}\r\n\r\n\t\tif (lEmail) {\r\n\t\t\tlNoPunteggiatura = true;\r\n\r\n\t\t\tchars = Pqp.rnd(30, 20);\r\n\t\t\tlMoltiBr = 0;\r\n\t\t}\r\n\r\n\t\tif (lName) {\r\n\t\t\treturn nomi[Pqp.rnd(nomi.length - 1)] + \" \" + cognomi[Pqp.rnd(cognomi.length - 1)]\r\n\t\t}\r\n\t\tif (lUid) {\r\n\t\t\tlMoltiBr = 0;\r\n\t\t}\r\n\t\tif (lTitle) {\r\n\t\t\tlNoPunteggiatura = true;\r\n\t\t\tchars = Pqp.rnd(30, 20);\r\n\t\t\tlMoltiBr = 0;\r\n\t\t}\r\n\r\n\t\tvar a = new Array();\r\n\t\tfor (var x = 0; x < consonanti.length; x++) {\r\n\t\t\ta.push(consonanti.charAt(x));\r\n\t\t\ta.push(consonanti.charAt(x));\r\n\t\t}\r\n\t\tconsonanti = a;\r\n\r\n\t\tfor (var x = 0; x < doppie.length; x++) {\r\n\t\t\tconsonanti.push(doppie.charAt(x) + doppie.charAt(x));\r\n\t\t}\r\n\r\n\t\tfor (var x = 0; x < iniziali.length; x++) {\r\n\t\t\tconsonanti.push(iniziali[x]);\r\n\t\t}\r\n\r\n\t\tfor (var x = 0; x < mediane.length; x++) {\r\n\t\t\tconsonanti.push(mediane[x]);\r\n\t\t}\r\n\r\n\t\tfor (var x = 0; x < consonanti.length; x++) {\r\n\t\t\tif (consonanti[x].length == 1) {\r\n\t\t\t\tiniziali.push(consonanti[x]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (var x = 0; x < vocali.length; x++) {\r\n\t\t\tiniziali.push(vocali.charAt(x));\r\n\t\t\tiniziali.push(vocali.charAt(x));\r\n\t\t}\r\n\r\n\t\tvar a = new Array();\r\n\t\tfor (var x = 0; x < vocali.length; x++) {\r\n\t\t\ta.push(vocali.charAt(x));\r\n\t\t}\r\n\t\tvocali = a;\r\n\r\n\t\tvar a = new Array();\r\n\t\tfor (var x = 0; x < punteggiatura.length; x++) {\r\n\t\t\ta.push(punteggiatura.charAt(x));\r\n\t\t}\r\n\t\tpunteggiatura = a;\r\n\r\n\t\tvar a = new Array();\r\n\t\tfor (var x = 0; x < chiusura.length; x++) {\r\n\t\t\ta.push(chiusura.charAt(x));\r\n\t\t}\r\n\t\tchiusura = a;\r\n\r\n\r\n\t\tconsonanti = Pqp.shuffle(consonanti)\r\n\t\tiniziali = Pqp.shuffle(iniziali)\r\n\t\tvocali = Pqp.shuffle(vocali)\r\n\t\tpunteggiatura = Pqp.shuffle(punteggiatura)\r\n\t\tchiusura = Pqp.shuffle(chiusura)\r\n\r\n\r\n\t\tif (Pqp.isNullOrEmpty(chars)) {\r\n\t\t\tchars = 4000;\r\n\t\t} else {\r\n\t\t\tif (!Pqp.isNumber(chars)) {\r\n\t\t\t\tchars = 4000;\r\n\t\t\t\ttrace(\"Occhio alla sintassi, Pqp.minion(lMoltiBr, chars, lBarraEnne, lHodor)\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvar lNoBr = false;\r\n\r\n\t\tif (Pqp.isNullOrEmpty(lMoltiBr)) {\r\n\t\t\tlMoltiBr = false;\r\n\t\t} else {\r\n\t\t\tif (lMoltiBr === 0) {\r\n\t\t\t\tlMoltiBr = false;\r\n\t\t\t\tlNoBr = true;\r\n\t\t\t} else {\r\n\t\t\t\tif (typeof (lMoltiBr) === \"boolean\") {\r\n\t\t\t\t\tif (lMoltiBr == true) {\r\n\t\t\t\t\t\tlMoltiBr = true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlMoltiBr = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttrace(\"Occhio alla sintassi, Pqp.minion(lMoltiBr, chars, lBarraEnne, lHodor)\");\r\n\t\t\t\t\tlMoltiBr = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (Pqp.isNullOrEmpty(lBarraEnne)) {\r\n\t\t\tlBarraEnne = false;\r\n\t\t} else {\r\n\t\t\tif (lBarraEnne == true) {\r\n\t\t\t\tlBarraEnne = true;\r\n\t\t\t} else {\r\n\t\t\t\tlBarraEnne = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tif (Pqp.isNullOrEmpty(lHodor)) {\r\n\t\t\tlHodor = false;\r\n\t\t}\r\n\r\n\t\t//trace(chars + \" \" + lMoltiBr + \" \" + lBarraEnne + \" \" +lNoBr);\r\n\r\n\t\tvar frase = new Array();\r\n\t\tvar len = 0;\r\n\r\n\t\tvar stepNome = 0;\r\n\t\tvar lastUno = false;\r\n\t\tvar contaDoppie = 0;\r\n\t\tvar lPrimo = true;\r\n\t\tif ((lUid) || (lEmail)) {\r\n\t\t\tlPrimo = false;\r\n\t\t\tchars = 100;\r\n\t\t\tstepNome = 5;\r\n\t\t}\r\n\r\n\t\twhile (len < chars) {\r\n\t\t\tvar word = \"\";\r\n\t\t\tvar lOk = false;\r\n\t\t\tvar lName = false;\r\n\t\t\t// Genera una parola\r\n\t\t\tif (Pqp.check(0.25) || lPrimo) {\r\n\t\t\t\tif (stepNome == 0) {\r\n\t\t\t\t\t// Prende un nome\r\n\t\t\t\t\tlPrimo = false;\r\n\t\t\t\t\tif (Pqp.rnd(1) == 0) {\r\n\t\t\t\t\t\tword = nomi[Pqp.rnd(nomi.length - 1)];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tword = cognomi[Pqp.rnd(cognomi.length - 1)];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tstepNome++;\r\n\t\t\t\t\tlName = true;\r\n\t\t\t\t\tlOk = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (!lOk) {\r\n\t\t\t\t// Genera una parola\r\n\t\t\t\tvar ln;\r\n\t\t\t\tif (Pqp.check(0.7)) {\r\n\t\t\t\t\tln = Pqp.rnd(3, 1);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tln = Pqp.rnd(7, 6);\r\n\t\t\t\t}\r\n\t\t\t\tif ((lastUno) && (ln == 1)) {\r\n\t\t\t\t\t// Controlla di non avere 2 parole da 1 carattere di seguito\r\n\t\t\t\t\tln = Pqp.rnd(4, 3);\r\n\t\t\t\t}\r\n\t\t\t\tif (ln == 1) {\r\n\t\t\t\t\tlastUno = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlastUno = false;\r\n\t\t\t\t}\r\n\t\t\t\tif (stepNome > 0) {\r\n\t\t\t\t\tstepNome++;\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t\tvar doppie = 0;\r\n\t\t\t\tvar char2 = 0;\r\n\t\t\t\tvar lastVocale\r\n\t\t\t\tfor (var x = 0; x < ln; x++) {\r\n\t\t\t\t\t// Iniziale\r\n\t\t\t\t\tif (x == 0) {\r\n\t\t\t\t\t\tif (lastUno) {\r\n\t\t\t\t\t\t\tword += vocali[Pqp.rnd(vocali.length - 1)];\r\n\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tword += iniziali[Pqp.rnd(iniziali.length - 1)];\r\n\t\t\t\t\t\t\tif ((word.indexOf(\"a\") >= 0) || (word.indexOf(\"e\") >= 0) || (word.indexOf(\"i\") >= 0) || (word.indexOf(\"o\") >= 0) || (word.indexOf(\"u\") >= 0)) {\r\n\t\t\t\t\t\t\t\tlastVocale = true;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tlastVocale = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (lastVocale) {\r\n\t\t\t\t\t\t\tvar lCondExit = false;\r\n\t\t\t\t\t\t\twhile (!lCondExit) {\r\n\t\t\t\t\t\t\t\tvar cc = consonanti[Pqp.rnd(consonanti.length - 1)];\r\n\t\t\t\t\t\t\t\tif ((cc.length > 1) && (cc.charAt(0) == cc.charAt(1))) {\r\n\t\t\t\t\t\t\t\t\tif (contaDoppie == 0) {\r\n\t\t\t\t\t\t\t\t\t\t//trace(\"SS\");\r\n\t\t\t\t\t\t\t\t\t\t//trace(cc);\r\n\t\t\t\t\t\t\t\t\t\tlCondExit = true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tlCondExit = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tword += cc;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tword += vocali[Pqp.rnd(vocali.length - 1)];\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlastVocale = !lastVocale;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (stepNome > 5) {\r\n\t\t\t\tif ((!lUid) && (!lEmail)) {\r\n\t\t\t\t\tstepNome = 0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tcontaDoppie--;\r\n\t\t\tif (contaDoppie < 0) {\r\n\t\t\t\tcontaDoppie = 7;\r\n\t\t\t}\r\n\r\n\t\t\t// Controlla che la parola finisca con una vocale\r\n\t\t\tif (!lName) {\r\n\t\t\t\tif (Pqp.check(0.95)) {\r\n\t\t\t\t\tvar c = word.charAt(word.length - 1);\r\n\t\t\t\t\tif ((c.indexOf(\"a\") >= 0) || (c.indexOf(\"e\") >= 0) || (c.indexOf(\"i\") >= 0) || (c.indexOf(\"o\") >= 0) || (c.indexOf(\"u\") >= 0)) {\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tword += vocali[Pqp.rnd(vocali.length - 1)];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (lHodor) {\r\n\t\t\t\tword = \"hodor\"\r\n\t\t\t}\r\n\r\n\t\t\tlen += word.length;\r\n\r\n\t\t\tfrase.push(word);\r\n\t\t}\r\n\r\n\t\t// Genera la punteggiatura\r\n\r\n\t\tvar nextPun = Pqp.rnd(10, 2);\r\n\t\tvar lastPunto = Pqp.rnd(30, 15);\r\n\r\n\t\tfor (var x = 0; x < frase.length; x++) {\r\n\t\t\tif (x == 0) {\r\n\t\t\t\tfrase[x] = frase[x].charAt(0).toUpperCase() + frase[x].substr(1);\r\n\t\t\t}\r\n\r\n\t\t\tif (x >= nextPun) {\r\n\t\t\t\tif (lastPunto <= 0) {\r\n\t\t\t\t\tif (frase[x].length == 1) {\r\n\t\t\t\t\t\tfrase[x] = frase[x] + \" \"\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tfrase[x] = frase[x] + chiusura[Pqp.rnd(chiusura.length - 1)]\r\n\t\t\t\t\t\tvar lBr = false;\r\n\t\t\t\t\t\tif (lMoltiBr) {\r\n\t\t\t\t\t\t\tif (Pqp.check(0.7)) {\r\n\t\t\t\t\t\t\t\tlBr = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tif (Pqp.check(0.4)) {\r\n\t\t\t\t\t\t\t\tlBr = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (lNoBr) {\r\n\t\t\t\t\t\t\tlBr = false;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (lBr) {\r\n\t\t\t\t\t\t\tif (lBarraEnne) {\r\n\t\t\t\t\t\t\t\tfrase[x] = frase[x] + \"\\n\";\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tfrase[x] = frase[x] + \"
\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tfrase[x] = frase[x] + \" \";\r\n\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\tlastPunto = Pqp.rnd(30, 15);\r\n\t\t\t\t\t\tnextPun += Pqp.rnd(10, 2);\r\n\t\t\t\t\t\tif (!Pqp.isNullOrEmpty(frase[x + 1])) {\r\n\t\t\t\t\t\t\tfrase[x + 1] = frase[x + 1].charAt(0).toUpperCase() + frase[x + 1].substr(1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (frase[x].length == 1) {\r\n\t\t\t\t\t\tfrase[x] = frase[x] + \" \"\r\n\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\tfrase[x] = frase[x] + punteggiatura[Pqp.rnd(punteggiatura.length - 1)] + \" \"\r\n\t\t\t\t\t\tnextPun += Pqp.rnd(10, 2);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t} else {\r\n\t\t\t\tvar lVirg = false;\r\n\t\t\t\tif (frase[x].length > 2) {\r\n\t\t\t\t\tif (frase[x].charAt(0) != frase[x].charAt(0).toUpperCase()) {\r\n\t\t\t\t\t\tif (Pqp.check(0.01)) {\r\n\t\t\t\t\t\t\tlVirg = true;\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (lVirg) {\r\n\t\t\t\t\tfrase[x] = \"\\\"\" + frase[x] + \"\\\"\" + \" \";\r\n\t\t\t\t} else {\r\n\t\t\t\t\tfrase[x] = frase[x] + \" \"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlastPunto--;\r\n\t\t\tif (lastPunto < 0) {\r\n\t\t\t\tlastPunto = 0;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvar finale = \"\";\r\n\t\tvar tot = 0;\r\n\t\tfor (var x = 0; x < frase.length - 1; x++) {\r\n\t\t\tfinale += frase[x];\r\n\t\t\ttot += frase[x].length;\r\n\t\t\tif (frase[x].indexOf(\"
\") >= 0) {\r\n\t\t\t\ttot -= 4;\r\n\t\t\t}\r\n\t\t\tif (frase[x].indexOf(\"\\\\n\") >= 0) {\r\n\t\t\t\ttot -= 2;\r\n\t\t\t}\r\n\r\n\t\t\tif (tot.length >= chars) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tfinale = jQuery.trim(finale);\r\n\t\tvar c = finale.charAt(finale.length - 1);\r\n\t\tif (\";,:.?!\".indexOf(c) >= 0) {\r\n\t\t\tfinale = finale.substr(0, finale.length - 2);\r\n\t\t}\r\n\t\tfinale = finale + chiusura[Pqp.rnd(chiusura.length - 1)];\r\n\r\n\r\n\t\tvar c = finale.charAt(finale.length - 3);\r\n\t\tif (c == \" \") {\r\n\t\t\t//trace(\"-->\"+finale);\r\n\t\t\tfinale = jQuery.trim(finale.substr(0, finale.length - 3));\r\n\t\t\tvar c = finale.charAt(finale.length - 1);\r\n\t\t\tif (\";,:.?!\".indexOf(c) >= 0) {\r\n\t\t\t\tfinale = finale.substr(0, finale.length - 2);\r\n\t\t\t}\r\n\t\t\tfinale = finale + chiusura[Pqp.rnd(chiusura.length - 1)];\r\n\t\t}\r\n\r\n\r\n\t\tif ((lUid) || (lNoPunteggiatura)) {\r\n\r\n\t\t\tfor (var x = 0; x < punteggiatura.length; x++) {\r\n\t\t\t\tfinale = Pqp.safeReplace(finale, punteggiatura[x], \"\");\r\n\t\t\t}\r\n\t\t\tfor (var x = 0; x < chiusura.length; x++) {\r\n\t\t\t\tfinale = Pqp.safeReplace(finale, chiusura[x], \"\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (lUid) {\r\n\t\t\tfinale = Pqp.safeReplace(finale, \" \", \"\");\r\n\t\t\tfinale = Pqp.safeReplace(finale, \" \", \"\");\r\n\t\t\tif (finale.length > 17) {\r\n\t\t\t\tfinale = finale.substr(0, 17);\r\n\t\t\t}\r\n\t\t\tfinale = \"uid\" + finale.toLowerCase();\r\n\t\t}\r\n\r\n\r\n\t\tif (lEmail) {\r\n\t\t\tfinale = (nomi[Pqp.rnd(nomi.length - 1)] + \".\" + cognomi[Pqp.rnd(cognomi.length - 1)] + \"@\" + finale.substr(0, Pqp.rnd(10, 5)) + domini[Pqp.rnd(domini.length - 1)]).toLowerCase();\r\n\t\t\tfinale = Pqp.safeReplace(finale, \" \", \"\");\r\n\t\t}\r\n\r\n\r\n\t\treturn finale;\r\n\t}\r\n\r\n\r\n\tstatic formattaNumeroConMigliaia(n) {\r\n\t\tvar ret = \"\";\r\n\t\tvar tmp = n + \"\";\r\n\t\t//\r\n\t\tvar cnt = 0;\r\n\t\tfor (var i = tmp.length - 1; i >= 0; i--) {\r\n\t\t\tif (cnt == 3) {\r\n\t\t\t\tret = \".\" + ret;\r\n\t\t\t\tcnt = 0;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tcnt++;\r\n\t\t\t}\r\n\t\t\tret = tmp.charAt(i) + ret;\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n\r\n\r\n\tstatic newGuid() {\r\n\t\tvar uid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n\t\t\tvar r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n\t\t\treturn v.toString(16);\r\n\t\t});\r\n\t\treturn Pqp.replace(uid, \"-\", \"\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\tstatic removeDiacritics(str) {\r\n\t\tif (!Pqp.diacriticsMap) {\r\n\t\t\tPqp.diacriticsMap = {};\r\n\t\t}\r\n\t\tfor (var i = 0; i < Pqp.defaultDiacriticsRemovalap.length; i++) {\r\n\t\t\tvar letters = Pqp.defaultDiacriticsRemovalap[i].letters.split(\"\");\r\n\t\t\tfor (var j = 0; j < letters.length; j++) {\r\n\t\t\t\tPqp.diacriticsMap[letters[j]] = Pqp.defaultDiacriticsRemovalap[i].base;\r\n\t\t\t}\r\n\t\t};\r\n\t\tvar letters = str.split(\"\");\r\n\t\tvar newStr = \"\";\r\n\t\tfor (var i = 0; i < letters.length; i++) {\r\n\t\t\tnewStr += letters[i] in Pqp.diacriticsMap ? Pqp.diacriticsMap[letters[i]] : letters[i];\r\n\t\t}\r\n\t\treturn newStr;\r\n\t}\r\n\r\n\tstatic isMobile() {\r\n\t\tlet mobile = false;\r\n\t\tif (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {\r\n\t\t\tmobile = true;\r\n\t\t}\r\n\t\tlet isIOS = /iPad|iPhone|iPod/i.test(navigator.userAgent) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)\r\n\t\tif (isIOS) {\r\n\t\t\tmobile = true;\r\n\t\t}\r\n\t\treturn mobile;\r\n\t}\r\n\r\n\tstatic isIpaddone() {\r\n\t\tlet mobile = Pqp.isMobile();\r\n\t\t// Controllo ipadpro\r\n\t\tlet lIpaddone = false;\r\n\t\tif (mobile) {\r\n\t\t\tif ((window.innerHeight > 900) && (window.innerWidth > 900)) {\r\n\t\t\t\tlIpaddone = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn lIpaddone;\r\n\t}\r\n\r\n\tstatic isIos() {\r\n\t\tlet isIOS = /iPad|iPhone|iPod/i.test(navigator.userAgent) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)\r\n\r\n\t\t/*isIOS = false;\r\n\t\tif (/iPhone|iPad|iPod/i.test(navigator.userAgent)) {\r\n\t\t\tisIOS = true;\r\n\t\t}*/\r\n\r\n\t\treturn isIOS;\r\n\t}\r\n\r\n}\r\n\r\n\r\nPqp.diacriticsMap = null;\r\nPqp.defaultDiacriticsRemovalap = [\r\n\t{ 'base': 'A', 'letters': '\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F' },\r\n\t{ 'base': 'AA', 'letters': '\\uA732' },\r\n\t{ 'base': 'AE', 'letters': '\\u00C6\\u01FC\\u01E2' },\r\n\t{ 'base': 'AO', 'letters': '\\uA734' },\r\n\t{ 'base': 'AU', 'letters': '\\uA736' },\r\n\t{ 'base': 'AV', 'letters': '\\uA738\\uA73A' },\r\n\t{ 'base': 'AY', 'letters': '\\uA73C' },\r\n\t{ 'base': 'B', 'letters': '\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181' },\r\n\t{ 'base': 'C', 'letters': '\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E' },\r\n\t{ 'base': 'D', 'letters': '\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779' },\r\n\t{ 'base': 'DZ', 'letters': '\\u01F1\\u01C4' },\r\n\t{ 'base': 'Dz', 'letters': '\\u01F2\\u01C5' },\r\n\t{ 'base': 'E', 'letters': '\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E' },\r\n\t{ 'base': 'F', 'letters': '\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B' },\r\n\t{ 'base': 'G', 'letters': '\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E' },\r\n\t{ 'base': 'H', 'letters': '\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D' },\r\n\t{ 'base': 'I', 'letters': '\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197' },\r\n\t{ 'base': 'J', 'letters': '\\u004A\\u24BF\\uFF2A\\u0134\\u0248' },\r\n\t{ 'base': 'K', 'letters': '\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2' },\r\n\t{ 'base': 'L', 'letters': '\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780' },\r\n\t{ 'base': 'LJ', 'letters': '\\u01C7' },\r\n\t{ 'base': 'Lj', 'letters': '\\u01C8' },\r\n\t{ 'base': 'M', 'letters': '\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C' },\r\n\t{ 'base': 'N', 'letters': '\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4' },\r\n\t{ 'base': 'NJ', 'letters': '\\u01CA' },\r\n\t{ 'base': 'Nj', 'letters': '\\u01CB' },\r\n\t{ 'base': 'O', 'letters': '\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C' },\r\n\t{ 'base': 'OI', 'letters': '\\u01A2' },\r\n\t{ 'base': 'OO', 'letters': '\\uA74E' },\r\n\t{ 'base': 'OU', 'letters': '\\u0222' },\r\n\t{ 'base': 'P', 'letters': '\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754' },\r\n\t{ 'base': 'Q', 'letters': '\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A' },\r\n\t{ 'base': 'R', 'letters': '\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782' },\r\n\t{ 'base': 'S', 'letters': '\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784' },\r\n\t{ 'base': 'T', 'letters': '\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786' },\r\n\t{ 'base': 'TZ', 'letters': '\\uA728' },\r\n\t{ 'base': 'U', 'letters': '\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244' },\r\n\t{ 'base': 'V', 'letters': '\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245' },\r\n\t{ 'base': 'VY', 'letters': '\\uA760' },\r\n\t{ 'base': 'W', 'letters': '\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72' },\r\n\t{ 'base': 'X', 'letters': '\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C' },\r\n\t{ 'base': 'Y', 'letters': '\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE' },\r\n\t{ 'base': 'Z', 'letters': '\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762' },\r\n\t{ 'base': 'a', 'letters': '\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250' },\r\n\t{ 'base': 'aa', 'letters': '\\uA733' },\r\n\t{ 'base': 'ae', 'letters': '\\u00E6\\u01FD\\u01E3' },\r\n\t{ 'base': 'ao', 'letters': '\\uA735' },\r\n\t{ 'base': 'au', 'letters': '\\uA737' },\r\n\t{ 'base': 'av', 'letters': '\\uA739\\uA73B' },\r\n\t{ 'base': 'ay', 'letters': '\\uA73D' },\r\n\t{ 'base': 'b', 'letters': '\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253' },\r\n\t{ 'base': 'c', 'letters': '\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184' },\r\n\t{ 'base': 'd', 'letters': '\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A' },\r\n\t{ 'base': 'dz', 'letters': '\\u01F3\\u01C6' },\r\n\t{ 'base': 'e', 'letters': '\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD' },\r\n\t{ 'base': 'f', 'letters': '\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C' },\r\n\t{ 'base': 'g', 'letters': '\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F' },\r\n\t{ 'base': 'h', 'letters': '\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265' },\r\n\t{ 'base': 'hv', 'letters': '\\u0195' },\r\n\t{ 'base': 'i', 'letters': '\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131' },\r\n\t{ 'base': 'j', 'letters': '\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249' },\r\n\t{ 'base': 'k', 'letters': '\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3' },\r\n\t{ 'base': 'l', 'letters': '\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747' },\r\n\t{ 'base': 'lj', 'letters': '\\u01C9' },\r\n\t{ 'base': 'm', 'letters': '\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F' },\r\n\t{ 'base': 'n', 'letters': '\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5' },\r\n\t{ 'base': 'nj', 'letters': '\\u01CC' },\r\n\t{ 'base': 'o', 'letters': '\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275' },\r\n\t{ 'base': 'oi', 'letters': '\\u01A3' },\r\n\t{ 'base': 'ou', 'letters': '\\u0223' },\r\n\t{ 'base': 'oo', 'letters': '\\uA74F' },\r\n\t{ 'base': 'p', 'letters': '\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755' },\r\n\t{ 'base': 'q', 'letters': '\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759' },\r\n\t{ 'base': 'r', 'letters': '\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783' },\r\n\t{ 'base': 's', 'letters': '\\u0073\\u24E2\\uFF53\\u00DF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B' },\r\n\t{ 'base': 't', 'letters': '\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787' },\r\n\t{ 'base': 'tz', 'letters': '\\uA729' },\r\n\t{ 'base': 'u', 'letters': '\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289' },\r\n\t{ 'base': 'v', 'letters': '\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C' },\r\n\t{ 'base': 'vy', 'letters': '\\uA761' },\r\n\t{ 'base': 'w', 'letters': '\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73' },\r\n\t{ 'base': 'x', 'letters': '\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D' },\r\n\t{ 'base': 'y', 'letters': '\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF' },\r\n\t{ 'base': 'z', 'letters': '\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763' }\r\n];\r\n\r\n\r\n","import Pqp from \"./Pqp.js\";\r\n\r\nexport default class Lng {\r\n\tstatic l(id, ...rest) {\r\n\t\tif (Pqp.isNullOrEmpty(Lng.data)) {\r\n\t\t\tLng.data = TheApp.Res[TheApp.Env.Locale];\r\n\t\t}\r\n\t\tlet a = Lng.data;\r\n\t\tlet ret = \"\"\r\n\t\tlet value = a[id];\r\n\t\tif (!Pqp.isNullOrEmpty(value)) {\r\n\t\t\treturn Lng.applyValues(value, rest);\r\n\t\t}\r\n\t\t\r\n\t\tconsole.log(\"Warning, non trovato idtesto \" + id);\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tstatic applyValues(s, parms) {\r\n\t\tlet ret = s;\r\n\t\tfor (let x = 0; x < parms.length; x++) {\r\n\t\t\tret = Pqp.safeReplace(ret, \"{{\" + x + \"}}\", \"\" + parms[x]);\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n\r\n}\r\nLng.data = null;","export default class Globals {\r\n\tstatic getBaseUrl() {\r\n\t\ttry {\r\n\t\t\tApp\r\n\t\t} catch (e) {\r\n\t\t\treturn \"/\"\r\n\t\t}\r\n\t\treturn TheApp.Env.BaseUrl;\r\n\t}\r\n\r\n}\r\n\r\nGlobals.API_KEY = \"WEB.0.0\";\r\n\r\n// Mostra nella console i dati di tracking \r\nGlobals.SHOW_TRACKING_DATA = false;\r\n\r\n// Mostra nella console le chiamate del service manager\r\nGlobals.SERVICE_MANAGER_SHOW_CALLS = false;\r\n\r\n// Esclude totalmente il processo fake\r\n//Globals.SERVICE_MANAGER_USE_FAKE = true && (TheApp.Env.globalKeySet == \"dev\");","/**\n * SSR Window 3.0.0\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target, src) {\n if (target === void 0) { target = {}; }\n if (src === void 0) { src = {}; }\n Object.keys(src).forEach(function (key) {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nvar ssrDocument = {\n body: {},\n addEventListener: function () { },\n removeEventListener: function () { },\n activeElement: {\n blur: function () { },\n nodeName: '',\n },\n querySelector: function () {\n return null;\n },\n querySelectorAll: function () {\n return [];\n },\n getElementById: function () {\n return null;\n },\n createEvent: function () {\n return {\n initEvent: function () { },\n };\n },\n createElement: function () {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function () { },\n getElementsByTagName: function () {\n return [];\n },\n };\n },\n createElementNS: function () {\n return {};\n },\n importNode: function () {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n var doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nvar ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState: function () { },\n pushState: function () { },\n go: function () { },\n back: function () { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function () { },\n removeEventListener: function () { },\n getComputedStyle: function () {\n return {\n getPropertyValue: function () {\n return '';\n },\n };\n },\n Image: function () { },\n Date: function () { },\n screen: {},\n setTimeout: function () { },\n clearTimeout: function () { },\n matchMedia: function () {\n return {};\n },\n requestAnimationFrame: function (callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame: function (id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n var win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","/**\n * Dom7 3.0.0\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n var proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get: function get() {\n return proto;\n },\n set: function set(value) {\n proto.__proto__ = value;\n }\n });\n}\n\nvar Dom7 = /*#__PURE__*/function (_Array) {\n _inheritsLoose(Dom7, _Array);\n\n function Dom7(items) {\n var _this;\n\n _this = _Array.call.apply(_Array, [this].concat(items)) || this;\n makeReactive(_assertThisInitialized(_this));\n return _this;\n }\n\n return Dom7;\n}( /*#__PURE__*/_wrapNativeSuper(Array));\n\nfunction arrayFlat(arr) {\n if (arr === void 0) {\n arr = [];\n }\n\n var res = [];\n arr.forEach(function (el) {\n if (Array.isArray(el)) {\n res.push.apply(res, arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n var uniqueArray = [];\n\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group) {\n return group.toUpperCase();\n });\n}\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n var a = [];\n var res = context.querySelectorAll(selector);\n\n for (var i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n var window = getWindow();\n var document = getDocument();\n var arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n var html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf(' 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n var el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute(\"data-\" + key);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n var el = this[0];\n if (!el) return undefined;\n var dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n var _attr = el.attributes[i];\n\n if (_attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(_attr.name.split('data-')[1])] = _attr.value;\n }\n }\n }\n\n for (var key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n var el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n var values = [];\n\n for (var i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (var _i = 0; _i < this.length; _i += 1) {\n var _el = this[_i];\n\n if (Array.isArray(value) && _el.multiple && _el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < _el.options.length; j += 1) {\n _el.options[j].selected = value.indexOf(_el.options[j].value) >= 0;\n }\n } else {\n _el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? duration + \"ms\" : duration;\n }\n\n return this;\n}\n\nfunction on() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) return;\n var eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n var _parents = $(target).parents(); // eslint-disable-line\n\n\n for (var k = 0; k < _parents.length; k += 1) {\n if ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n var events = eventType.split(' ');\n var j;\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var _event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];\n\n el.dom7LiveListeners[_event].push({\n listener: listener,\n proxyListener: handleLiveEvent\n });\n\n el.addEventListener(_event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n var events = eventType.split(' ');\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = void 0;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once() {\n var dom = this;\n\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n var eventName = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventName = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n function onceHandler() {\n for (var _len8 = arguments.length, eventArgs = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n eventArgs[_key8] = arguments[_key8];\n }\n\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger() {\n var window = getWindow();\n\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n var events = args[0].split(' ');\n var eventData = args[1];\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n\n if (window.CustomEvent) {\n var evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter(function (data, dataIndex) {\n return dataIndex > 0;\n });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles = this.styles();\n\n return this[0].offsetWidth + parseFloat(_styles.getPropertyValue('margin-right')) + parseFloat(_styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles2 = this.styles();\n\n return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === window ? window.scrollY : el.scrollTop;\n var scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n var window = getWindow();\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n var window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n var window = getWindow();\n var i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (var _prop in props) {\n this[i].style[_prop] = props[_prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach(function (el, index) {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n var result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n var child = this[0];\n var i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n var returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append() {\n var newChild;\n var document = getDocument();\n\n for (var k = 0; k < arguments.length; k += 1) {\n newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];\n\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n var document = getDocument();\n var i;\n var j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n var before = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n var after = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n var _next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_next).is(selector)) nextEls.push(_next);\n } else nextEls.push(_next);\n\n el = _next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n var _prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_prev).is(selector)) prevEls.push(_prev);\n } else prevEls.push(_prev);\n\n el = _prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var _parent = this[i].parentNode; // eslint-disable-line\n\n while (_parent) {\n if (selector) {\n if ($(_parent).is(selector)) parents.push(_parent);\n } else {\n parents.push(_parent);\n }\n\n _parent = _parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n var closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n var foundElements = [];\n\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n var children = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].children;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add() {\n var dom = this;\n var i;\n var j;\n\n for (var _len10 = arguments.length, els = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n els[_key10] = arguments[_key10];\n }\n\n for (i = 0; i < els.length; i += 1) {\n var toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\nfunction scrollTo() {\n var window = getWindow();\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var left = args[0],\n top = args[1],\n duration = args[2],\n easing = args[3],\n callback = args[4];\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n left = args[0];\n top = args[1];\n duration = args[2];\n callback = args[3];\n easing = args[4];\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n\n var scrollLeft; // eslint-disable-line\n\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time) {\n if (time === void 0) {\n time = new Date().getTime();\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n var done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var top = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n top = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var left = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n left = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\nfunction animate(initialProps, initialParams) {\n var window = getWindow();\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n easingProgress: function easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n stop: function stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n var elements = []; // Define & Cache Initials & Units\n\n a.elements.each(function (el, index) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue\n };\n });\n });\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(function (element) {\n var el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var _el$prop = el[prop],\n initialValue = _el$prop.initialValue,\n finalValue = _el$prop.finalValue,\n unit = _el$prop.unit;\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n var currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n var els = this;\n\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nvar noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on.apply(this, [name].concat(args));\n }\n\n return eventHandler;\n}\n\nvar click = shortcut('click');\nvar blur = shortcut('blur');\nvar focus = shortcut('focus');\nvar focusin = shortcut('focusin');\nvar focusout = shortcut('focusout');\nvar keyup = shortcut('keyup');\nvar keydown = shortcut('keydown');\nvar keypress = shortcut('keypress');\nvar submit = shortcut('submit');\nvar change = shortcut('change');\nvar mousedown = shortcut('mousedown');\nvar mousemove = shortcut('mousemove');\nvar mouseup = shortcut('mouseup');\nvar mouseenter = shortcut('mouseenter');\nvar mouseleave = shortcut('mouseleave');\nvar mouseout = shortcut('mouseout');\nvar mouseover = shortcut('mouseover');\nvar touchstart = shortcut('touchstart');\nvar touchend = shortcut('touchend');\nvar touchmove = shortcut('touchmove');\nvar resize = shortcut('resize');\nvar scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, trigger, val, value, width };\n","import { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, transform, transition, on, off, trigger, transitionEnd, outerWidth, outerHeight, styles, offset, css, each, html, text, is, index, eq, append, prepend, next, nextAll, prev, prevAll, parent, parents, closest, find, children, filter, remove } from 'dom7';\nvar Methods = {\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n trigger: trigger,\n transitionEnd: transitionEnd,\n outerWidth: outerWidth,\n outerHeight: outerHeight,\n styles: styles,\n offset: offset,\n css: css,\n each: each,\n html: html,\n text: text,\n is: is,\n index: index,\n eq: eq,\n append: append,\n prepend: prepend,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n filter: filter,\n remove: remove\n};\nObject.keys(Methods).forEach(function (methodName) {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nexport default $;","import { getDocument, getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n var object = obj;\n Object.keys(object).forEach(function (key) {\n try {\n object[key] = null;\n } catch (e) {// no getter for object\n }\n\n try {\n delete object[key];\n } catch (e) {// something got wrong\n }\n });\n}\n\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n\n return setTimeout(callback, delay);\n}\n\nfunction now() {\n return Date.now();\n}\n\nfunction getComputedStyle(el) {\n var window = getWindow();\n var style;\n\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\n\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n\n var window = getWindow();\n var matrix;\n var curTransform;\n var transformMatrix;\n var curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function (a) {\n return a.replace(',', '.');\n }).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n}\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\n\nfunction extend() {\n var to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (var i = 1; i < arguments.length; i += 1) {\n var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n var keysArray = Object.keys(Object(nextSource)).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n });\n\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n}\n\nfunction bindModuleMethods(instance, obj) {\n Object.keys(obj).forEach(function (key) {\n if (isObject(obj[key])) {\n Object.keys(obj[key]).forEach(function (subKey) {\n if (typeof obj[key][subKey] === 'function') {\n obj[key][subKey] = obj[key][subKey].bind(instance);\n }\n });\n }\n\n instance[key] = obj[key];\n });\n}\n\nfunction classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n\n return \".\" + classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.');\n}\n\nfunction createElementIfNotDefined($container, params, createElements, checkProps) {\n var document = getDocument();\n\n if (createElements) {\n Object.keys(checkProps).forEach(function (key) {\n if (!params[key] && params.auto === true) {\n var element = document.createElement('div');\n element.className = checkProps[key];\n $container.append(element);\n params[key] = element;\n }\n });\n }\n\n return params;\n}\n\nexport { deleteProps, nextTick, now, getTranslate, isObject, extend, bindModuleMethods, getComputedStyle, classesToSelector, createElementIfNotDefined };","import { getWindow, getDocument } from 'ssr-window';\nvar support;\n\nfunction calcSupport() {\n var window = getWindow();\n var document = getDocument();\n return {\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\n pointerEvents: !!window.PointerEvent && 'maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints >= 0,\n observer: function checkObserver() {\n return 'MutationObserver' in window || 'WebkitMutationObserver' in window;\n }(),\n passiveListener: function checkPassiveListener() {\n var supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {// No support\n }\n\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return 'ongesturestart' in window;\n }()\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n\n return support;\n}\n\nexport { getSupport };","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support';\nvar device;\n\nfunction calcDevice(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n userAgent = _ref.userAgent;\n\n var support = getSupport();\n var window = getWindow();\n var platform = window.navigator.platform;\n var ua = userAgent || window.navigator.userAgent;\n var device = {\n ios: false,\n android: false\n };\n var screenWidth = window.screen.width;\n var screenHeight = window.screen.height;\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n var windows = platform === 'Win32';\n var macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n var iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n\n if (!ipad && macos && support.touch && iPadScreens.indexOf(screenWidth + \"x\" + screenHeight) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n } // Android\n\n\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n } // Export object\n\n\n return device;\n}\n\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n\n if (!device) {\n device = calcDevice(overrides);\n }\n\n return device;\n}\n\nexport { getDevice };","import { getWindow } from 'ssr-window';\nvar browser;\n\nfunction calcBrowser() {\n var window = getWindow();\n\n function isSafari() {\n var ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isEdge: !!window.navigator.userAgent.match(/Edge/g),\n isSafari: isSafari(),\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\n\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n\n return browser;\n}\n\nexport { getBrowser };","import { getWindow } from 'ssr-window';\nimport { extend } from '../../utils/utils';\n\nvar supportsResizeObserver = function supportsResizeObserver() {\n var window = getWindow();\n return typeof window.ResizeObserver !== 'undefined';\n};\n\nexport default {\n name: 'resize',\n create: function create() {\n var swiper = this;\n extend(swiper, {\n resize: {\n observer: null,\n createObserver: function createObserver() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.resize.observer = new ResizeObserver(function (entries) {\n var width = swiper.width,\n height = swiper.height;\n var newWidth = width;\n var newHeight = height;\n entries.forEach(function (_ref) {\n var contentBoxSize = _ref.contentBoxSize,\n contentRect = _ref.contentRect,\n target = _ref.target;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n\n if (newWidth !== width || newHeight !== height) {\n swiper.resize.resizeHandler();\n }\n });\n swiper.resize.observer.observe(swiper.el);\n },\n removeObserver: function removeObserver() {\n if (swiper.resize.observer && swiper.resize.observer.unobserve && swiper.el) {\n swiper.resize.observer.unobserve(swiper.el);\n swiper.resize.observer = null;\n }\n },\n resizeHandler: function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('beforeResize');\n swiper.emit('resize');\n },\n orientationChangeHandler: function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('orientationchange');\n }\n }\n });\n },\n on: {\n init: function init(swiper) {\n var window = getWindow();\n\n if (swiper.params.resizeObserver && supportsResizeObserver()) {\n swiper.resize.createObserver();\n return;\n } // Emit resize\n\n\n window.addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange\n\n window.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n },\n destroy: function destroy(swiper) {\n var window = getWindow();\n swiper.resize.removeObserver();\n window.removeEventListener('resize', swiper.resize.resizeHandler);\n window.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Observer = {\n attach: function attach(target, options) {\n if (options === void 0) {\n options = {};\n }\n\n var window = getWindow();\n var swiper = this;\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n var observer = new ObserverFunc(function (mutations) {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n swiper.emit('observerUpdate', mutations[0]);\n return;\n }\n\n var observerUpdate = function observerUpdate() {\n swiper.emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n swiper.observer.observers.push(observer);\n },\n init: function init() {\n var swiper = this;\n if (!swiper.support.observer || !swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n var containerParents = swiper.$el.parents();\n\n for (var i = 0; i < containerParents.length; i += 1) {\n swiper.observer.attach(containerParents[i]);\n }\n } // Observe container\n\n\n swiper.observer.attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n swiper.observer.attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.observer.observers.forEach(function (observer) {\n observer.disconnect();\n });\n swiper.observer.observers = [];\n }\n};\nexport default {\n name: 'observer',\n params: {\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n observer: _extends({}, Observer, {\n observers: []\n })\n });\n },\n on: {\n init: function init(swiper) {\n swiper.observer.init();\n },\n destroy: function destroy(swiper) {\n swiper.observer.destroy();\n }\n }\n};","/* eslint-disable no-underscore-dangle */\nexport default {\n on: function on(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(function (event) {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once: function once(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n\n function onceHandler() {\n self.off(events, onceHandler);\n\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n handler.apply(self, args);\n }\n\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny: function onAny(handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n\n return self;\n },\n offAny: function offAny(handler) {\n var self = this;\n if (!self.eventsAnyListeners) return self;\n var index = self.eventsAnyListeners.indexOf(handler);\n\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n\n return self;\n },\n off: function off(events, handler) {\n var self = this;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(function (event) {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler, index) {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit: function emit() {\n var self = this;\n if (!self.eventsListeners) return self;\n var events;\n var data;\n var context;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n\n data.unshift(context);\n var eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(function (event) {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(function (eventHandler) {\n eventHandler.apply(context, [event].concat(data));\n });\n }\n\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler) {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};","import updateSize from './updateSize';\nimport updateSlides from './updateSlides';\nimport updateAutoHeight from './updateAutoHeight';\nimport updateSlidesOffset from './updateSlidesOffset';\nimport updateSlidesProgress from './updateSlidesProgress';\nimport updateProgress from './updateProgress';\nimport updateSlidesClasses from './updateSlidesClasses';\nimport updateActiveIndex from './updateActiveIndex';\nimport updateClickedSlide from './updateClickedSlide';\nexport default {\n updateSize: updateSize,\n updateSlides: updateSlides,\n updateAutoHeight: updateAutoHeight,\n updateSlidesOffset: updateSlidesOffset,\n updateSlidesProgress: updateSlidesProgress,\n updateProgress: updateProgress,\n updateSlidesClasses: updateSlidesClasses,\n updateActiveIndex: updateActiveIndex,\n updateClickedSlide: updateClickedSlide\n};","import { extend } from '../../../utils/utils';\nexport default function updateSize() {\n var swiper = this;\n var width;\n var height;\n var $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);\n height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n extend(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { extend } from '../../../utils/utils';\nexport default function updateSlides() {\n var swiper = this;\n\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n } // prettier-ignore\n\n\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n var params = swiper.params;\n var $wrapperEl = swiper.$wrapperEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = $wrapperEl.children(\".\" + swiper.params.slideClass);\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n var offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.slidesGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginBottom: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: '',\n marginTop: ''\n });\n var slidesNumberEvenToRows;\n\n if (params.slidesPerColumn > 1) {\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\n }\n\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\n }\n } // Calc slides\n\n\n var slideSize;\n var slidesPerColumn = params.slidesPerColumn;\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n var numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);\n\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n var slide = slides.eq(i);\n\n if (params.slidesPerColumn > 1) {\n // Set slides order\n var newSlideOrderIndex = void 0;\n var column = void 0;\n var row = void 0;\n\n if (params.slidesPerColumnFill === 'row' && params.slidesPerGroup > 1) {\n var groupIndex = Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));\n var slideIndexInGroup = i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;\n var columnsInGroup = groupIndex === 0 ? params.slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * params.slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\n slide.css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex\n });\n } else if (params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - column * slidesPerColumn;\n\n if (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {\n row += 1;\n\n if (row >= slidesPerColumn) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n\n slide.css(getDirectionLabel('margin-top'), row !== 0 ? params.spaceBetween && params.spaceBetween + \"px\" : '');\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n var slideStyles = getComputedStyle(slide[0]);\n var currentTransform = slide[0].style.transform;\n var currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n var width = getDirectionPropertyValue(slideStyles, 'width');\n var paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n var paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n var marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n var marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n var _slide$ = slide[0],\n clientWidth = _slide$.clientWidth,\n offsetWidth = _slide$.offsetWidth;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = slideSize + \"px\";\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n var newSlidesGrid;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: swiper.virtualSize + params.spaceBetween + \"px\"\n });\n }\n\n if (params.setWrapperSize) {\n var _$wrapperEl$css;\n\n $wrapperEl.css((_$wrapperEl$css = {}, _$wrapperEl$css[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css));\n }\n\n if (params.slidesPerColumn > 1) {\n var _$wrapperEl$css2;\n\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\n $wrapperEl.css((_$wrapperEl$css2 = {}, _$wrapperEl$css2[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css2));\n\n if (params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i = 0; _i < snapGrid.length; _i += 1) {\n var slidesGridItem = snapGrid[_i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n\n snapGrid = newSlidesGrid;\n }\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {\n var _slidesGridItem = snapGrid[_i2];\n if (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);\n\n if (snapGrid[_i2] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(_slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n var _slides$filter$css;\n\n var key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter(function (_, slideIndex) {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css((_slides$filter$css = {}, _slides$filter$css[key] = spaceBetween + \"px\", _slides$filter$css));\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n var allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n var maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(function (snap) {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n var _allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n _allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n _allSlidesSize -= params.spaceBetween;\n\n if (_allSlidesSize < swiperSize) {\n var allSlidesOffset = (swiperSize - _allSlidesSize) / 2;\n snapGrid.forEach(function (snap, snapIndex) {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach(function (snap, snapIndex) {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n extend(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\n });\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateSlidesOffset();\n }\n}","export default function updateAutoHeight(speed) {\n var swiper = this;\n var activeSlides = [];\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var newHeight = 0;\n var i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n var getSlideByIndex = function getSlideByIndex(index) {\n if (isVirtual) {\n return swiper.slides.filter(function (el) {\n return parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index;\n })[0];\n }\n\n return swiper.slides.eq(index)[0];\n }; // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n swiper.visibleSlides.each(function (slide) {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight) swiper.$wrapperEl.css('height', newHeight + \"px\");\n}","export default function updateSlidesOffset() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}","import $ from '../../../utils/dom';\nexport default function updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n var offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (var i = 0; i < slides.length; i += 1) {\n var slide = slides[i];\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n\n if (params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) {\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n var isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n }\n\n slide.progress = rtl ? -slideProgress : slideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n}","import { extend } from '../../../utils/utils';\nexport default function updateProgress(translate) {\n var swiper = this;\n\n if (typeof translate === 'undefined') {\n var multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\n\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n\n var params = swiper.params;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n var progress = swiper.progress,\n isBeginning = swiper.isBeginning,\n isEnd = swiper.isEnd;\n var wasBeginning = isBeginning;\n var wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n extend(swiper, {\n progress: progress,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}","export default function updateSlidesClasses() {\n var swiper = this;\n var slides = swiper.slides,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex,\n realIndex = swiper.realIndex;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(params.slideActiveClass + \" \" + params.slideNextClass + \" \" + params.slidePrevClass + \" \" + params.slideDuplicateActiveClass + \" \" + params.slideDuplicateNextClass + \" \" + params.slideDuplicatePrevClass);\n var activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + activeIndex + \"\\\"]\");\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n var nextSlide = activeSlide.nextAll(\".\" + params.slideClass).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n var prevSlide = activeSlide.prevAll(\".\" + params.slideClass).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n }\n }\n\n swiper.emitSlidesClasses();\n}","import { extend } from '../../../utils/utils';\nexport default function updateActiveIndex(newActiveIndex) {\n var swiper = this;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n params = swiper.params,\n previousIndex = swiper.activeIndex,\n previousRealIndex = swiper.realIndex,\n previousSnapIndex = swiper.snapIndex;\n var activeIndex = newActiveIndex;\n var snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n var skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n extend(swiper, {\n snapIndex: snapIndex,\n realIndex: realIndex,\n previousIndex: previousIndex,\n activeIndex: activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}","import $ from '../../../utils/dom';\nexport default function updateClickedSlide(e) {\n var swiper = this;\n var params = swiper.params;\n var slide = $(e.target).closest(\".\" + params.slideClass)[0];\n var slideFound = false;\n var slideIndex;\n\n if (slide) {\n for (var i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","import slideTo from './slideTo';\nimport slideToLoop from './slideToLoop';\nimport slideNext from './slideNext';\nimport slidePrev from './slidePrev';\nimport slideReset from './slideReset';\nimport slideToClosest from './slideToClosest';\nimport slideToClickedSlide from './slideToClickedSlide';\nexport default {\n slideTo: slideTo,\n slideToLoop: slideToLoop,\n slideNext: slideNext,\n slidePrev: slidePrev,\n slideReset: slideReset,\n slideToClosest: slideToClosest,\n slideToClickedSlide: slideToClickedSlide\n};","export default function slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(\"The 'index' argument cannot have type other than 'number' or 'string'. [\" + typeof index + \"] given.\");\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n var indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n var isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\"The passed-in 'index' (string) couldn't be converted to 'number'. [\" + index + \"] given.\");\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate,\n wrapperEl = swiper.wrapperEl,\n enabled = swiper.enabled;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n var snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n var translate = -snapGrid[snapIndex]; // Update progress\n\n swiper.updateProgress(translate); // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n var normalizedTranslate = -Math.floor(translate * 100);\n var normalizedGird = Math.floor(slidesGrid[i] * 100);\n var normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGird) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGird) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n var direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n var t = -translate;\n\n if (rtl) {\n t = wrapperEl.scrollWidth - wrapperEl.offsetWidth - t;\n }\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = t, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","export default function slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n snapGrid.forEach(function (snap) {\n if (!prevSnap && normalizedTranslate >= snap) prevSnap = snap;\n });\n }\n\n var prevIndex;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest(speed, runCallbacks, internal, threshold) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (threshold === void 0) {\n threshold = 0.5;\n }\n\n var swiper = this;\n var index = swiper.activeIndex;\n var skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n var currentSnap = swiper.snapGrid[snapIndex];\n var nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n var prevSnap = swiper.snapGrid[snapIndex - 1];\n var _currentSnap = swiper.snapGrid[snapIndex];\n\n if (translate - prevSnap <= (_currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}","import $ from '../../../utils/dom';\nimport { nextTick } from '../../../utils/utils';\nexport default function slideToClickedSlide() {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl;\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n var slideToIndex = swiper.clickedIndex;\n var realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import loopCreate from './loopCreate';\nimport loopFix from './loopFix';\nimport loopDestroy from './loopDestroy';\nexport default {\n loopCreate: loopCreate,\n loopFix: loopFix,\n loopDestroy: loopDestroy\n};","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loopCreate() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl; // Remove duplicated slides\n\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass).remove();\n var slides = $wrapperEl.children(\".\" + params.slideClass);\n\n if (params.loopFillGroupWithBlank) {\n var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankNode = $(document.createElement('div')).addClass(params.slideClass + \" \" + params.slideBlankClass);\n $wrapperEl.append(blankNode);\n }\n\n slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length) {\n swiper.loopedSlides = slides.length;\n }\n\n var prependSlides = [];\n var appendSlides = [];\n slides.each(function (el, index) {\n var slide = $(el);\n\n if (index < swiper.loopedSlides) {\n appendSlides.push(el);\n }\n\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) {\n prependSlides.push(el);\n }\n\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (var _i = 0; _i < appendSlides.length; _i += 1) {\n $wrapperEl.append($(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {\n $wrapperEl.prepend($(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}","export default function loopFix() {\n var swiper = this;\n swiper.emit('beforeLoopFix');\n var activeIndex = swiper.activeIndex,\n slides = swiper.slides,\n loopedSlides = swiper.loopedSlides,\n allowSlidePrev = swiper.allowSlidePrev,\n allowSlideNext = swiper.allowSlideNext,\n snapGrid = swiper.snapGrid,\n rtl = swiper.rtlTranslate;\n var newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n var snapTranslate = -snapGrid[activeIndex];\n var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n var slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n\n var _slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (_slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n}","export default function loopDestroy() {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n slides = swiper.slides;\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \",.\" + params.slideClass + \".\" + params.slideBlankClass).remove();\n slides.removeAttr('data-swiper-slide-index');\n}","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils'; // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\n\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n var found = el.closest(selector);\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n var swiper = this;\n var document = getDocument();\n var window = getWindow();\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n enabled = swiper.enabled;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n var $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return; // change target el for shadow root component\n\n var swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n\n if (swipingClassHasValue && e.target && e.target.shadowRoot && event.path && event.path[0]) {\n $targetEl = $(event.path[0]);\n }\n\n var noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : \".\" + params.noSwipingClass;\n var isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element\n\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, e.target) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n var startX = touches.currentX;\n var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n extend(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n if ($targetEl.is(data.focusableElements)) preventDefault = false;\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils';\nexport default function onTouchMove(event) {\n var document = getDocument();\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n var targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n var pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n // isMoved = true;\n swiper.allowClick = false;\n\n if (data.isTouched) {\n extend(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n var touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n var diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n var disableParentSwiper = true;\n var resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return; // Update active index in free mode\n\n if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (params.freeMode) {\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../../utils/utils';\nexport default function onTouchEnd(event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n $wrapperEl = swiper.$wrapperEl,\n slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n var touchEndTime = now();\n var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n swiper.updateClickedSlide(e);\n swiper.emit('tap click', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(function () {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n var currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (params.freeMode) {\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n\n return;\n }\n\n if (params.freeModeMomentum) {\n if (data.velocities.length > 1) {\n var lastMoveEvent = data.velocities.pop();\n var velocityEvent = data.velocities.pop();\n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\n swiper.velocity = 0;\n } // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n\n\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\n data.velocities.length = 0;\n var momentumDuration = 1000 * params.freeModeMomentumRatio;\n var momentumDistance = swiper.velocity * momentumDuration;\n var newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\n var needsLoopFix;\n\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeModeSticky) {\n var nextSlide;\n\n for (var j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n\n newPosition = -newPosition;\n }\n\n if (needsLoopFix) {\n swiper.once('transitionEnd', function () {\n swiper.loopFix();\n });\n } // Fix duration\n\n\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n\n if (params.freeModeSticky) {\n // If freeModeSticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n var moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n var currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeModeMomentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n swiper.emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(function () {\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n swiper.emit('_freeModeNoMomentumRelease');\n }\n\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n return;\n } // Find current slide\n\n\n var stopIndex = 0;\n var groupSize = swiper.slidesSizesGrid[0];\n\n for (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n var _increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (typeof slidesGrid[i + _increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + _increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + _increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n } // Find current slide size\n\n\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n var increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n var isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","export default function onResize() {\n var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function onClick(e) {\n var swiper = this;\n if (!swiper.enabled) return;\n\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onScroll() {\n var swiper = this;\n var wrapperEl = swiper.wrapperEl,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n if (rtlTranslate) {\n swiper.translate = wrapperEl.scrollWidth - wrapperEl.offsetWidth - wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollLeft;\n }\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n } // eslint-disable-next-line\n\n\n if (swiper.translate === -0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n}","import { getDocument } from 'ssr-window';\nimport onTouchStart from './onTouchStart';\nimport onTouchMove from './onTouchMove';\nimport onTouchEnd from './onTouchEnd';\nimport onResize from './onResize';\nimport onClick from './onClick';\nimport onScroll from './onScroll';\nvar dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nfunction attachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.addEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.addEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.addEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.addEventListener(touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture: capture\n } : capture);\n el.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n\n if (!dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.addEventListener('mousedown', swiper.onTouchStart, false);\n document.addEventListener('mousemove', swiper.onTouchMove, capture);\n document.addEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.addEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.addEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper.on(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper.on('observerUpdate', onResize, true);\n }\n}\n\nfunction detachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'onTouchStart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n el.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.removeEventListener('mousedown', swiper.onTouchStart, false);\n document.removeEventListener('mousemove', swiper.onTouchMove, capture);\n document.removeEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.removeEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.removeEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n swiper.off(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize);\n}\n\nexport default {\n attachEvents: attachEvents,\n detachEvents: detachEvents\n};","import addClasses from './addClasses';\nimport removeClasses from './removeClasses';\nexport default {\n addClasses: addClasses,\n removeClasses: removeClasses\n};","function prepareClasses(entries, prefix) {\n var resultClasses = [];\n entries.forEach(function (item) {\n if (typeof item === 'object') {\n Object.keys(item).forEach(function (classNames) {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\n\nexport default function addClasses() {\n var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n $el = swiper.$el,\n device = swiper.device,\n support = swiper.support; // prettier-ignore\n\n var suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': support.pointerEvents && !support.touch\n }, {\n 'free-mode': params.freeMode\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'multirow': params.slidesPerColumn > 1\n }, {\n 'multirow-column': params.slidesPerColumn > 1 && params.slidesPerColumnFill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }], params.containerModifierClass);\n classNames.push.apply(classNames, suffixes);\n $el.addClass([].concat(classNames).join(' '));\n swiper.emitContainerClasses();\n}","export default function removeClasses() {\n var swiper = this;\n var $el = swiper.$el,\n classNames = swiper.classNames;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: false,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: false,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n // NS\n containerModifierClass: 'swiper-container-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { extend, now, deleteProps } from '../../utils/utils';\nimport { getSupport } from '../../utils/get-support';\nimport { getDevice } from '../../utils/get-device';\nimport { getBrowser } from '../../utils/get-browser';\nimport Resize from '../../modules/resize/resize';\nimport Observer from '../../modules/observer/observer';\nimport modular from './modular';\nimport eventsEmitter from './events-emitter';\nimport update from './update/index';\nimport translate from './translate/index';\nimport transition from './transition/index';\nimport slide from './slide/index';\nimport loop from './loop/index';\nimport grabCursor from './grab-cursor/index';\nimport manipulation from './manipulation/index';\nimport events from './events/index';\nimport breakpoints from './breakpoints/index';\nimport classes from './classes/index';\nimport images from './images/index';\nimport checkOverflow from './check-overflow/index';\nimport defaults from './defaults';\nvar prototypes = {\n modular: modular,\n eventsEmitter: eventsEmitter,\n update: update,\n translate: translate,\n transition: transition,\n slide: slide,\n loop: loop,\n grabCursor: grabCursor,\n manipulation: manipulation,\n events: events,\n breakpoints: breakpoints,\n checkOverflow: checkOverflow,\n classes: classes,\n images: images\n};\nvar extendedDefaults = {};\n\nvar Swiper = /*#__PURE__*/function () {\n function Swiper() {\n var el;\n var params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n el = args[0];\n params = args[1];\n }\n\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n var swipers = [];\n $(params.el).each(function (containerEl) {\n var newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return swipers;\n } // Swiper Instance\n\n\n var swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n\n if (typeof swiper.modules === 'undefined') {\n swiper.modules = {};\n }\n\n Object.keys(swiper.modules).forEach(function (moduleName) {\n var module = swiper.modules[moduleName];\n\n if (module.params) {\n var moduleParamName = Object.keys(module.params)[0];\n var moduleParams = module.params[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) return;\n\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n\n if (!(moduleParamName in params && 'enabled' in moduleParams)) return;\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n }\n }); // Extend defaults with modules params\n\n var swiperParams = extend({}, defaults);\n swiper.useParams(swiperParams); // Extend defaults with passed params\n\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params); // add event listeners\n\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(function (eventName) {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n } // Save Dom lib\n\n\n swiper.$ = $; // Extend Swiper\n\n extend(swiper, {\n enabled: swiper.params.enabled,\n el: el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n var touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n var desktop = ['mousedown', 'mousemove', 'mouseup'];\n\n if (swiper.support.pointerEvents) {\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\n }\n\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n }); // Install Modules\n\n swiper.useModules();\n swiper.emit('_swiper'); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n\n\n return swiper;\n }\n\n var _proto = Swiper.prototype;\n\n _proto.enable = function enable() {\n var swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n swiper.emit('enable');\n };\n\n _proto.disable = function disable() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n\n swiper.emit('disable');\n };\n\n _proto.setProgress = function setProgress(progress, speed) {\n var swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n var min = swiper.minTranslate();\n var max = swiper.maxTranslate();\n var current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n };\n\n _proto.emitContainerClasses = function emitContainerClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var classes = swiper.el.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-container') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', classes.join(' '));\n };\n\n _proto.getSlideClasses = function getSlideClasses(slideEl) {\n var swiper = this;\n return slideEl.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n };\n\n _proto.emitSlidesClasses = function emitSlidesClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var updates = [];\n swiper.slides.each(function (slideEl) {\n var classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl: slideEl,\n classNames: classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n };\n\n _proto.slidesPerViewDynamic = function slidesPerViewDynamic() {\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n swiperSize = swiper.size,\n activeIndex = swiper.activeIndex;\n var spv = 1;\n\n if (params.centeredSlides) {\n var slideSize = slides[activeIndex].swiperSlideSize;\n var breakLoop;\n\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (var _i = activeIndex - 1; _i >= 0; _i -= 1) {\n if (slides[_i] && !breakLoop) {\n slideSize += slides[_i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {\n if (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {\n spv += 1;\n }\n }\n }\n\n return spv;\n };\n\n _proto.update = function update() {\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var snapGrid = swiper.snapGrid,\n params = swiper.params; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n var translated;\n\n if (swiper.params.freeMode) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n };\n\n _proto.changeDirection = function changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n\n var swiper = this;\n var currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n swiper.$el.removeClass(\"\" + swiper.params.containerModifierClass + currentDirection).addClass(\"\" + swiper.params.containerModifierClass + newDirection);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.each(function (slideEl) {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n };\n\n _proto.mount = function mount(el) {\n var swiper = this;\n if (swiper.mounted) return true; // Find el\n\n var $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n var getWrapperSelector = function getWrapperSelector() {\n return \".\" + (swiper.params.wrapperClass || '').trim().split(' ').join('.');\n };\n\n var getWrapper = function getWrapper() {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n var res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = function (options) {\n return $el.children(options);\n };\n\n return res;\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n var $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n var document = getDocument();\n var wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(\".\" + swiper.params.slideClass).each(function (slideEl) {\n $wrapperEl.append(slideEl);\n });\n }\n\n extend(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box'\n });\n return true;\n };\n\n _proto.init = function init(el) {\n var swiper = this;\n if (swiper.initialized) return swiper;\n var mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n };\n\n _proto.destroy = function destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n };\n\n Swiper.extendDefaults = function extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n };\n\n Swiper.installModule = function installModule(module) {\n if (!Swiper.prototype.modules) Swiper.prototype.modules = {};\n var name = module.name || Object.keys(Swiper.prototype.modules).length + \"_\" + now();\n Swiper.prototype.modules[name] = module;\n };\n\n Swiper.use = function use(module) {\n if (Array.isArray(module)) {\n module.forEach(function (m) {\n return Swiper.installModule(m);\n });\n return Swiper;\n }\n\n Swiper.installModule(module);\n return Swiper;\n };\n\n _createClass(Swiper, null, [{\n key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return defaults;\n }\n }]);\n\n return Swiper;\n}();\n\nObject.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import { extend } from '../../utils/utils';\nexport default {\n useParams: function useParams(instanceParams) {\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName]; // Extend params\n\n if (module.params) {\n extend(instanceParams, module.params);\n }\n });\n },\n useModules: function useModules(modulesParams) {\n if (modulesParams === void 0) {\n modulesParams = {};\n }\n\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName];\n var moduleParams = modulesParams[moduleName] || {}; // Add event listeners\n\n if (module.on && instance.on) {\n Object.keys(module.on).forEach(function (moduleEventName) {\n instance.on(moduleEventName, module.on[moduleEventName]);\n });\n } // Module create callback\n\n\n if (module.create) {\n module.create.bind(instance)(moduleParams);\n }\n });\n }\n};","import getTranslate from './getTranslate';\nimport setTranslate from './setTranslate';\nimport minTranslate from './minTranslate';\nimport maxTranslate from './maxTranslate';\nimport translateTo from './translateTo';\nexport default {\n getTranslate: getTranslate,\n setTranslate: setTranslate,\n minTranslate: minTranslate,\n maxTranslate: maxTranslate,\n translateTo: translateTo\n};","import { getTranslate } from '../../../utils/utils';\nexport default function getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n\n var swiper = this;\n var params = swiper.params,\n rtl = swiper.rtlTranslate,\n translate = swiper.translate,\n $wrapperEl = swiper.$wrapperEl;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n if (params.cssMode) {\n return translate;\n }\n\n var currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","export default function setTranslate(translate, byController) {\n var swiper = this;\n var rtl = swiper.rtlTranslate,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n wrapperEl = swiper.wrapperEl,\n progress = swiper.progress;\n var x = 0;\n var y = 0;\n var z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(\"translate3d(\" + x + \"px, \" + y + \"px, \" + z + \"px)\");\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}","export default function minTranslate() {\n return -this.snapGrid[0];\n}","export default function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}","export default function translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n wrapperEl = swiper.wrapperEl;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n var minTranslate = swiper.minTranslate();\n var maxTranslate = swiper.maxTranslate();\n var newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress\n\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = -newTranslate, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","import setTransition from './setTransition';\nimport transitionStart from './transitionStart';\nimport transitionEnd from './transitionEnd';\nexport default {\n setTransition: setTransition,\n transitionStart: transitionStart,\n transitionEnd: transitionEnd\n};","export default function setTransition(duration, byController) {\n var swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}","export default function transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n params = swiper.params,\n previousIndex = swiper.previousIndex;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionStart');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionStart');\n return;\n }\n\n swiper.emit('slideChangeTransitionStart');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionStart');\n } else {\n swiper.emit('slidePrevTransitionStart');\n }\n }\n}","export default function transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex,\n params = swiper.params;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionEnd');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionEnd');\n return;\n }\n\n swiper.emit('slideChangeTransitionEnd');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionEnd');\n } else {\n swiper.emit('slidePrevTransitionEnd');\n }\n }\n}","import setGrabCursor from './setGrabCursor';\nimport unsetGrabCursor from './unsetGrabCursor';\nexport default {\n setGrabCursor: setGrabCursor,\n unsetGrabCursor: unsetGrabCursor\n};","export default function setGrabCursor(moving) {\n var swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n var el = swiper.el;\n el.style.cursor = 'move';\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}","export default function unsetGrabCursor() {\n var swiper = this;\n\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n\n swiper.el.style.cursor = '';\n}","import appendSlide from './appendSlide';\nimport prependSlide from './prependSlide';\nimport addSlide from './addSlide';\nimport removeSlide from './removeSlide';\nimport removeAllSlides from './removeAllSlides';\nexport default {\n appendSlide: appendSlide,\n prependSlide: prependSlide,\n addSlide: addSlide,\n removeSlide: removeSlide,\n removeAllSlides: removeAllSlides\n};","export default function appendSlide(slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n}","export default function prependSlide(slides) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n var newActiveIndex = activeIndex + 1;\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n swiper.slideTo(newActiveIndex, 0, false);\n}","export default function addSlide(index, slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var baseLength = swiper.slides.length;\n\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n var slidesBuffer = [];\n\n for (var i = baseLength - 1; i >= index; i -= 1) {\n var currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (slides[_i]) $wrapperEl.append(slides[_i]);\n }\n\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {\n $wrapperEl.append(slidesBuffer[_i2]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeSlide(slidesIndexes) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var newActiveIndex = activeIndexBuffer;\n var indexToRemove;\n\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (var i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeAllSlides() {\n var swiper = this;\n var slidesIndexes = [];\n\n for (var i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n\n swiper.removeSlide(slidesIndexes);\n}","import setBreakpoint from './setBreakpoint';\nimport getBreakpoint from './getBreakpoint';\nexport default {\n setBreakpoint: setBreakpoint,\n getBreakpoint: getBreakpoint\n};","import { extend } from '../../../utils/utils';\nexport default function setBreakpoint() {\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n initialized = swiper.initialized,\n _swiper$loopedSlides = swiper.loopedSlides,\n loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\n params = swiper.params,\n $el = swiper.$el;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n var breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams) {\n ['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param) {\n var paramValue = breakpointOnlyParams[param];\n if (typeof paramValue === 'undefined') return;\n\n if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {\n breakpointOnlyParams[param] = 'auto';\n } else if (param === 'slidesPerView') {\n breakpointOnlyParams[param] = parseFloat(paramValue);\n } else {\n breakpointOnlyParams[param] = parseInt(paramValue, 10);\n }\n });\n }\n\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var wasMultiRow = params.slidesPerColumn > 1;\n var isMultiRow = breakpointParams.slidesPerColumn > 1;\n var wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(params.containerModifierClass + \"multirow \" + params.containerModifierClass + \"multirow-column\");\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(params.containerModifierClass + \"multirow\");\n\n if (breakpointParams.slidesPerColumnFill && breakpointParams.slidesPerColumnFill === 'column' || !breakpointParams.slidesPerColumnFill && params.slidesPerColumnFill === 'column') {\n $el.addClass(params.containerModifierClass + \"multirow-column\");\n }\n\n swiper.emitContainerClasses();\n }\n\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n var isEnabled = swiper.params.enabled;\n extend(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n var breakpoint = false;\n var window = getWindow();\n var currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n var points = Object.keys(breakpoints).map(function (point) {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n var minRatio = parseFloat(point.substr(1));\n var value = currentHeight * minRatio;\n return {\n value: value,\n point: point\n };\n }\n\n return {\n value: point,\n point: point\n };\n });\n points.sort(function (a, b) {\n return parseInt(a.value, 10) - parseInt(b.value, 10);\n });\n\n for (var i = 0; i < points.length; i += 1) {\n var _points$i = points[i],\n point = _points$i.point,\n value = _points$i.value;\n\n if (base === 'window') {\n if (window.matchMedia(\"(min-width: \" + value + \"px)\").matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n}","function checkOverflow() {\n var swiper = this;\n var params = swiper.params;\n var wasLocked = swiper.isLocked;\n var lastSlidePosition = swiper.slides.length > 0 && params.slidesOffsetBefore + params.spaceBetween * (swiper.slides.length - 1) + swiper.slides[0].offsetWidth * swiper.slides.length;\n\n if (params.slidesOffsetBefore && params.slidesOffsetAfter && lastSlidePosition) {\n swiper.isLocked = lastSlidePosition <= swiper.size;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n swiper.allowSlideNext = !swiper.isLocked;\n swiper.allowSlidePrev = !swiper.isLocked; // events\n\n if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n if (swiper.navigation) swiper.navigation.update();\n }\n}\n\nexport default {\n checkOverflow: checkOverflow\n};","import loadImage from './loadImage';\nimport preloadImages from './preloadImages';\nexport default {\n loadImage: loadImage,\n preloadImages: preloadImages\n};","import { getWindow } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n var window = getWindow();\n var image;\n\n function onReady() {\n if (callback) callback();\n }\n\n var isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}","export default function preloadImages() {\n var swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\n var imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods } from '../../utils/utils';\nvar Virtual = {\n update: function update(force) {\n var swiper = this;\n var _swiper$params = swiper.params,\n slidesPerView = _swiper$params.slidesPerView,\n slidesPerGroup = _swiper$params.slidesPerGroup,\n centeredSlides = _swiper$params.centeredSlides;\n var _swiper$params$virtua = swiper.params.virtual,\n addSlidesBefore = _swiper$params$virtua.addSlidesBefore,\n addSlidesAfter = _swiper$params$virtua.addSlidesAfter;\n var _swiper$virtual = swiper.virtual,\n previousFrom = _swiper$virtual.from,\n previousTo = _swiper$virtual.to,\n slides = _swiper$virtual.slides,\n previousSlidesGrid = _swiper$virtual.slidesGrid,\n renderSlide = _swiper$virtual.renderSlide,\n previousOffset = _swiper$virtual.offset;\n swiper.updateActiveIndex();\n var activeIndex = swiper.activeIndex || 0;\n var offsetProp;\n if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n var slidesAfter;\n var slidesBefore;\n\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;\n slidesBefore = slidesPerGroup + addSlidesBefore;\n }\n\n var from = Math.max((activeIndex || 0) - slidesBefore, 0);\n var to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);\n var offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n extend(swiper.virtual, {\n from: from,\n to: to,\n offset: offset,\n slidesGrid: swiper.slidesGrid\n });\n\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n if (swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n }\n\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n swiper.slides.css(offsetProp, offset + \"px\");\n }\n\n swiper.updateProgress();\n return;\n }\n\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset: offset,\n from: from,\n to: to,\n slides: function getSlides() {\n var slidesToRender = [];\n\n for (var i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n\n return slidesToRender;\n }()\n });\n\n if (swiper.params.virtual.renderExternalUpdate) {\n onRendered();\n }\n\n return;\n }\n\n var prependIndexes = [];\n var appendIndexes = [];\n\n if (force) {\n swiper.$wrapperEl.find(\".\" + swiper.params.slideClass).remove();\n } else {\n for (var i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n swiper.$wrapperEl.find(\".\" + swiper.params.slideClass + \"[data-swiper-slide-index=\\\"\" + i + \"\\\"]\").remove();\n }\n }\n }\n\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (_i >= from && _i <= to) {\n if (typeof previousTo === 'undefined' || force) {\n appendIndexes.push(_i);\n } else {\n if (_i > previousTo) appendIndexes.push(_i);\n if (_i < previousFrom) prependIndexes.push(_i);\n }\n }\n }\n\n appendIndexes.forEach(function (index) {\n swiper.$wrapperEl.append(renderSlide(slides[index], index));\n });\n prependIndexes.sort(function (a, b) {\n return b - a;\n }).forEach(function (index) {\n swiper.$wrapperEl.prepend(renderSlide(slides[index], index));\n });\n swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, offset + \"px\");\n onRendered();\n },\n renderSlide: function renderSlide(slide, index) {\n var swiper = this;\n var params = swiper.params.virtual;\n\n if (params.cache && swiper.virtual.cache[index]) {\n return swiper.virtual.cache[index];\n }\n\n var $slideEl = params.renderSlide ? $(params.renderSlide.call(swiper, slide, index)) : $(\"
\" + slide + \"
\");\n if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);\n if (params.cache) swiper.virtual.cache[index] = $slideEl;\n return $slideEl;\n },\n appendSlide: function appendSlide(slides) {\n var swiper = this;\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n\n swiper.virtual.update(true);\n },\n prependSlide: function prependSlide(slides) {\n var swiper = this;\n var activeIndex = swiper.activeIndex;\n var newActiveIndex = activeIndex + 1;\n var numberOfNewSlides = 1;\n\n if (Array.isArray(slides)) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n\n if (swiper.params.virtual.cache) {\n var cache = swiper.virtual.cache;\n var newCache = {};\n Object.keys(cache).forEach(function (cachedIndex) {\n var $cachedEl = cache[cachedIndex];\n var cachedElIndex = $cachedEl.attr('data-swiper-slide-index');\n\n if (cachedElIndex) {\n $cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + 1);\n }\n\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl;\n });\n swiper.virtual.cache = newCache;\n }\n\n swiper.virtual.update(true);\n swiper.slideTo(newActiveIndex, 0);\n },\n removeSlide: function removeSlide(slidesIndexes) {\n var swiper = this;\n if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n var activeIndex = swiper.activeIndex;\n\n if (Array.isArray(slidesIndexes)) {\n for (var i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n }\n\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n swiper.virtual.slides.splice(slidesIndexes, 1);\n\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n }\n\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n\n swiper.virtual.update(true);\n swiper.slideTo(activeIndex, 0);\n },\n removeAllSlides: function removeAllSlides() {\n var swiper = this;\n swiper.virtual.slides = [];\n\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n\n swiper.virtual.update(true);\n swiper.slideTo(0, 0);\n }\n};\nexport default {\n name: 'virtual',\n params: {\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n renderExternalUpdate: true,\n addSlidesBefore: 0,\n addSlidesAfter: 0\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n virtual: _extends({}, Virtual, {\n slides: swiper.params.virtual.slides,\n cache: {}\n })\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (!swiper.params.virtual.enabled) return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"virtual\");\n var overwriteParams = {\n watchSlidesProgress: true\n };\n extend(swiper.params, overwriteParams);\n extend(swiper.originalParams, overwriteParams);\n\n if (!swiper.params.initialSlide) {\n swiper.virtual.update();\n }\n },\n setTranslate: function setTranslate(swiper) {\n if (!swiper.params.virtual.enabled) return;\n swiper.virtual.update();\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/* eslint-disable consistent-return */\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Keyboard = {\n handle: function handle(event) {\n var swiper = this;\n if (!swiper.enabled) return;\n var window = getWindow();\n var document = getDocument();\n var rtl = swiper.rtlTranslate;\n var e = event;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n\n var kc = e.keyCode || e.charCode;\n var pageUpDown = swiper.params.keyboard.pageUpDown;\n var isPageUp = pageUpDown && kc === 33;\n var isPageDown = pageUpDown && kc === 34;\n var isArrowLeft = kc === 37;\n var isArrowRight = kc === 39;\n var isArrowUp = kc === 38;\n var isArrowDown = kc === 40; // Directions locks\n\n if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {\n return false;\n }\n\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return undefined;\n }\n\n if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {\n return undefined;\n }\n\n if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {\n var inView = false; // Check that swiper should be inside of visible area of window\n\n if (swiper.$el.parents(\".\" + swiper.params.slideClass).length > 0 && swiper.$el.parents(\".\" + swiper.params.slideActiveClass).length === 0) {\n return undefined;\n }\n\n var $el = swiper.$el;\n var swiperWidth = $el[0].clientWidth;\n var swiperHeight = $el[0].clientHeight;\n var windowWidth = window.innerWidth;\n var windowHeight = window.innerHeight;\n var swiperOffset = swiper.$el.offset();\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n var swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];\n\n for (var i = 0; i < swiperCoord.length; i += 1) {\n var point = swiperCoord[i];\n\n if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n\n inView = true;\n }\n }\n\n if (!inView) return undefined;\n }\n\n if (swiper.isHorizontal()) {\n if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n\n if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();\n if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();\n } else {\n if (isPageUp || isPageDown || isArrowUp || isArrowDown) {\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n }\n\n if (isPageDown || isArrowDown) swiper.slideNext();\n if (isPageUp || isArrowUp) swiper.slidePrev();\n }\n\n swiper.emit('keyPress', kc);\n return undefined;\n },\n enable: function enable() {\n var swiper = this;\n var document = getDocument();\n if (swiper.keyboard.enabled) return;\n $(document).on('keydown', swiper.keyboard.handle);\n swiper.keyboard.enabled = true;\n },\n disable: function disable() {\n var swiper = this;\n var document = getDocument();\n if (!swiper.keyboard.enabled) return;\n $(document).off('keydown', swiper.keyboard.handle);\n swiper.keyboard.enabled = false;\n }\n};\nexport default {\n name: 'keyboard',\n params: {\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n pageUpDown: true\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n keyboard: _extends({\n enabled: false\n }, Keyboard)\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.keyboard.enabled) {\n swiper.keyboard.enable();\n }\n },\n destroy: function destroy(swiper) {\n if (swiper.keyboard.enabled) {\n swiper.keyboard.disable();\n }\n }\n }\n};","/* eslint-disable consistent-return */\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { now, nextTick, bindModuleMethods } from '../../utils/utils';\n\nfunction isEventSupported() {\n var document = getDocument();\n var eventName = 'onwheel';\n var isSupported = (eventName in document);\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported && document.implementation && document.implementation.hasFeature && // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n document.implementation.hasFeature('', '') !== true) {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\n\nvar Mousewheel = {\n lastScrollTime: now(),\n lastEventBeforeSnap: undefined,\n recentWheelEvents: [],\n event: function event() {\n var window = getWindow();\n if (window.navigator.userAgent.indexOf('firefox') > -1) return 'DOMMouseScroll';\n return isEventSupported() ? 'wheel' : 'mousewheel';\n },\n normalize: function normalize(e) {\n // Reasonable defaults\n var PIXEL_STEP = 10;\n var LINE_HEIGHT = 40;\n var PAGE_HEIGHT = 800;\n var sX = 0;\n var sY = 0; // spinX, spinY\n\n var pX = 0;\n var pY = 0; // pixelX, pixelY\n // Legacy\n\n if ('detail' in e) {\n sY = e.detail;\n }\n\n if ('wheelDelta' in e) {\n sY = -e.wheelDelta / 120;\n }\n\n if ('wheelDeltaY' in e) {\n sY = -e.wheelDeltaY / 120;\n }\n\n if ('wheelDeltaX' in e) {\n sX = -e.wheelDeltaX / 120;\n } // side scrolling on FF with DOMMouseScroll\n\n\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n\n if ('deltaY' in e) {\n pY = e.deltaY;\n }\n\n if ('deltaX' in e) {\n pX = e.deltaX;\n }\n\n if (e.shiftKey && !pX) {\n // if user scrolls with shift he wants horizontal scroll\n pX = pY;\n pY = 0;\n }\n\n if ((pX || pY) && e.deltaMode) {\n if (e.deltaMode === 1) {\n // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else {\n // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n } // Fall-back if spin cannot be determined\n\n\n if (pX && !sX) {\n sX = pX < 1 ? -1 : 1;\n }\n\n if (pY && !sY) {\n sY = pY < 1 ? -1 : 1;\n }\n\n return {\n spinX: sX,\n spinY: sY,\n pixelX: pX,\n pixelY: pY\n };\n },\n handleMouseEnter: function handleMouseEnter() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.mouseEntered = true;\n },\n handleMouseLeave: function handleMouseLeave() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.mouseEntered = false;\n },\n handle: function handle(event) {\n var e = event;\n var disableParentSwiper = true;\n var swiper = this;\n if (!swiper.enabled) return;\n var params = swiper.params.mousewheel;\n\n if (swiper.params.cssMode) {\n e.preventDefault();\n }\n\n var target = swiper.$el;\n\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n\n if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n\n var delta = 0;\n var rtlFactor = swiper.rtlTranslate ? -1 : 1;\n var data = Mousewheel.normalize(e);\n\n if (params.forceToAxis) {\n if (swiper.isHorizontal()) {\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;\n } else {\n delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\n }\n\n if (delta === 0) return true;\n if (params.invert) delta = -delta; // Get the scroll positions\n\n var positions = swiper.getTranslate() + delta * params.sensitivity;\n if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();\n if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); // When loop is true:\n // the disableParentSwiper will be true.\n // When loop is false:\n // if the scroll positions is not on edge,\n // then the disableParentSwiper will be true.\n // if the scroll on edge positions,\n // then the disableParentSwiper will be false.\n\n disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());\n if (disableParentSwiper && swiper.params.nested) e.stopPropagation();\n\n if (!swiper.params.freeMode) {\n // Register the new event in a variable which stores the relevant data\n var newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta),\n raw: event\n }; // Keep the most recent events\n\n var recentWheelEvents = swiper.mousewheel.recentWheelEvents;\n\n if (recentWheelEvents.length >= 2) {\n recentWheelEvents.shift(); // only store the last N events\n }\n\n var prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;\n recentWheelEvents.push(newEvent); // If there is at least one previous recorded event:\n // If direction has changed or\n // if the scroll is quicker than the previous one:\n // Animate the slider.\n // Else (this is the first time the wheel is moved):\n // Animate the slider.\n\n if (prevEvent) {\n if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {\n swiper.mousewheel.animateSlider(newEvent);\n }\n } else {\n swiper.mousewheel.animateSlider(newEvent);\n } // If it's time to release the scroll:\n // Return now so you don't hit the preventDefault.\n\n\n if (swiper.mousewheel.releaseScroll(newEvent)) {\n return true;\n }\n } else {\n // Freemode or scrollContainer:\n // If we recently snapped after a momentum scroll, then ignore wheel events\n // to give time for the deceleration to finish. Stop ignoring after 500 msecs\n // or if it's a new scroll (larger delta or inverse sign as last event before\n // an end-of-momentum snap).\n var _newEvent = {\n time: now(),\n delta: Math.abs(delta),\n direction: Math.sign(delta)\n };\n var lastEventBeforeSnap = swiper.mousewheel.lastEventBeforeSnap;\n var ignoreWheelEvents = lastEventBeforeSnap && _newEvent.time < lastEventBeforeSnap.time + 500 && _newEvent.delta <= lastEventBeforeSnap.delta && _newEvent.direction === lastEventBeforeSnap.direction;\n\n if (!ignoreWheelEvents) {\n swiper.mousewheel.lastEventBeforeSnap = undefined;\n\n if (swiper.params.loop) {\n swiper.loopFix();\n }\n\n var position = swiper.getTranslate() + delta * params.sensitivity;\n var wasBeginning = swiper.isBeginning;\n var wasEnd = swiper.isEnd;\n if (position >= swiper.minTranslate()) position = swiper.minTranslate();\n if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\n swiper.setTransition(0);\n swiper.setTranslate(position);\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n\n if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {\n swiper.updateSlidesClasses();\n }\n\n if (swiper.params.freeModeSticky) {\n // When wheel scrolling starts with sticky (aka snap) enabled, then detect\n // the end of a momentum scroll by storing recent (N=15?) wheel events.\n // 1. do all N events have decreasing or same (absolute value) delta?\n // 2. did all N events arrive in the last M (M=500?) msecs?\n // 3. does the earliest event have an (absolute value) delta that's\n // at least P (P=1?) larger than the most recent event's delta?\n // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?\n // If 1-4 are \"yes\" then we're near the end of a momentum scroll deceleration.\n // Snap immediately and ignore remaining wheel events in this scroll.\n // See comment above for \"remaining wheel events in this scroll\" determination.\n // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.\n clearTimeout(swiper.mousewheel.timeout);\n swiper.mousewheel.timeout = undefined;\n var _recentWheelEvents = swiper.mousewheel.recentWheelEvents;\n\n if (_recentWheelEvents.length >= 15) {\n _recentWheelEvents.shift(); // only store the last N events\n\n }\n\n var _prevEvent = _recentWheelEvents.length ? _recentWheelEvents[_recentWheelEvents.length - 1] : undefined;\n\n var firstEvent = _recentWheelEvents[0];\n\n _recentWheelEvents.push(_newEvent);\n\n if (_prevEvent && (_newEvent.delta > _prevEvent.delta || _newEvent.direction !== _prevEvent.direction)) {\n // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.\n _recentWheelEvents.splice(0);\n } else if (_recentWheelEvents.length >= 15 && _newEvent.time - firstEvent.time < 500 && firstEvent.delta - _newEvent.delta >= 1 && _newEvent.delta <= 6) {\n // We're at the end of the deceleration of a momentum scroll, so there's no need\n // to wait for more events. Snap ASAP on the next tick.\n // Also, because there's some remaining momentum we'll bias the snap in the\n // direction of the ongoing scroll because it's better UX for the scroll to snap\n // in the same direction as the scroll instead of reversing to snap. Therefore,\n // if it's already scrolled more than 20% in the current direction, keep going.\n var snapToThreshold = delta > 0 ? 0.8 : 0.2;\n swiper.mousewheel.lastEventBeforeSnap = _newEvent;\n\n _recentWheelEvents.splice(0);\n\n swiper.mousewheel.timeout = nextTick(function () {\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 0); // no delay; move on next tick\n }\n\n if (!swiper.mousewheel.timeout) {\n // if we get here, then we haven't detected the end of a momentum scroll, so\n // we'll consider a scroll \"complete\" when there haven't been any wheel events\n // for 500ms.\n swiper.mousewheel.timeout = nextTick(function () {\n var snapToThreshold = 0.5;\n swiper.mousewheel.lastEventBeforeSnap = _newEvent;\n\n _recentWheelEvents.splice(0);\n\n swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);\n }, 500);\n }\n } // Emit event\n\n\n if (!ignoreWheelEvents) swiper.emit('scroll', e); // Stop autoplay\n\n if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); // Return page scroll on edge positions\n\n if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;\n }\n }\n\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n return false;\n },\n animateSlider: function animateSlider(newEvent) {\n var swiper = this;\n var window = getWindow();\n\n if (this.params.mousewheel.thresholdDelta && newEvent.delta < this.params.mousewheel.thresholdDelta) {\n // Prevent if delta of wheel scroll delta is below configured threshold\n return false;\n }\n\n if (this.params.mousewheel.thresholdTime && now() - swiper.mousewheel.lastScrollTime < this.params.mousewheel.thresholdTime) {\n // Prevent if time between scrolls is below configured threshold\n return false;\n } // If the movement is NOT big enough and\n // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):\n // Don't go any further (avoid insignificant scroll movement).\n\n\n if (newEvent.delta >= 6 && now() - swiper.mousewheel.lastScrollTime < 60) {\n // Return false as a default\n return true;\n } // If user is scrolling towards the end:\n // If the slider hasn't hit the latest slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to next slide and\n // emit a scroll event.\n // Else (the user is scrolling towards the beginning) and\n // if the slider hasn't hit the first slide or\n // if the slider is a loop and\n // if the slider isn't moving right now:\n // Go to prev slide and\n // emit a scroll event.\n\n\n if (newEvent.direction < 0) {\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\n swiper.slideNext();\n swiper.emit('scroll', newEvent.raw);\n }\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\n swiper.slidePrev();\n swiper.emit('scroll', newEvent.raw);\n } // If you got here is because an animation has been triggered so store the current time\n\n\n swiper.mousewheel.lastScrollTime = new window.Date().getTime(); // Return false as a default\n\n return false;\n },\n releaseScroll: function releaseScroll(newEvent) {\n var swiper = this;\n var params = swiper.params.mousewheel;\n\n if (newEvent.direction < 0) {\n if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {\n // Return true to animate scroll on edges\n return true;\n }\n\n return false;\n },\n enable: function enable() {\n var swiper = this;\n var event = Mousewheel.event();\n\n if (swiper.params.cssMode) {\n swiper.wrapperEl.removeEventListener(event, swiper.mousewheel.handle);\n return true;\n }\n\n if (!event) return false;\n if (swiper.mousewheel.enabled) return false;\n var target = swiper.$el;\n\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n\n target.on('mouseenter', swiper.mousewheel.handleMouseEnter);\n target.on('mouseleave', swiper.mousewheel.handleMouseLeave);\n target.on(event, swiper.mousewheel.handle);\n swiper.mousewheel.enabled = true;\n return true;\n },\n disable: function disable() {\n var swiper = this;\n var event = Mousewheel.event();\n\n if (swiper.params.cssMode) {\n swiper.wrapperEl.addEventListener(event, swiper.mousewheel.handle);\n return true;\n }\n\n if (!event) return false;\n if (!swiper.mousewheel.enabled) return false;\n var target = swiper.$el;\n\n if (swiper.params.mousewheel.eventsTarget !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarget);\n }\n\n target.off(event, swiper.mousewheel.handle);\n swiper.mousewheel.enabled = false;\n return true;\n }\n};\nexport default {\n name: 'mousewheel',\n params: {\n mousewheel: {\n enabled: false,\n releaseOnEdges: false,\n invert: false,\n forceToAxis: false,\n sensitivity: 1,\n eventsTarget: 'container',\n thresholdDelta: null,\n thresholdTime: null\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n mousewheel: {\n enabled: false,\n lastScrollTime: now(),\n lastEventBeforeSnap: undefined,\n recentWheelEvents: [],\n enable: Mousewheel.enable,\n disable: Mousewheel.disable,\n handle: Mousewheel.handle,\n handleMouseEnter: Mousewheel.handleMouseEnter,\n handleMouseLeave: Mousewheel.handleMouseLeave,\n animateSlider: Mousewheel.animateSlider,\n releaseScroll: Mousewheel.releaseScroll\n }\n });\n },\n on: {\n init: function init(swiper) {\n if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {\n swiper.mousewheel.disable();\n }\n\n if (swiper.params.mousewheel.enabled) swiper.mousewheel.enable();\n },\n destroy: function destroy(swiper) {\n if (swiper.params.cssMode) {\n swiper.mousewheel.enable();\n }\n\n if (swiper.mousewheel.enabled) swiper.mousewheel.disable();\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, createElementIfNotDefined } from '../../utils/utils';\nvar Navigation = {\n toggleEl: function toggleEl($el, disabled) {\n $el[disabled ? 'addClass' : 'removeClass'](this.params.navigation.disabledClass);\n if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;\n },\n update: function update() {\n // Update Navigation Buttons\n var swiper = this;\n var params = swiper.params.navigation;\n var toggleEl = swiper.navigation.toggleEl;\n if (swiper.params.loop) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n toggleEl($prevEl, true);\n } else {\n toggleEl($prevEl, false);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $prevEl[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n toggleEl($nextEl, true);\n } else {\n toggleEl($nextEl, false);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $nextEl[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n },\n onPrevClick: function onPrevClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop) return;\n swiper.slidePrev();\n },\n onNextClick: function onNextClick(e) {\n var swiper = this;\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop) return;\n swiper.slideNext();\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper.$el, swiper.params.navigation, swiper.params.createElements, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n var $nextEl;\n var $prevEl;\n\n if (params.nextEl) {\n $nextEl = $(params.nextEl);\n\n if (swiper.params.uniqueNavElements && typeof params.nextEl === 'string' && $nextEl.length > 1 && swiper.$el.find(params.nextEl).length === 1) {\n $nextEl = swiper.$el.find(params.nextEl);\n }\n }\n\n if (params.prevEl) {\n $prevEl = $(params.prevEl);\n\n if (swiper.params.uniqueNavElements && typeof params.prevEl === 'string' && $prevEl.length > 1 && swiper.$el.find(params.prevEl).length === 1) {\n $prevEl = swiper.$el.find(params.prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', swiper.navigation.onNextClick);\n }\n\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', swiper.navigation.onPrevClick);\n }\n\n extend(swiper.navigation, {\n $nextEl: $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl: $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n\n if (!swiper.enabled) {\n if ($nextEl) $nextEl.addClass(params.lockClass);\n if ($prevEl) $prevEl.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var _swiper$navigation2 = swiper.navigation,\n $nextEl = _swiper$navigation2.$nextEl,\n $prevEl = _swiper$navigation2.$prevEl;\n\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', swiper.navigation.onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', swiper.navigation.onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n};\nexport default {\n name: 'navigation',\n params: {\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n navigation: _extends({}, Navigation)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.navigation.init();\n swiper.navigation.update();\n },\n toEdge: function toEdge(swiper) {\n swiper.navigation.update();\n },\n fromEdge: function fromEdge(swiper) {\n swiper.navigation.update();\n },\n destroy: function destroy(swiper) {\n swiper.navigation.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var _swiper$navigation3 = swiper.navigation,\n $nextEl = _swiper$navigation3.$nextEl,\n $prevEl = _swiper$navigation3.$prevEl;\n\n if ($nextEl) {\n $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n\n if ($prevEl) {\n $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n },\n click: function click(swiper, e) {\n var _swiper$navigation4 = swiper.navigation,\n $nextEl = _swiper$navigation4.$nextEl,\n $prevEl = _swiper$navigation4.$prevEl;\n var targetEl = e.target;\n\n if (swiper.params.navigation.hideOnClick && !$(targetEl).is($prevEl) && !$(targetEl).is($nextEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n var isHidden;\n\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n\n if (isHidden === true) {\n swiper.emit('navigationShow');\n } else {\n swiper.emit('navigationHide');\n }\n\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, classesToSelector, createElementIfNotDefined } from '../../utils/utils';\nvar Pagination = {\n update: function update() {\n // Render || Update Pagination bullets/items\n var swiper = this;\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el; // Current/Total\n\n var current;\n var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n var bullets = swiper.pagination.bullets;\n var firstIndex;\n var lastIndex;\n var midIndex;\n\n if (params.dynamicBullets) {\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', swiper.pagination.bulletSize * (params.dynamicMainBullets + 4) + \"px\");\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;\n\n if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\n swiper.pagination.dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(params.bulletActiveClass + \" \" + params.bulletActiveClass + \"-next \" + params.bulletActiveClass + \"-next-next \" + params.bulletActiveClass + \"-prev \" + params.bulletActiveClass + \"-prev-prev \" + params.bulletActiveClass + \"-main\");\n\n if ($el.length > 1) {\n bullets.each(function (bullet) {\n var $bullet = $(bullet);\n var bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (bulletIndex === firstIndex) {\n $bullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n }\n\n if (bulletIndex === lastIndex) {\n $bullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n });\n } else {\n var $bullet = bullets.eq(current);\n var bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n var $firstDisplayedBullet = bullets.eq(firstIndex);\n var $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (var i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length - params.dynamicMainBullets) {\n for (var _i = params.dynamicMainBullets; _i >= 0; _i -= 1) {\n bullets.eq(bullets.length - _i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(params.bulletActiveClass + \"-prev\");\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;\n var offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', bulletsOffset + \"px\");\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(classesToSelector(params.progressbarFillClass)).transform(\"translate3d(0,0,0) scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\").transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n swiper.emit('paginationRender', $el[0]);\n } else {\n swiper.emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n },\n render: function render() {\n // Render Container\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (var i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += \"<\" + params.bulletElement + \" class=\\\"\" + params.bulletClass + \"\\\">\";\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = \"\" + ' / ' + (\"\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = \"\";\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\n }\n },\n init: function init() {\n var swiper = this;\n swiper.params.pagination = createElementIfNotDefined(swiper.$el, swiper.params.pagination, swiper.params.createElements, {\n el: 'swiper-pagination'\n });\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el);\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\" + params.modifierClass + params.type + \"-dynamic\");\n swiper.pagination.dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n var index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n extend(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n};\nexport default {\n name: 'pagination',\n params: {\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n modifierClass: 'swiper-pagination-',\n // NEW\n currentClass: 'swiper-pagination-current',\n totalClass: 'swiper-pagination-total',\n hiddenClass: 'swiper-pagination-hidden',\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\n clickableClass: 'swiper-pagination-clickable',\n // NEW\n lockClass: 'swiper-pagination-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n pagination: _extends({\n dynamicBulletIndex: 0\n }, Pagination)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.pagination.init();\n swiper.pagination.render();\n swiper.pagination.update();\n },\n activeIndexChange: function activeIndexChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n swiper.pagination.update();\n }\n },\n snapIndexChange: function snapIndexChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.update();\n }\n },\n slidesLengthChange: function slidesLengthChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n snapGridLengthChange: function snapGridLengthChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n destroy: function destroy(swiper) {\n swiper.pagination.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var $el = swiper.pagination.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n },\n click: function click(swiper, e) {\n var targetEl = e.target;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n swiper.emit('paginationShow');\n } else {\n swiper.emit('paginationHide');\n }\n\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { extend, nextTick, bindModuleMethods, createElementIfNotDefined } from '../../utils/utils';\nvar Scrollbar = {\n setTranslate: function setTranslate() {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n var scrollbar = swiper.scrollbar,\n rtl = swiper.rtlTranslate,\n progress = swiper.progress;\n var dragSize = scrollbar.dragSize,\n trackSize = scrollbar.trackSize,\n $dragEl = scrollbar.$dragEl,\n $el = scrollbar.$el;\n var params = swiper.params.scrollbar;\n var newSize = dragSize;\n var newPos = (trackSize - dragSize) * progress;\n\n if (rtl) {\n newPos = -newPos;\n\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n\n if (swiper.isHorizontal()) {\n $dragEl.transform(\"translate3d(\" + newPos + \"px, 0, 0)\");\n $dragEl[0].style.width = newSize + \"px\";\n } else {\n $dragEl.transform(\"translate3d(0px, \" + newPos + \"px, 0)\");\n $dragEl[0].style.height = newSize + \"px\";\n }\n\n if (params.hide) {\n clearTimeout(swiper.scrollbar.timeout);\n $el[0].style.opacity = 1;\n swiper.scrollbar.timeout = setTimeout(function () {\n $el[0].style.opacity = 0;\n $el.transition(400);\n }, 1000);\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.$dragEl.transition(duration);\n },\n updateSize: function updateSize() {\n var swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n var scrollbar = swiper.scrollbar;\n var $dragEl = scrollbar.$dragEl,\n $el = scrollbar.$el;\n $dragEl[0].style.width = '';\n $dragEl[0].style.height = '';\n var trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\n var divider = swiper.size / swiper.virtualSize;\n var moveDivider = divider * (trackSize / swiper.size);\n var dragSize;\n\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n\n if (swiper.isHorizontal()) {\n $dragEl[0].style.width = dragSize + \"px\";\n } else {\n $dragEl[0].style.height = dragSize + \"px\";\n }\n\n if (divider >= 1) {\n $el[0].style.display = 'none';\n } else {\n $el[0].style.display = '';\n }\n\n if (swiper.params.scrollbar.hide) {\n $el[0].style.opacity = 0;\n }\n\n extend(scrollbar, {\n trackSize: trackSize,\n divider: divider,\n moveDivider: moveDivider,\n dragSize: dragSize\n });\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);\n }\n },\n getPointerPosition: function getPointerPosition(e) {\n var swiper = this;\n\n if (swiper.isHorizontal()) {\n return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX;\n }\n\n return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY;\n },\n setDragPosition: function setDragPosition(e) {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n rtl = swiper.rtlTranslate;\n var $el = scrollbar.$el,\n dragSize = scrollbar.dragSize,\n trackSize = scrollbar.trackSize,\n dragStartPos = scrollbar.dragStartPos;\n var positionRatio;\n positionRatio = (scrollbar.getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n\n var position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n },\n onDragStart: function onDragStart(e) {\n var swiper = this;\n var params = swiper.params.scrollbar;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el,\n $dragEl = scrollbar.$dragEl;\n swiper.scrollbar.isTouched = true;\n swiper.scrollbar.dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? scrollbar.getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n e.preventDefault();\n e.stopPropagation();\n $wrapperEl.transition(100);\n $dragEl.transition(100);\n scrollbar.setDragPosition(e);\n clearTimeout(swiper.scrollbar.dragTimeout);\n $el.transition(0);\n\n if (params.hide) {\n $el.css('opacity', 1);\n }\n\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', 'none');\n }\n\n swiper.emit('scrollbarDragStart', e);\n },\n onDragMove: function onDragMove(e) {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el,\n $dragEl = scrollbar.$dragEl;\n if (!swiper.scrollbar.isTouched) return;\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n scrollbar.setDragPosition(e);\n $wrapperEl.transition(0);\n $el.transition(0);\n $dragEl.transition(0);\n swiper.emit('scrollbarDragMove', e);\n },\n onDragEnd: function onDragEnd(e) {\n var swiper = this;\n var params = swiper.params.scrollbar;\n var scrollbar = swiper.scrollbar,\n $wrapperEl = swiper.$wrapperEl;\n var $el = scrollbar.$el;\n if (!swiper.scrollbar.isTouched) return;\n swiper.scrollbar.isTouched = false;\n\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', '');\n $wrapperEl.transition('');\n }\n\n if (params.hide) {\n clearTimeout(swiper.scrollbar.dragTimeout);\n swiper.scrollbar.dragTimeout = nextTick(function () {\n $el.css('opacity', 0);\n $el.transition(400);\n }, 1000);\n }\n\n swiper.emit('scrollbarDragEnd', e);\n\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n },\n enableDraggable: function enableDraggable() {\n var swiper = this;\n if (!swiper.params.scrollbar.el) return;\n var document = getDocument();\n var scrollbar = swiper.scrollbar,\n touchEventsTouch = swiper.touchEventsTouch,\n touchEventsDesktop = swiper.touchEventsDesktop,\n params = swiper.params,\n support = swiper.support;\n var $el = scrollbar.$el;\n var target = $el[0];\n var activeListener = support.passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n var passiveListener = support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n\n if (!support.touch) {\n target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n document.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n document.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n } else {\n target.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n target.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n target.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n }\n },\n disableDraggable: function disableDraggable() {\n var swiper = this;\n if (!swiper.params.scrollbar.el) return;\n var document = getDocument();\n var scrollbar = swiper.scrollbar,\n touchEventsTouch = swiper.touchEventsTouch,\n touchEventsDesktop = swiper.touchEventsDesktop,\n params = swiper.params,\n support = swiper.support;\n var $el = scrollbar.$el;\n var target = $el[0];\n var activeListener = support.passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n var passiveListener = support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n\n if (!support.touch) {\n target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n document.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n document.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n } else {\n target.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n target.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n target.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n }\n },\n init: function init() {\n var swiper = this;\n var scrollbar = swiper.scrollbar,\n $swiperEl = swiper.$el;\n swiper.params.scrollbar = createElementIfNotDefined($swiperEl, swiper.params.scrollbar, swiper.params.createElements, {\n el: 'swiper-scrollbar'\n });\n var params = swiper.params.scrollbar;\n if (!params.el) return;\n var $el = $(params.el);\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\n $el = $swiperEl.find(params.el);\n }\n\n var $dragEl = $el.find(\".\" + swiper.params.scrollbar.dragClass);\n\n if ($dragEl.length === 0) {\n $dragEl = $(\"
\");\n $el.append($dragEl);\n }\n\n extend(scrollbar, {\n $el: $el,\n el: $el[0],\n $dragEl: $dragEl,\n dragEl: $dragEl[0]\n });\n\n if (params.draggable) {\n scrollbar.enableDraggable();\n }\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.scrollbar.disableDraggable();\n }\n};\nexport default {\n name: 'scrollbar',\n params: {\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n scrollbar: _extends({\n isTouched: false,\n timeout: null,\n dragTimeout: null\n }, Scrollbar)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.scrollbar.init();\n swiper.scrollbar.updateSize();\n swiper.scrollbar.setTranslate();\n },\n update: function update(swiper) {\n swiper.scrollbar.updateSize();\n },\n resize: function resize(swiper) {\n swiper.scrollbar.updateSize();\n },\n observerUpdate: function observerUpdate(swiper) {\n swiper.scrollbar.updateSize();\n },\n setTranslate: function setTranslate(swiper) {\n swiper.scrollbar.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n swiper.scrollbar.setTransition(duration);\n },\n 'enable disable': function enableDisable(swiper) {\n var $el = swiper.scrollbar.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n },\n destroy: function destroy(swiper) {\n swiper.scrollbar.destroy();\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Parallax = {\n setTransform: function setTransform(el, progress) {\n var swiper = this;\n var rtl = swiper.rtl;\n var $el = $(el);\n var rtlFactor = rtl ? -1 : 1;\n var p = $el.attr('data-swiper-parallax') || '0';\n var x = $el.attr('data-swiper-parallax-x');\n var y = $el.attr('data-swiper-parallax-y');\n var scale = $el.attr('data-swiper-parallax-scale');\n var opacity = $el.attr('data-swiper-parallax-opacity');\n\n if (x || y) {\n x = x || '0';\n y = y || '0';\n } else if (swiper.isHorizontal()) {\n x = p;\n y = '0';\n } else {\n y = p;\n x = '0';\n }\n\n if (x.indexOf('%') >= 0) {\n x = parseInt(x, 10) * progress * rtlFactor + \"%\";\n } else {\n x = x * progress * rtlFactor + \"px\";\n }\n\n if (y.indexOf('%') >= 0) {\n y = parseInt(y, 10) * progress + \"%\";\n } else {\n y = y * progress + \"px\";\n }\n\n if (typeof opacity !== 'undefined' && opacity !== null) {\n var currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));\n $el[0].style.opacity = currentOpacity;\n }\n\n if (typeof scale === 'undefined' || scale === null) {\n $el.transform(\"translate3d(\" + x + \", \" + y + \", 0px)\");\n } else {\n var currentScale = scale - (scale - 1) * (1 - Math.abs(progress));\n $el.transform(\"translate3d(\" + x + \", \" + y + \", 0px) scale(\" + currentScale + \")\");\n }\n },\n setTranslate: function setTranslate() {\n var swiper = this;\n var $el = swiper.$el,\n slides = swiper.slides,\n progress = swiper.progress,\n snapGrid = swiper.snapGrid;\n $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {\n swiper.parallax.setTransform(el, progress);\n });\n slides.each(function (slideEl, slideIndex) {\n var slideProgress = slideEl.progress;\n\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);\n }\n\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n $(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (el) {\n swiper.parallax.setTransform(el, slideProgress);\n });\n });\n },\n setTransition: function setTransition(duration) {\n if (duration === void 0) {\n duration = this.params.speed;\n }\n\n var swiper = this;\n var $el = swiper.$el;\n $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(function (parallaxEl) {\n var $parallaxEl = $(parallaxEl);\n var parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n $parallaxEl.transition(parallaxDuration);\n });\n }\n};\nexport default {\n name: 'parallax',\n params: {\n parallax: {\n enabled: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n parallax: _extends({}, Parallax)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n init: function init(swiper) {\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTranslate();\n },\n setTranslate: function setTranslate(swiper) {\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTransition(duration);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { bindModuleMethods, getTranslate } from '../../utils/utils';\nvar Zoom = {\n // Calc Scale From Multi-touches\n getDistanceBetweenTouches: function getDistanceBetweenTouches(e) {\n if (e.targetTouches.length < 2) return 1;\n var x1 = e.targetTouches[0].pageX;\n var y1 = e.targetTouches[0].pageY;\n var x2 = e.targetTouches[1].pageX;\n var y2 = e.targetTouches[1].pageY;\n var distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));\n return distance;\n },\n // Events\n onGestureStart: function onGestureStart(e) {\n var swiper = this;\n var support = swiper.support;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n zoom.fakeGestureTouched = false;\n zoom.fakeGestureMoved = false;\n\n if (!support.gestures) {\n if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) {\n return;\n }\n\n zoom.fakeGestureTouched = true;\n gesture.scaleStart = Zoom.getDistanceBetweenTouches(e);\n }\n\n if (!gesture.$slideEl || !gesture.$slideEl.length) {\n gesture.$slideEl = $(e.target).closest(\".\" + swiper.params.slideClass);\n if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\" + params.containerClass);\n gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n\n if (gesture.$imageWrapEl.length === 0) {\n gesture.$imageEl = undefined;\n return;\n }\n }\n\n if (gesture.$imageEl) {\n gesture.$imageEl.transition(0);\n }\n\n swiper.zoom.isScaling = true;\n },\n onGestureChange: function onGestureChange(e) {\n var swiper = this;\n var support = swiper.support;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n\n if (!support.gestures) {\n if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) {\n return;\n }\n\n zoom.fakeGestureMoved = true;\n gesture.scaleMove = Zoom.getDistanceBetweenTouches(e);\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\n if (e.type === 'gesturechange') zoom.onGestureStart(e);\n return;\n }\n\n if (support.gestures) {\n zoom.scale = e.scale * zoom.currentScale;\n } else {\n zoom.scale = gesture.scaleMove / gesture.scaleStart * zoom.currentScale;\n }\n\n if (zoom.scale > gesture.maxRatio) {\n zoom.scale = gesture.maxRatio - 1 + Math.pow(zoom.scale - gesture.maxRatio + 1, 0.5);\n }\n\n if (zoom.scale < params.minRatio) {\n zoom.scale = params.minRatio + 1 - Math.pow(params.minRatio - zoom.scale + 1, 0.5);\n }\n\n gesture.$imageEl.transform(\"translate3d(0,0,0) scale(\" + zoom.scale + \")\");\n },\n onGestureEnd: function onGestureEnd(e) {\n var swiper = this;\n var device = swiper.device;\n var support = swiper.support;\n var params = swiper.params.zoom;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n\n if (!support.gestures) {\n if (!zoom.fakeGestureTouched || !zoom.fakeGestureMoved) {\n return;\n }\n\n if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !device.android) {\n return;\n }\n\n zoom.fakeGestureTouched = false;\n zoom.fakeGestureMoved = false;\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n gesture.$imageEl.transition(swiper.params.speed).transform(\"translate3d(0,0,0) scale(\" + zoom.scale + \")\");\n zoom.currentScale = zoom.scale;\n zoom.isScaling = false;\n if (zoom.scale === 1) gesture.$slideEl = undefined;\n },\n onTouchStart: function onTouchStart(e) {\n var swiper = this;\n var device = swiper.device;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture,\n image = zoom.image;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (image.isTouched) return;\n if (device.android && e.cancelable) e.preventDefault();\n image.isTouched = true;\n image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n },\n onTouchMove: function onTouchMove(e) {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture,\n image = zoom.image,\n velocity = zoom.velocity;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n swiper.allowClick = false;\n if (!image.isTouched || !gesture.$slideEl) return;\n\n if (!image.isMoved) {\n image.width = gesture.$imageEl[0].offsetWidth;\n image.height = gesture.$imageEl[0].offsetHeight;\n image.startX = getTranslate(gesture.$imageWrapEl[0], 'x') || 0;\n image.startY = getTranslate(gesture.$imageWrapEl[0], 'y') || 0;\n gesture.slideWidth = gesture.$slideEl[0].offsetWidth;\n gesture.slideHeight = gesture.$slideEl[0].offsetHeight;\n gesture.$imageWrapEl.transition(0);\n } // Define if we need image drag\n\n\n var scaledWidth = image.width * zoom.scale;\n var scaledHeight = image.height * zoom.scale;\n if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (!image.isMoved && !zoom.isScaling) {\n 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)) {\n image.isTouched = false;\n return;\n }\n\n 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)) {\n image.isTouched = false;\n return;\n }\n }\n\n if (e.cancelable) {\n e.preventDefault();\n }\n\n e.stopPropagation();\n image.isMoved = true;\n image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;\n image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;\n\n if (image.currentX < image.minX) {\n image.currentX = image.minX + 1 - Math.pow(image.minX - image.currentX + 1, 0.8);\n }\n\n if (image.currentX > image.maxX) {\n image.currentX = image.maxX - 1 + Math.pow(image.currentX - image.maxX + 1, 0.8);\n }\n\n if (image.currentY < image.minY) {\n image.currentY = image.minY + 1 - Math.pow(image.minY - image.currentY + 1, 0.8);\n }\n\n if (image.currentY > image.maxY) {\n image.currentY = image.maxY - 1 + Math.pow(image.currentY - image.maxY + 1, 0.8);\n } // Velocity\n\n\n if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n if (!velocity.prevTime) velocity.prevTime = Date.now();\n velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n velocity.prevPositionX = image.touchesCurrent.x;\n velocity.prevPositionY = image.touchesCurrent.y;\n velocity.prevTime = Date.now();\n gesture.$imageWrapEl.transform(\"translate3d(\" + image.currentX + \"px, \" + image.currentY + \"px,0)\");\n },\n onTouchEnd: function onTouchEnd() {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture,\n image = zoom.image,\n velocity = zoom.velocity;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n\n if (!image.isTouched || !image.isMoved) {\n image.isTouched = false;\n image.isMoved = false;\n return;\n }\n\n image.isTouched = false;\n image.isMoved = false;\n var momentumDurationX = 300;\n var momentumDurationY = 300;\n var momentumDistanceX = velocity.x * momentumDurationX;\n var newPositionX = image.currentX + momentumDistanceX;\n var momentumDistanceY = velocity.y * momentumDurationY;\n var newPositionY = image.currentY + momentumDistanceY; // Fix duration\n\n if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n var momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n image.currentX = newPositionX;\n image.currentY = newPositionY; // Define if we need image drag\n\n var scaledWidth = image.width * zoom.scale;\n var scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);\n image.maxX = -image.minX;\n image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);\n image.maxY = -image.minY;\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n gesture.$imageWrapEl.transition(momentumDuration).transform(\"translate3d(\" + image.currentX + \"px, \" + image.currentY + \"px,0)\");\n },\n onTransitionEnd: function onTransitionEnd() {\n var swiper = this;\n var zoom = swiper.zoom;\n var gesture = zoom.gesture;\n\n if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {\n if (gesture.$imageEl) {\n gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');\n }\n\n if (gesture.$imageWrapEl) {\n gesture.$imageWrapEl.transform('translate3d(0,0,0)');\n }\n\n zoom.scale = 1;\n zoom.currentScale = 1;\n gesture.$slideEl = undefined;\n gesture.$imageEl = undefined;\n gesture.$imageWrapEl = undefined;\n }\n },\n // Toggle Zoom\n toggle: function toggle(e) {\n var swiper = this;\n var zoom = swiper.zoom;\n\n if (zoom.scale && zoom.scale !== 1) {\n // Zoom Out\n zoom.out();\n } else {\n // Zoom In\n zoom.in(e);\n }\n },\n in: function _in(e) {\n var swiper = this;\n var window = getWindow();\n var zoom = swiper.zoom;\n var params = swiper.params.zoom;\n var gesture = zoom.gesture,\n image = zoom.image;\n\n if (!gesture.$slideEl) {\n if (e && e.target) {\n gesture.$slideEl = $(e.target).closest(\".\" + swiper.params.slideClass);\n }\n\n if (!gesture.$slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.$slideEl = swiper.$wrapperEl.children(\".\" + swiper.params.slideActiveClass);\n } else {\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n }\n }\n\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\" + params.containerClass);\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return;\n gesture.$slideEl.addClass(\"\" + params.zoomedSlideClass);\n var touchX;\n var touchY;\n var offsetX;\n var offsetY;\n var diffX;\n var diffY;\n var translateX;\n var translateY;\n var imageWidth;\n var imageHeight;\n var scaledWidth;\n var scaledHeight;\n var translateMinX;\n var translateMinY;\n var translateMaxX;\n var translateMaxY;\n var slideWidth;\n var slideHeight;\n\n if (typeof image.touchesStart.x === 'undefined' && e) {\n touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\n touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\n } else {\n touchX = image.touchesStart.x;\n touchY = image.touchesStart.y;\n }\n\n zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n zoom.currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n\n if (e) {\n slideWidth = gesture.$slideEl[0].offsetWidth;\n slideHeight = gesture.$slideEl[0].offsetHeight;\n offsetX = gesture.$slideEl.offset().left + window.scrollX;\n offsetY = gesture.$slideEl.offset().top + window.scrollY;\n diffX = offsetX + slideWidth / 2 - touchX;\n diffY = offsetY + slideHeight / 2 - touchY;\n imageWidth = gesture.$imageEl[0].offsetWidth;\n imageHeight = gesture.$imageEl[0].offsetHeight;\n scaledWidth = imageWidth * zoom.scale;\n scaledHeight = imageHeight * zoom.scale;\n translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);\n translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n translateX = diffX * zoom.scale;\n translateY = diffY * zoom.scale;\n\n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n\n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n } else {\n translateX = 0;\n translateY = 0;\n }\n\n gesture.$imageWrapEl.transition(300).transform(\"translate3d(\" + translateX + \"px, \" + translateY + \"px,0)\");\n gesture.$imageEl.transition(300).transform(\"translate3d(0,0,0) scale(\" + zoom.scale + \")\");\n },\n out: function out() {\n var swiper = this;\n var zoom = swiper.zoom;\n var params = swiper.params.zoom;\n var gesture = zoom.gesture;\n\n if (!gesture.$slideEl) {\n if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {\n gesture.$slideEl = swiper.$wrapperEl.children(\".\" + swiper.params.slideActiveClass);\n } else {\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n }\n\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas, picture, .swiper-zoom-target');\n gesture.$imageWrapEl = gesture.$imageEl.parent(\".\" + params.containerClass);\n }\n\n if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return;\n zoom.scale = 1;\n zoom.currentScale = 1;\n gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');\n gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');\n gesture.$slideEl.removeClass(\"\" + params.zoomedSlideClass);\n gesture.$slideEl = undefined;\n },\n toggleGestures: function toggleGestures(method) {\n var swiper = this;\n var zoom = swiper.zoom;\n var selector = zoom.slideSelector,\n passive = zoom.passiveListener;\n swiper.$wrapperEl[method]('gesturestart', selector, zoom.onGestureStart, passive);\n swiper.$wrapperEl[method]('gesturechange', selector, zoom.onGestureChange, passive);\n swiper.$wrapperEl[method]('gestureend', selector, zoom.onGestureEnd, passive);\n },\n enableGestures: function enableGestures() {\n if (this.zoom.gesturesEnabled) return;\n this.zoom.gesturesEnabled = true;\n this.zoom.toggleGestures('on');\n },\n disableGestures: function disableGestures() {\n if (!this.zoom.gesturesEnabled) return;\n this.zoom.gesturesEnabled = false;\n this.zoom.toggleGestures('off');\n },\n // Attach/Detach Events\n enable: function enable() {\n var swiper = this;\n var support = swiper.support;\n var zoom = swiper.zoom;\n if (zoom.enabled) return;\n zoom.enabled = true;\n var passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n var activeListenerWithCapture = support.passiveListener ? {\n passive: false,\n capture: true\n } : true;\n var slideSelector = \".\" + swiper.params.slideClass;\n swiper.zoom.passiveListener = passiveListener;\n swiper.zoom.slideSelector = slideSelector; // Scale image\n\n if (support.gestures) {\n swiper.$wrapperEl.on(swiper.touchEvents.start, swiper.zoom.enableGestures, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.end, swiper.zoom.disableGestures, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);\n swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);\n\n if (swiper.touchEvents.cancel) {\n swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);\n }\n } // Move image\n\n\n swiper.$wrapperEl.on(swiper.touchEvents.move, \".\" + swiper.params.zoom.containerClass, zoom.onTouchMove, activeListenerWithCapture);\n },\n disable: function disable() {\n var swiper = this;\n var zoom = swiper.zoom;\n if (!zoom.enabled) return;\n var support = swiper.support;\n swiper.zoom.enabled = false;\n var passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n var activeListenerWithCapture = support.passiveListener ? {\n passive: false,\n capture: true\n } : true;\n var slideSelector = \".\" + swiper.params.slideClass; // Scale image\n\n if (support.gestures) {\n swiper.$wrapperEl.off(swiper.touchEvents.start, swiper.zoom.enableGestures, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.end, swiper.zoom.disableGestures, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, zoom.onGestureChange, activeListenerWithCapture);\n swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, zoom.onGestureEnd, passiveListener);\n\n if (swiper.touchEvents.cancel) {\n swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, zoom.onGestureEnd, passiveListener);\n }\n } // Move image\n\n\n swiper.$wrapperEl.off(swiper.touchEvents.move, \".\" + swiper.params.zoom.containerClass, zoom.onTouchMove, activeListenerWithCapture);\n }\n};\nexport default {\n name: 'zoom',\n params: {\n zoom: {\n enabled: false,\n maxRatio: 3,\n minRatio: 1,\n toggle: true,\n containerClass: 'swiper-zoom-container',\n zoomedSlideClass: 'swiper-slide-zoomed'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n zoom: _extends({\n enabled: false,\n scale: 1,\n currentScale: 1,\n isScaling: false,\n gesture: {\n $slideEl: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n $imageEl: undefined,\n $imageWrapEl: undefined,\n maxRatio: 3\n },\n image: {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {}\n },\n velocity: {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined\n }\n }, Zoom)\n });\n var scale = 1;\n Object.defineProperty(swiper.zoom, 'scale', {\n get: function get() {\n return scale;\n },\n set: function set(value) {\n if (scale !== value) {\n var imageEl = swiper.zoom.gesture.$imageEl ? swiper.zoom.gesture.$imageEl[0] : undefined;\n var slideEl = swiper.zoom.gesture.$slideEl ? swiper.zoom.gesture.$slideEl[0] : undefined;\n swiper.emit('zoomChange', value, imageEl, slideEl);\n }\n\n scale = value;\n }\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.zoom.enabled) {\n swiper.zoom.enable();\n }\n },\n destroy: function destroy(swiper) {\n swiper.zoom.disable();\n },\n touchStart: function touchStart(swiper, e) {\n if (!swiper.zoom.enabled) return;\n swiper.zoom.onTouchStart(e);\n },\n touchEnd: function touchEnd(swiper, e) {\n if (!swiper.zoom.enabled) return;\n swiper.zoom.onTouchEnd(e);\n },\n doubleTap: function doubleTap(swiper, e) {\n if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\n swiper.zoom.toggle(e);\n }\n },\n transitionEnd: function transitionEnd(swiper) {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n swiper.zoom.onTransitionEnd();\n }\n },\n slideChange: function slideChange(swiper) {\n if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {\n swiper.zoom.onTransitionEnd();\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Lazy = {\n loadInSlide: function loadInSlide(index, loadInDuplicate) {\n if (loadInDuplicate === void 0) {\n loadInDuplicate = true;\n }\n\n var swiper = this;\n var params = swiper.params.lazy;\n if (typeof index === 'undefined') return;\n if (swiper.slides.length === 0) return;\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var $slideEl = isVirtual ? swiper.$wrapperEl.children(\".\" + swiper.params.slideClass + \"[data-swiper-slide-index=\\\"\" + index + \"\\\"]\") : swiper.slides.eq(index);\n var $images = $slideEl.find(\".\" + params.elementClass + \":not(.\" + params.loadedClass + \"):not(.\" + params.loadingClass + \")\");\n\n if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {\n $images.push($slideEl[0]);\n }\n\n if ($images.length === 0) return;\n $images.each(function (imageEl) {\n var $imageEl = $(imageEl);\n $imageEl.addClass(params.loadingClass);\n var background = $imageEl.attr('data-background');\n var src = $imageEl.attr('data-src');\n var srcset = $imageEl.attr('data-srcset');\n var sizes = $imageEl.attr('data-sizes');\n var $pictureEl = $imageEl.parent('picture');\n swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, function () {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return;\n\n if (background) {\n $imageEl.css('background-image', \"url(\\\"\" + background + \"\\\")\");\n $imageEl.removeAttr('data-background');\n } else {\n if (srcset) {\n $imageEl.attr('srcset', srcset);\n $imageEl.removeAttr('data-srcset');\n }\n\n if (sizes) {\n $imageEl.attr('sizes', sizes);\n $imageEl.removeAttr('data-sizes');\n }\n\n if ($pictureEl.length) {\n $pictureEl.children('source').each(function (sourceEl) {\n var $source = $(sourceEl);\n\n if ($source.attr('data-srcset')) {\n $source.attr('srcset', $source.attr('data-srcset'));\n $source.removeAttr('data-srcset');\n }\n });\n }\n\n if (src) {\n $imageEl.attr('src', src);\n $imageEl.removeAttr('data-src');\n }\n }\n\n $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\n $slideEl.find(\".\" + params.preloaderClass).remove();\n\n if (swiper.params.loop && loadInDuplicate) {\n var slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');\n\n if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\n var originalSlide = swiper.$wrapperEl.children(\"[data-swiper-slide-index=\\\"\" + slideOriginalIndex + \"\\\"]:not(.\" + swiper.params.slideDuplicateClass + \")\");\n swiper.lazy.loadInSlide(originalSlide.index(), false);\n } else {\n var duplicatedSlide = swiper.$wrapperEl.children(\".\" + swiper.params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + slideOriginalIndex + \"\\\"]\");\n swiper.lazy.loadInSlide(duplicatedSlide.index(), false);\n }\n }\n\n swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n });\n swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);\n });\n },\n load: function load() {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n swiperParams = swiper.params,\n slides = swiper.slides,\n activeIndex = swiper.activeIndex;\n var isVirtual = swiper.virtual && swiperParams.virtual.enabled;\n var params = swiperParams.lazy;\n var slidesPerView = swiperParams.slidesPerView;\n\n if (slidesPerView === 'auto') {\n slidesPerView = 0;\n }\n\n function slideExist(index) {\n if (isVirtual) {\n if ($wrapperEl.children(\".\" + swiperParams.slideClass + \"[data-swiper-slide-index=\\\"\" + index + \"\\\"]\").length) {\n return true;\n }\n } else if (slides[index]) return true;\n\n return false;\n }\n\n function slideIndex(slideEl) {\n if (isVirtual) {\n return $(slideEl).attr('data-swiper-slide-index');\n }\n\n return $(slideEl).index();\n }\n\n if (!swiper.lazy.initialImageLoaded) swiper.lazy.initialImageLoaded = true;\n\n if (swiper.params.watchSlidesVisibility) {\n $wrapperEl.children(\".\" + swiperParams.slideVisibleClass).each(function (slideEl) {\n var index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();\n swiper.lazy.loadInSlide(index);\n });\n } else if (slidesPerView > 1) {\n for (var i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\n if (slideExist(i)) swiper.lazy.loadInSlide(i);\n }\n } else {\n swiper.lazy.loadInSlide(activeIndex);\n }\n\n if (params.loadPrevNext) {\n if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) {\n var amount = params.loadPrevNextAmount;\n var spv = slidesPerView;\n var maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\n var minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides\n\n for (var _i = activeIndex + slidesPerView; _i < maxIndex; _i += 1) {\n if (slideExist(_i)) swiper.lazy.loadInSlide(_i);\n } // Prev Slides\n\n\n for (var _i2 = minIndex; _i2 < activeIndex; _i2 += 1) {\n if (slideExist(_i2)) swiper.lazy.loadInSlide(_i2);\n }\n } else {\n var nextSlide = $wrapperEl.children(\".\" + swiperParams.slideNextClass);\n if (nextSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(nextSlide));\n var prevSlide = $wrapperEl.children(\".\" + swiperParams.slidePrevClass);\n if (prevSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(prevSlide));\n }\n }\n },\n checkInViewOnLoad: function checkInViewOnLoad() {\n var window = getWindow();\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var $scrollElement = swiper.params.lazy.scrollingElement ? $(swiper.params.lazy.scrollingElement) : $(window);\n var isWindow = $scrollElement[0] === window;\n var scrollElementWidth = isWindow ? window.innerWidth : $scrollElement[0].offsetWidth;\n var scrollElementHeight = isWindow ? window.innerHeight : $scrollElement[0].offsetHeight;\n var swiperOffset = swiper.$el.offset();\n var rtl = swiper.rtlTranslate;\n var inView = false;\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n var swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]];\n\n for (var i = 0; i < swiperCoord.length; i += 1) {\n var point = swiperCoord[i];\n\n if (point[0] >= 0 && point[0] <= scrollElementWidth && point[1] >= 0 && point[1] <= scrollElementHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n\n inView = true;\n }\n }\n\n var passiveListener = swiper.touchEvents.start === 'touchstart' && swiper.support.passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n\n if (inView) {\n swiper.lazy.load();\n $scrollElement.off('scroll', swiper.lazy.checkInViewOnLoad, passiveListener);\n } else if (!swiper.lazy.scrollHandlerAttached) {\n swiper.lazy.scrollHandlerAttached = true;\n $scrollElement.on('scroll', swiper.lazy.checkInViewOnLoad, passiveListener);\n }\n }\n};\nexport default {\n name: 'lazy',\n params: {\n lazy: {\n checkInView: false,\n enabled: false,\n loadPrevNext: false,\n loadPrevNextAmount: 1,\n loadOnTransitionStart: false,\n scrollingElement: '',\n elementClass: 'swiper-lazy',\n loadingClass: 'swiper-lazy-loading',\n loadedClass: 'swiper-lazy-loaded',\n preloaderClass: 'swiper-lazy-preloader'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n lazy: _extends({\n initialImageLoaded: false\n }, Lazy)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.lazy.enabled && swiper.params.preloadImages) {\n swiper.params.preloadImages = false;\n }\n },\n init: function init(swiper) {\n if (swiper.params.lazy.enabled && !swiper.params.loop && swiper.params.initialSlide === 0) {\n if (swiper.params.lazy.checkInView) {\n swiper.lazy.checkInViewOnLoad();\n } else {\n swiper.lazy.load();\n }\n }\n },\n scroll: function scroll(swiper) {\n if (swiper.params.freeMode && !swiper.params.freeModeSticky) {\n swiper.lazy.load();\n }\n },\n 'scrollbarDragMove resize _freeModeNoMomentumRelease': function lazyLoad(swiper) {\n if (swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n },\n transitionStart: function transitionStart(swiper) {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !swiper.lazy.initialImageLoaded) {\n swiper.lazy.load();\n }\n }\n },\n transitionEnd: function transitionEnd(swiper) {\n if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\n swiper.lazy.load();\n }\n },\n slideChange: function slideChange(swiper) {\n var _swiper$params = swiper.params,\n lazy = _swiper$params.lazy,\n cssMode = _swiper$params.cssMode,\n watchSlidesVisibility = _swiper$params.watchSlidesVisibility,\n watchSlidesProgress = _swiper$params.watchSlidesProgress,\n touchReleaseOnEdges = _swiper$params.touchReleaseOnEdges,\n resistanceRatio = _swiper$params.resistanceRatio;\n\n if (lazy.enabled && (cssMode || (watchSlidesVisibility || watchSlidesProgress) && (touchReleaseOnEdges || resistanceRatio === 0))) {\n swiper.lazy.load();\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\nimport { nextTick, bindModuleMethods } from '../../utils/utils';\nvar Controller = {\n LinearSpline: function LinearSpline(x, y) {\n var binarySearch = function search() {\n var maxIndex;\n var minIndex;\n var guess;\n return function (array, val) {\n minIndex = -1;\n maxIndex = array.length;\n\n while (maxIndex - minIndex > 1) {\n guess = maxIndex + minIndex >> 1;\n\n if (array[guess] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n }\n\n return maxIndex;\n };\n }();\n\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n\n var i1;\n var i3;\n\n this.interpolate = function interpolate(x2) {\n if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n\n return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];\n };\n\n return this;\n },\n // xxx: for now i will just save one spline function to to\n getInterpolateFunction: function getInterpolateFunction(c) {\n var swiper = this;\n\n if (!swiper.controller.spline) {\n swiper.controller.spline = swiper.params.loop ? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid) : new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);\n }\n },\n setTranslate: function setTranslate(_setTranslate, byController) {\n var swiper = this;\n var controlled = swiper.controller.control;\n var multiplier;\n var controlledTranslate;\n var Swiper = swiper.constructor;\n\n function setControlledTranslate(c) {\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n var translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n\n if (swiper.params.controller.by === 'slide') {\n swiper.controller.getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n }\n\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\n multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();\n }\n\n if (swiper.params.controller.inverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n\n c.updateProgress(controlledTranslate);\n c.setTranslate(controlledTranslate, swiper);\n c.updateActiveIndex();\n c.updateSlidesClasses();\n }\n\n if (Array.isArray(controlled)) {\n for (var i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTranslate(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTranslate(controlled);\n }\n },\n setTransition: function setTransition(duration, byController) {\n var swiper = this;\n var Swiper = swiper.constructor;\n var controlled = swiper.controller.control;\n var i;\n\n function setControlledTransition(c) {\n c.setTransition(duration, swiper);\n\n if (duration !== 0) {\n c.transitionStart();\n\n if (c.params.autoHeight) {\n nextTick(function () {\n c.updateAutoHeight();\n });\n }\n\n c.$wrapperEl.transitionEnd(function () {\n if (!controlled) return;\n\n if (c.params.loop && swiper.params.controller.by === 'slide') {\n c.loopFix();\n }\n\n c.transitionEnd();\n });\n }\n }\n\n if (Array.isArray(controlled)) {\n for (i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTransition(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n};\nexport default {\n name: 'controller',\n params: {\n controller: {\n control: undefined,\n inverse: false,\n by: 'slide' // or 'container'\n\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n controller: _extends({\n control: swiper.params.controller.control\n }, Controller)\n });\n },\n on: {\n update: function update(swiper) {\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n resize: function resize(swiper) {\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n observerUpdate: function observerUpdate(swiper) {\n if (!swiper.controller.control) return;\n\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n setTranslate: function setTranslate(swiper, translate, byController) {\n if (!swiper.controller.control) return;\n swiper.controller.setTranslate(translate, byController);\n },\n setTransition: function setTransition(swiper, duration, byController) {\n if (!swiper.controller.control) return;\n swiper.controller.setTransition(duration, byController);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { bindModuleMethods, classesToSelector } from '../../utils/utils';\nvar A11y = {\n getRandomNumber: function getRandomNumber(size) {\n if (size === void 0) {\n size = 16;\n }\n\n var randomChar = function randomChar() {\n return Math.round(16 * Math.random()).toString(16);\n };\n\n return 'x'.repeat(size).replace(/x/g, randomChar);\n },\n makeElFocusable: function makeElFocusable($el) {\n $el.attr('tabIndex', '0');\n return $el;\n },\n makeElNotFocusable: function makeElNotFocusable($el) {\n $el.attr('tabIndex', '-1');\n return $el;\n },\n addElRole: function addElRole($el, role) {\n $el.attr('role', role);\n return $el;\n },\n addElRoleDescription: function addElRoleDescription($el, description) {\n $el.attr('aria-roledescription', description);\n return $el;\n },\n addElControls: function addElControls($el, controls) {\n $el.attr('aria-controls', controls);\n return $el;\n },\n addElLabel: function addElLabel($el, label) {\n $el.attr('aria-label', label);\n return $el;\n },\n addElId: function addElId($el, id) {\n $el.attr('id', id);\n return $el;\n },\n addElLive: function addElLive($el, live) {\n $el.attr('aria-live', live);\n return $el;\n },\n disableEl: function disableEl($el) {\n $el.attr('aria-disabled', true);\n return $el;\n },\n enableEl: function enableEl($el) {\n $el.attr('aria-disabled', false);\n return $el;\n },\n onEnterOrSpaceKey: function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n var swiper = this;\n var params = swiper.params.a11y;\n var $targetEl = $(e.target);\n\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n\n if (swiper.isEnd) {\n swiper.a11y.notify(params.lastSlideMessage);\n } else {\n swiper.a11y.notify(params.nextSlideMessage);\n }\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n\n if (swiper.isBeginning) {\n swiper.a11y.notify(params.firstSlideMessage);\n } else {\n swiper.a11y.notify(params.prevSlideMessage);\n }\n }\n\n if (swiper.pagination && $targetEl.is(classesToSelector(swiper.params.pagination.bulletClass))) {\n $targetEl[0].click();\n }\n },\n notify: function notify(message) {\n var swiper = this;\n var notification = swiper.a11y.liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n },\n updateNavigation: function updateNavigation() {\n var swiper = this;\n if (swiper.params.loop || !swiper.navigation) return;\n var _swiper$navigation = swiper.navigation,\n $nextEl = _swiper$navigation.$nextEl,\n $prevEl = _swiper$navigation.$prevEl;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n swiper.a11y.disableEl($prevEl);\n swiper.a11y.makeElNotFocusable($prevEl);\n } else {\n swiper.a11y.enableEl($prevEl);\n swiper.a11y.makeElFocusable($prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n swiper.a11y.disableEl($nextEl);\n swiper.a11y.makeElNotFocusable($nextEl);\n } else {\n swiper.a11y.enableEl($nextEl);\n swiper.a11y.makeElFocusable($nextEl);\n }\n }\n },\n updatePagination: function updatePagination() {\n var swiper = this;\n var params = swiper.params.a11y;\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.bullets.each(function (bulletEl) {\n var $bulletEl = $(bulletEl);\n swiper.a11y.makeElFocusable($bulletEl);\n\n if (!swiper.params.pagination.renderBullet) {\n swiper.a11y.addElRole($bulletEl, 'button');\n swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, $bulletEl.index() + 1));\n }\n });\n }\n },\n init: function init() {\n var swiper = this;\n var params = swiper.params.a11y;\n swiper.$el.append(swiper.a11y.liveRegion); // Container\n\n var $containerEl = swiper.$el;\n\n if (params.containerRoleDescriptionMessage) {\n swiper.a11y.addElRoleDescription($containerEl, params.containerRoleDescriptionMessage);\n }\n\n if (params.containerMessage) {\n swiper.a11y.addElLabel($containerEl, params.containerMessage);\n } // Wrapper\n\n\n var $wrapperEl = swiper.$wrapperEl;\n var wrapperId = $wrapperEl.attr('id') || \"swiper-wrapper-\" + swiper.a11y.getRandomNumber(16);\n var live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n swiper.a11y.addElId($wrapperEl, wrapperId);\n swiper.a11y.addElLive($wrapperEl, live); // Slide\n\n if (params.itemRoleDescriptionMessage) {\n swiper.a11y.addElRoleDescription($(swiper.slides), params.itemRoleDescriptionMessage);\n }\n\n swiper.a11y.addElRole($(swiper.slides), params.slideRole);\n var slidesLength = swiper.params.loop ? swiper.slides.filter(function (el) {\n return !el.classList.contains(swiper.params.slideDuplicateClass);\n }).length : swiper.slides.length;\n swiper.slides.each(function (slideEl, index) {\n var $slideEl = $(slideEl);\n var slideIndex = swiper.params.loop ? parseInt($slideEl.attr('data-swiper-slide-index'), 10) : index;\n var ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n swiper.a11y.addElLabel($slideEl, ariaLabelMessage);\n }); // Navigation\n\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl && $nextEl.length) {\n swiper.a11y.makeElFocusable($nextEl);\n\n if ($nextEl[0].tagName !== 'BUTTON') {\n swiper.a11y.addElRole($nextEl, 'button');\n $nextEl.on('keydown', swiper.a11y.onEnterOrSpaceKey);\n }\n\n swiper.a11y.addElLabel($nextEl, params.nextSlideMessage);\n swiper.a11y.addElControls($nextEl, wrapperId);\n }\n\n if ($prevEl && $prevEl.length) {\n swiper.a11y.makeElFocusable($prevEl);\n\n if ($prevEl[0].tagName !== 'BUTTON') {\n swiper.a11y.addElRole($prevEl, 'button');\n $prevEl.on('keydown', swiper.a11y.onEnterOrSpaceKey);\n }\n\n swiper.a11y.addElLabel($prevEl, params.prevSlideMessage);\n swiper.a11y.addElControls($prevEl, wrapperId);\n } // Pagination\n\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.on('keydown', classesToSelector(swiper.params.pagination.bulletClass), swiper.a11y.onEnterOrSpaceKey);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n if (swiper.a11y.liveRegion && swiper.a11y.liveRegion.length > 0) swiper.a11y.liveRegion.remove();\n var $nextEl;\n var $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl) {\n $nextEl.off('keydown', swiper.a11y.onEnterOrSpaceKey);\n }\n\n if ($prevEl) {\n $prevEl.off('keydown', swiper.a11y.onEnterOrSpaceKey);\n } // Pagination\n\n\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.off('keydown', classesToSelector(swiper.params.pagination.bulletClass), swiper.a11y.onEnterOrSpaceKey);\n }\n }\n};\nexport default {\n name: 'a11y',\n params: {\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n a11y: _extends({}, A11y, {\n liveRegion: $(\"\")\n })\n });\n },\n on: {\n afterInit: function afterInit(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.init();\n swiper.a11y.updateNavigation();\n },\n toEdge: function toEdge(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n fromEdge: function fromEdge(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n paginationUpdate: function paginationUpdate(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updatePagination();\n },\n destroy: function destroy(swiper) {\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.destroy();\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport { bindModuleMethods } from '../../utils/utils';\nvar History = {\n init: function init() {\n var swiper = this;\n var window = getWindow();\n if (!swiper.params.history) return;\n\n if (!window.history || !window.history.pushState) {\n swiper.params.history.enabled = false;\n swiper.params.hashNavigation.enabled = true;\n return;\n }\n\n var history = swiper.history;\n history.initialized = true;\n history.paths = History.getPathValues(swiper.params.url);\n if (!history.paths.key && !history.paths.value) return;\n history.scrollToSlide(0, history.paths.value, swiper.params.runCallbacksOnInit);\n\n if (!swiper.params.history.replaceState) {\n window.addEventListener('popstate', swiper.history.setHistoryPopState);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var window = getWindow();\n\n if (!swiper.params.history.replaceState) {\n window.removeEventListener('popstate', swiper.history.setHistoryPopState);\n }\n },\n setHistoryPopState: function setHistoryPopState() {\n var swiper = this;\n swiper.history.paths = History.getPathValues(swiper.params.url);\n swiper.history.scrollToSlide(swiper.params.speed, swiper.history.paths.value, false);\n },\n getPathValues: function getPathValues(urlOverride) {\n var window = getWindow();\n var location;\n\n if (urlOverride) {\n location = new URL(urlOverride);\n } else {\n location = window.location;\n }\n\n var pathArray = location.pathname.slice(1).split('/').filter(function (part) {\n return part !== '';\n });\n var total = pathArray.length;\n var key = pathArray[total - 2];\n var value = pathArray[total - 1];\n return {\n key: key,\n value: value\n };\n },\n setHistory: function setHistory(key, index) {\n var swiper = this;\n var window = getWindow();\n if (!swiper.history.initialized || !swiper.params.history.enabled) return;\n var location;\n\n if (swiper.params.url) {\n location = new URL(swiper.params.url);\n } else {\n location = window.location;\n }\n\n var slide = swiper.slides.eq(index);\n var value = History.slugify(slide.attr('data-history'));\n\n if (swiper.params.history.root.length > 0) {\n var root = swiper.params.history.root;\n if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);\n value = root + \"/\" + key + \"/\" + value;\n } else if (!location.pathname.includes(key)) {\n value = key + \"/\" + value;\n }\n\n var currentState = window.history.state;\n\n if (currentState && currentState.value === value) {\n return;\n }\n\n if (swiper.params.history.replaceState) {\n window.history.replaceState({\n value: value\n }, null, value);\n } else {\n window.history.pushState({\n value: value\n }, null, value);\n }\n },\n slugify: function slugify(text) {\n return text.toString().replace(/\\s+/g, '-').replace(/[^\\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');\n },\n scrollToSlide: function scrollToSlide(speed, value, runCallbacks) {\n var swiper = this;\n\n if (value) {\n for (var i = 0, length = swiper.slides.length; i < length; i += 1) {\n var slide = swiper.slides.eq(i);\n var slideHistory = History.slugify(slide.attr('data-history'));\n\n if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) {\n var index = slide.index();\n swiper.slideTo(index, speed, runCallbacks);\n }\n }\n } else {\n swiper.slideTo(0, speed, runCallbacks);\n }\n }\n};\nexport default {\n name: 'history',\n params: {\n history: {\n enabled: false,\n root: '',\n replaceState: false,\n key: 'slides'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n history: _extends({}, History)\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.history.enabled) {\n swiper.history.init();\n }\n },\n destroy: function destroy(swiper) {\n if (swiper.params.history.enabled) {\n swiper.history.destroy();\n }\n },\n 'transitionEnd _freeModeNoMomentumRelease': function transitionEnd_freeModeNoMomentumRelease(swiper) {\n if (swiper.history.initialized) {\n swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n },\n slideChange: function slideChange(swiper) {\n if (swiper.history.initialized && swiper.params.cssMode) {\n swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar HashNavigation = {\n onHashChange: function onHashChange() {\n var swiper = this;\n var document = getDocument();\n swiper.emit('hashChange');\n var newHash = document.location.hash.replace('#', '');\n var activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash');\n\n if (newHash !== activeSlideHash) {\n var newIndex = swiper.$wrapperEl.children(\".\" + swiper.params.slideClass + \"[data-hash=\\\"\" + newHash + \"\\\"]\").index();\n if (typeof newIndex === 'undefined') return;\n swiper.slideTo(newIndex);\n }\n },\n setHash: function setHash() {\n var swiper = this;\n var window = getWindow();\n var document = getDocument();\n if (!swiper.hashNavigation.initialized || !swiper.params.hashNavigation.enabled) return;\n\n if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {\n window.history.replaceState(null, null, \"#\" + swiper.slides.eq(swiper.activeIndex).attr('data-hash') || '');\n swiper.emit('hashSet');\n } else {\n var slide = swiper.slides.eq(swiper.activeIndex);\n var hash = slide.attr('data-hash') || slide.attr('data-history');\n document.location.hash = hash || '';\n swiper.emit('hashSet');\n }\n },\n init: function init() {\n var swiper = this;\n var document = getDocument();\n var window = getWindow();\n if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;\n swiper.hashNavigation.initialized = true;\n var hash = document.location.hash.replace('#', '');\n\n if (hash) {\n var speed = 0;\n\n for (var i = 0, length = swiper.slides.length; i < length; i += 1) {\n var slide = swiper.slides.eq(i);\n var slideHash = slide.attr('data-hash') || slide.attr('data-history');\n\n if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) {\n var index = slide.index();\n swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);\n }\n }\n }\n\n if (swiper.params.hashNavigation.watchState) {\n $(window).on('hashchange', swiper.hashNavigation.onHashChange);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var window = getWindow();\n\n if (swiper.params.hashNavigation.watchState) {\n $(window).off('hashchange', swiper.hashNavigation.onHashChange);\n }\n }\n};\nexport default {\n name: 'hash-navigation',\n params: {\n hashNavigation: {\n enabled: false,\n replaceState: false,\n watchState: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n hashNavigation: _extends({\n initialized: false\n }, HashNavigation)\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.hashNavigation.enabled) {\n swiper.hashNavigation.init();\n }\n },\n destroy: function destroy(swiper) {\n if (swiper.params.hashNavigation.enabled) {\n swiper.hashNavigation.destroy();\n }\n },\n 'transitionEnd _freeModeNoMomentumRelease': function transitionEnd_freeModeNoMomentumRelease(swiper) {\n if (swiper.hashNavigation.initialized) {\n swiper.hashNavigation.setHash();\n }\n },\n slideChange: function slideChange(swiper) {\n if (swiper.hashNavigation.initialized && swiper.params.cssMode) {\n swiper.hashNavigation.setHash();\n }\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/* eslint no-underscore-dangle: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport { nextTick, bindModuleMethods } from '../../utils/utils';\nvar Autoplay = {\n run: function run() {\n var swiper = this;\n var $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n var delay = swiper.params.autoplay.delay;\n\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = nextTick(function () {\n var autoplayResult;\n\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isBeginning) {\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isEnd) {\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n\n if (swiper.params.cssMode && swiper.autoplay.running) swiper.autoplay.run();else if (autoplayResult === false) {\n swiper.autoplay.run();\n }\n }, delay);\n },\n start: function start() {\n var swiper = this;\n if (typeof swiper.autoplay.timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n swiper.emit('autoplayStart');\n swiper.autoplay.run();\n return true;\n },\n stop: function stop() {\n var swiper = this;\n if (!swiper.autoplay.running) return false;\n if (typeof swiper.autoplay.timeout === 'undefined') return false;\n\n if (swiper.autoplay.timeout) {\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = undefined;\n }\n\n swiper.autoplay.running = false;\n swiper.emit('autoplayStop');\n return true;\n },\n pause: function pause(speed) {\n var swiper = this;\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (swiper.autoplay.timeout) clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.paused = true;\n\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n swiper.autoplay.run();\n } else {\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].addEventListener(event, swiper.autoplay.onTransitionEnd);\n });\n }\n },\n onVisibilityChange: function onVisibilityChange() {\n var swiper = this;\n var document = getDocument();\n\n if (document.visibilityState === 'hidden' && swiper.autoplay.running) {\n swiper.autoplay.pause();\n }\n\n if (document.visibilityState === 'visible' && swiper.autoplay.paused) {\n swiper.autoplay.run();\n swiper.autoplay.paused = false;\n }\n },\n onTransitionEnd: function onTransitionEnd(e) {\n var swiper = this;\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== swiper.$wrapperEl[0]) return;\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].removeEventListener(event, swiper.autoplay.onTransitionEnd);\n });\n swiper.autoplay.paused = false;\n\n if (!swiper.autoplay.running) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.run();\n }\n },\n onMouseEnter: function onMouseEnter() {\n var swiper = this;\n\n if (swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.pause();\n }\n\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n swiper.$wrapperEl[0].removeEventListener(event, swiper.autoplay.onTransitionEnd);\n });\n },\n onMouseLeave: function onMouseLeave() {\n var swiper = this;\n\n if (swiper.params.autoplay.disableOnInteraction) {\n return;\n }\n\n swiper.autoplay.paused = false;\n swiper.autoplay.run();\n },\n attachMouseEvents: function attachMouseEvents() {\n var swiper = this;\n\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.$el.on('mouseenter', swiper.autoplay.onMouseEnter);\n swiper.$el.on('mouseleave', swiper.autoplay.onMouseLeave);\n }\n },\n detachMouseEvents: function detachMouseEvents() {\n var swiper = this;\n swiper.$el.off('mouseenter', swiper.autoplay.onMouseEnter);\n swiper.$el.off('mouseleave', swiper.autoplay.onMouseLeave);\n }\n};\nexport default {\n name: 'autoplay',\n params: {\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n autoplay: _extends({}, Autoplay, {\n running: false,\n paused: false\n })\n });\n },\n on: {\n init: function init(swiper) {\n if (swiper.params.autoplay.enabled) {\n swiper.autoplay.start();\n var document = getDocument();\n document.addEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);\n swiper.autoplay.attachMouseEvents();\n }\n },\n beforeTransitionStart: function beforeTransitionStart(swiper, speed, internal) {\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n swiper.autoplay.stop();\n }\n }\n },\n sliderFirstMove: function sliderFirstMove(swiper) {\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.pause();\n }\n }\n },\n touchEnd: function touchEnd(swiper) {\n if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.run();\n }\n },\n destroy: function destroy(swiper) {\n swiper.autoplay.detachMouseEvents();\n\n if (swiper.autoplay.running) {\n swiper.autoplay.stop();\n }\n\n var document = getDocument();\n document.removeEventListener('visibilitychange', swiper.autoplay.onVisibilityChange);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { extend, bindModuleMethods } from '../../utils/utils';\nvar Fade = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = swiper.slides.eq(i);\n var offset = $slideEl[0].swiperSlideOffset;\n var tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n var ty = 0;\n\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n\n var slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\n $slideEl.css({\n opacity: slideOpacity\n }).transform(\"translate3d(\" + tx + \"px, \" + ty + \"px, 0px)\");\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var slides = swiper.slides,\n $wrapperEl = swiper.$wrapperEl;\n slides.transition(duration);\n\n if (swiper.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false;\n slides.transitionEnd(function () {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n\n for (var i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n }\n};\nexport default {\n name: 'effect-fade',\n params: {\n fadeEffect: {\n crossFade: false\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n fadeEffect: _extends({}, Fade)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.effect !== 'fade') return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"fade\");\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: true\n };\n extend(swiper.params, overwriteParams);\n extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate(swiper) {\n if (swiper.params.effect !== 'fade') return;\n swiper.fadeEffect.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (swiper.params.effect !== 'fade') return;\n swiper.fadeEffect.setTransition(duration);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods } from '../../utils/utils';\nvar Cube = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides,\n swiperWidth = swiper.width,\n swiperHeight = swiper.height,\n rtl = swiper.rtlTranslate,\n swiperSize = swiper.size,\n browser = swiper.browser;\n var params = swiper.params.cubeEffect;\n var isHorizontal = swiper.isHorizontal();\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var wrapperRotate = 0;\n var $cubeShadowEl;\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');\n\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = $('
');\n $wrapperEl.append($cubeShadowEl);\n }\n\n $cubeShadowEl.css({\n height: swiperWidth + \"px\"\n });\n } else {\n $cubeShadowEl = $el.find('.swiper-cube-shadow');\n\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = $('
');\n $el.append($cubeShadowEl);\n }\n }\n }\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideIndex = i;\n\n if (isVirtual) {\n slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);\n }\n\n var slideAngle = slideIndex * 90;\n var round = Math.floor(slideAngle / 360);\n\n if (rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n\n var progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n var tx = 0;\n var ty = 0;\n var tz = 0;\n\n if (slideIndex % 4 === 0) {\n tx = -round * 4 * swiperSize;\n tz = 0;\n } else if ((slideIndex - 1) % 4 === 0) {\n tx = 0;\n tz = -round * 4 * swiperSize;\n } else if ((slideIndex - 2) % 4 === 0) {\n tx = swiperSize + round * 4 * swiperSize;\n tz = swiperSize;\n } else if ((slideIndex - 3) % 4 === 0) {\n tx = -swiperSize;\n tz = 3 * swiperSize + swiperSize * 4 * round;\n }\n\n if (rtl) {\n tx = -tx;\n }\n\n if (!isHorizontal) {\n ty = tx;\n tx = 0;\n }\n\n var transform = \"rotateX(\" + (isHorizontal ? 0 : -slideAngle) + \"deg) rotateY(\" + (isHorizontal ? slideAngle : 0) + \"deg) translate3d(\" + tx + \"px, \" + ty + \"px, \" + tz + \"px)\";\n\n if (progress <= 1 && progress > -1) {\n wrapperRotate = slideIndex * 90 + progress * 90;\n if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;\n }\n\n $slideEl.transform(transform);\n\n if (params.slideShadows) {\n // Set shadows\n var shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if (shadowBefore.length === 0) {\n shadowBefore = $(\"
\");\n $slideEl.append(shadowBefore);\n }\n\n if (shadowAfter.length === 0) {\n shadowAfter = $(\"
\");\n $slideEl.append(shadowAfter);\n }\n\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n }\n\n $wrapperEl.css({\n '-webkit-transform-origin': \"50% 50% -\" + swiperSize / 2 + \"px\",\n '-moz-transform-origin': \"50% 50% -\" + swiperSize / 2 + \"px\",\n '-ms-transform-origin': \"50% 50% -\" + swiperSize / 2 + \"px\",\n 'transform-origin': \"50% 50% -\" + swiperSize / 2 + \"px\"\n });\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl.transform(\"translate3d(0px, \" + (swiperWidth / 2 + params.shadowOffset) + \"px, \" + -swiperWidth / 2 + \"px) rotateX(90deg) rotateZ(0deg) scale(\" + params.shadowScale + \")\");\n } else {\n var shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n var multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\n var scale1 = params.shadowScale;\n var scale2 = params.shadowScale / multiplier;\n var offset = params.shadowOffset;\n $cubeShadowEl.transform(\"scale3d(\" + scale1 + \", 1, \" + scale2 + \") translate3d(0px, \" + (swiperHeight / 2 + offset) + \"px, \" + -swiperHeight / 2 / scale2 + \"px) rotateX(-90deg)\");\n }\n }\n\n var zFactor = browser.isSafari || browser.isWebView ? -swiperSize / 2 : 0;\n $wrapperEl.transform(\"translate3d(0px,0,\" + zFactor + \"px) rotateX(\" + (swiper.isHorizontal() ? 0 : wrapperRotate) + \"deg) rotateY(\" + (swiper.isHorizontal() ? -wrapperRotate : 0) + \"deg)\");\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var $el = swiper.$el,\n slides = swiper.slides;\n slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n $el.find('.swiper-cube-shadow').transition(duration);\n }\n }\n};\nexport default {\n name: 'effect-cube',\n params: {\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n cubeEffect: _extends({}, Cube)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.effect !== 'cube') return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"cube\");\n swiper.classNames.push(swiper.params.containerModifierClass + \"3d\");\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n resistanceRatio: 0,\n spaceBetween: 0,\n centeredSlides: false,\n virtualTranslate: true\n };\n extend(swiper.params, overwriteParams);\n extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate(swiper) {\n if (swiper.params.effect !== 'cube') return;\n swiper.cubeEffect.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (swiper.params.effect !== 'cube') return;\n swiper.cubeEffect.setTransition(duration);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods } from '../../utils/utils';\nvar Flip = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n\n for (var i = 0; i < slides.length; i += 1) {\n var $slideEl = slides.eq(i);\n var progress = $slideEl[0].progress;\n\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n }\n\n var offset = $slideEl[0].swiperSlideOffset;\n var rotate = -180 * progress;\n var rotateY = rotate;\n var rotateX = 0;\n var tx = -offset;\n var ty = 0;\n\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n } else if (rtl) {\n rotateY = -rotateY;\n }\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n\n if (swiper.params.flipEffect.slideShadows) {\n // Set shadows\n var shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if (shadowBefore.length === 0) {\n shadowBefore = $(\"
\");\n $slideEl.append(shadowBefore);\n }\n\n if (shadowAfter.length === 0) {\n shadowAfter = $(\"
\");\n $slideEl.append(shadowAfter);\n }\n\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n\n $slideEl.transform(\"translate3d(\" + tx + \"px, \" + ty + \"px, 0px) rotateX(\" + rotateX + \"deg) rotateY(\" + rotateY + \"deg)\");\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n var slides = swiper.slides,\n activeIndex = swiper.activeIndex,\n $wrapperEl = swiper.$wrapperEl;\n slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n\n if (swiper.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false; // eslint-disable-next-line\n\n slides.eq(activeIndex).transitionEnd(function onTransitionEnd() {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return; // if (!$(this).hasClass(swiper.params.slideActiveClass)) return;\n\n eventTriggered = true;\n swiper.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n\n for (var i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n }\n};\nexport default {\n name: 'effect-flip',\n params: {\n flipEffect: {\n slideShadows: true,\n limitRotation: true\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n flipEffect: _extends({}, Flip)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.effect !== 'flip') return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"flip\");\n swiper.classNames.push(swiper.params.containerModifierClass + \"3d\");\n var overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: true\n };\n extend(swiper.params, overwriteParams);\n extend(swiper.originalParams, overwriteParams);\n },\n setTranslate: function setTranslate(swiper) {\n if (swiper.params.effect !== 'flip') return;\n swiper.flipEffect.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (swiper.params.effect !== 'flip') return;\n swiper.flipEffect.setTransition(duration);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Coverflow = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var swiperWidth = swiper.width,\n swiperHeight = swiper.height,\n slides = swiper.slides,\n slidesSizesGrid = swiper.slidesSizesGrid;\n var params = swiper.params.coverflowEffect;\n var isHorizontal = swiper.isHorizontal();\n var transform = swiper.translate;\n var center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n var rotate = isHorizontal ? params.rotate : -params.rotate;\n var translate = params.depth; // Each slide offset from center\n\n for (var i = 0, length = slides.length; i < length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideSize = slidesSizesGrid[i];\n var slideOffset = $slideEl[0].swiperSlideOffset;\n var offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * params.modifier;\n var rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n var rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0\n\n var translateZ = -translate * Math.abs(offsetMultiplier);\n var stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders\n\n if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n stretch = parseFloat(params.stretch) / 100 * slideSize;\n }\n\n var translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n var translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n var scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values\n\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n if (Math.abs(scale) < 0.001) scale = 0;\n var slideTransform = \"translate3d(\" + translateX + \"px,\" + translateY + \"px,\" + translateZ + \"px) rotateX(\" + rotateX + \"deg) rotateY(\" + rotateY + \"deg) scale(\" + scale + \")\";\n $slideEl.transform(slideTransform);\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n\n if (params.slideShadows) {\n // Set shadows\n var $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if ($shadowBeforeEl.length === 0) {\n $shadowBeforeEl = $(\"
\");\n $slideEl.append($shadowBeforeEl);\n }\n\n if ($shadowAfterEl.length === 0) {\n $shadowAfterEl = $(\"
\");\n $slideEl.append($shadowAfterEl);\n }\n\n if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n swiper.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n }\n};\nexport default {\n name: 'effect-coverflow',\n params: {\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n coverflowEffect: _extends({}, Coverflow)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.effect !== 'coverflow') return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"coverflow\");\n swiper.classNames.push(swiper.params.containerModifierClass + \"3d\");\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n setTranslate: function setTranslate(swiper) {\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTransition(duration);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { extend, isObject, bindModuleMethods } from '../../utils/utils';\nimport $ from '../../utils/dom';\nvar Thumbs = {\n init: function init() {\n var swiper = this;\n var thumbsParams = swiper.params.thumbs;\n if (swiper.thumbs.initialized) return false;\n swiper.thumbs.initialized = true;\n var SwiperClass = swiper.constructor;\n\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n extend(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n extend(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false\n });\n } else if (isObject(thumbsParams.swiper)) {\n swiper.thumbs.swiper = new SwiperClass(extend({}, thumbsParams.swiper, {\n watchSlidesVisibility: true,\n watchSlidesProgress: true,\n slideToClickedSlide: false\n }));\n swiper.thumbs.swiperCreated = true;\n }\n\n swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on('tap', swiper.thumbs.onThumbClick);\n return true;\n },\n onThumbClick: function onThumbClick() {\n var swiper = this;\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n var clickedIndex = thumbsSwiper.clickedIndex;\n var clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && $(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return;\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n var slideToIndex;\n\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n\n if (swiper.params.loop) {\n var currentIndex = swiper.activeIndex;\n\n if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n currentIndex = swiper.activeIndex;\n }\n\n var prevIndex = swiper.slides.eq(currentIndex).prevAll(\"[data-swiper-slide-index=\\\"\" + slideToIndex + \"\\\"]\").eq(0).index();\n var nextIndex = swiper.slides.eq(currentIndex).nextAll(\"[data-swiper-slide-index=\\\"\" + slideToIndex + \"\\\"]\").eq(0).index();\n if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;else slideToIndex = prevIndex;\n }\n\n swiper.slideTo(slideToIndex);\n },\n update: function update(initial) {\n var swiper = this;\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n var slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;\n var autoScrollOffset = swiper.params.thumbs.autoScrollOffset;\n var useOffset = autoScrollOffset && !thumbsSwiper.params.loop;\n\n if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {\n var currentThumbsIndex = thumbsSwiper.activeIndex;\n var newThumbsIndex;\n var direction;\n\n if (thumbsSwiper.params.loop) {\n if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) {\n thumbsSwiper.loopFix(); // eslint-disable-next-line\n\n thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;\n currentThumbsIndex = thumbsSwiper.activeIndex;\n } // Find actual thumbs index to slide to\n\n\n var prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(\"[data-swiper-slide-index=\\\"\" + swiper.realIndex + \"\\\"]\").eq(0).index();\n var nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(\"[data-swiper-slide-index=\\\"\" + swiper.realIndex + \"\\\"]\").eq(0).index();\n\n if (typeof prevThumbsIndex === 'undefined') {\n newThumbsIndex = nextThumbsIndex;\n } else if (typeof nextThumbsIndex === 'undefined') {\n newThumbsIndex = prevThumbsIndex;\n } else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) {\n newThumbsIndex = thumbsSwiper.params.slidesPerGroup > 1 ? nextThumbsIndex : currentThumbsIndex;\n } else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) {\n newThumbsIndex = nextThumbsIndex;\n } else {\n newThumbsIndex = prevThumbsIndex;\n }\n\n direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';\n } else {\n newThumbsIndex = swiper.realIndex;\n direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';\n }\n\n if (useOffset) {\n newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;\n }\n\n if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) {// newThumbsIndex = newThumbsIndex - slidesPerView + 1;\n }\n\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n }\n } // Activate thumbs\n\n\n var thumbsToActivate = 1;\n var thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n\n if (!swiper.params.thumbs.multipleActiveThumbs) {\n thumbsToActivate = 1;\n }\n\n thumbsToActivate = Math.floor(thumbsToActivate);\n thumbsSwiper.slides.removeClass(thumbActiveClass);\n\n if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {\n for (var i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.$wrapperEl.children(\"[data-swiper-slide-index=\\\"\" + (swiper.realIndex + i) + \"\\\"]\").addClass(thumbActiveClass);\n }\n } else {\n for (var _i = 0; _i < thumbsToActivate; _i += 1) {\n thumbsSwiper.slides.eq(swiper.realIndex + _i).addClass(thumbActiveClass);\n }\n }\n }\n};\nexport default {\n name: 'thumbs',\n params: {\n thumbs: {\n swiper: null,\n multipleActiveThumbs: true,\n autoScrollOffset: 0,\n slideThumbActiveClass: 'swiper-slide-thumb-active',\n thumbsContainerClass: 'swiper-container-thumbs'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n thumbs: _extends({\n swiper: null,\n initialized: false\n }, Thumbs)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n var thumbs = swiper.params.thumbs;\n if (!thumbs || !thumbs.swiper) return;\n swiper.thumbs.init();\n swiper.thumbs.update(true);\n },\n slideChange: function slideChange(swiper) {\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n update: function update(swiper) {\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n resize: function resize(swiper) {\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n observerUpdate: function observerUpdate(swiper) {\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n setTransition: function setTransition(swiper, duration) {\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n thumbsSwiper.setTransition(duration);\n },\n beforeDestroy: function beforeDestroy(swiper) {\n var thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n\n if (swiper.thumbs.swiperCreated && thumbsSwiper) {\n thumbsSwiper.destroy();\n }\n }\n }\n};","/**\n * Swiper 6.8.4\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2021 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: August 23, 2021\n */\n\nimport Swiper from './esm/components/core/core-class';\nexport { default as Swiper, default } from './esm/components/core/core-class';\nimport Virtual from './esm/components/virtual/virtual';\nimport Keyboard from './esm/components/keyboard/keyboard';\nimport Mousewheel from './esm/components/mousewheel/mousewheel';\nimport Navigation from './esm/components/navigation/navigation';\nimport Pagination from './esm/components/pagination/pagination';\nimport Scrollbar from './esm/components/scrollbar/scrollbar';\nimport Parallax from './esm/components/parallax/parallax';\nimport Zoom from './esm/components/zoom/zoom';\nimport Lazy from './esm/components/lazy/lazy';\nimport Controller from './esm/components/controller/controller';\nimport A11y from './esm/components/a11y/a11y';\nimport History from './esm/components/history/history';\nimport HashNavigation from './esm/components/hash-navigation/hash-navigation';\nimport Autoplay from './esm/components/autoplay/autoplay';\nimport EffectFade from './esm/components/effect-fade/effect-fade';\nimport EffectCube from './esm/components/effect-cube/effect-cube';\nimport EffectFlip from './esm/components/effect-flip/effect-flip';\nimport EffectCoverflow from './esm/components/effect-coverflow/effect-coverflow';\nimport Thumbs from './esm/components/thumbs/thumbs';\n\n// Swiper Class\nvar components = [Virtual, Keyboard, Mousewheel, Navigation, Pagination, Scrollbar, Parallax, Zoom, Lazy, Controller, A11y, History, HashNavigation, Autoplay, EffectFade, EffectCube, EffectFlip, EffectCoverflow, Thumbs];\nSwiper.use(components);\n","import Lng from \"../3x1010/Lng.js\";\r\nimport Pqp from \"../3x1010/Pqp.js\";\r\n\r\nimport Globals from \"../Globals.js\";\r\n\r\nimport Swiper from \"swiper/bundle\";\r\n\r\n// BASE PAGE\r\nexport default class PageCommon {\r\n\tconstructor() {}\r\n\tinit($data) {\r\n\t\t//Pqp.trace(\"PageCommon\");\r\n\t\tthis.metaInfo = $data && $data.metaInfo ? $data.metaInfo : null;\r\n\t\t//\r\n\t\tif (this.metaInfo) {\r\n\t\t\thistory.replaceState(history.state, this.metaInfo.Title, this.metaInfo.Url + location.hash);\r\n\t\t\tdocument.title = metaInfo.Title;\r\n\t\t}\r\n\r\n\t\t//\r\n\t\t// dispaccio un evento globale\r\n\t\t//this.dispatchInitEvent(TheDisp.EV_PAGECOMMON_INITED);\r\n\r\n\t\tthis.maxWidthMobile = 810;\r\n\r\n\t\tthis.initModalBCorp();\r\n\t}\r\n\r\n\tinitModalBCorp() {\r\n\t\tconst btn = $(\".js-learn-more-bcorp\");\r\n\t\tconst modal = $(\"#modalBcorp\");\r\n\t\tbtn.on(\"click\", e => modal.fadeIn());\r\n\t\t$(\".btn-close\", modal).on(\"click\", e => modal.fadeOut());\r\n\t}\r\n\r\n\tdispatchInitEvent(evenTyepe) {\r\n\t\t// dispaccio un evento globale\r\n\t\tlet ev = new Event(evenTyepe);\r\n\t\tev.payload = { page: this };\r\n\t\tTheDisp.dispatchEvent(ev);\r\n\t}\r\n\r\n\tget isHomepage() {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tshowPreloader(flag) {\r\n\t\tif (flag) {\r\n\t\t\tjQuery(\".js-preloader\").show();\r\n\t\t} else {\r\n\t\t\tjQuery(\".js-preloader\").hide();\r\n\t\t}\r\n\t}\r\n\r\n\tstatic showPreloader(flag) {\r\n\t\tif (flag) {\r\n\t\t\tjQuery(\".js-preloader\").show();\r\n\t\t} else {\r\n\t\t\tjQuery(\".js-preloader\").hide();\r\n\t\t}\r\n\t}\r\n\r\n\ttrack() {\r\n\t\tif (Globals.SHOW_TRACKING_DATA) {\r\n\t\t\tconsole.log(\"---tracking---\");\r\n\t\t\tconsole.log(\"Event: \" + PageCommon._normalizza_track_prop(o.event));\r\n\t\t\tconsole.log(\"Category: \" + PageCommon._normalizza_track_prop(o.category));\r\n\t\t\tconsole.log(\"Label: \" + o.label ? PageCommon._normalizza_track_prop(o.label) : \"n/a\");\r\n\t\t}\r\n\r\n\t\tlet additional = {\r\n\t\t\tevent_category: PageCommon._normalizza_track_prop(o.category),\r\n\t\t};\r\n\t\tif (o.label) {\r\n\t\t\tadditional.event_label = PageCommon._normalizza_track_prop(o.label);\r\n\t\t}\r\n\r\n\t\tgtag(\"event\", PageCommon._normalizza_track_prop(o.event), additional);\r\n\t}\r\n\r\n\t_normalizza_track_prop(s) {\r\n\t\tlet ret = s.toLowerCase();\r\n\t\tret = Pqp.safeReplace(ret, \" \", \"_\");\r\n\t\tret = Pqp.safeReplace(ret, \"'\", \"_\");\r\n\t\tret = Pqp.safeReplace(ret, \".\", \"\");\r\n\t\tret = Pqp.safeReplace(ret, \",\", \"\");\r\n\t\tret = Pqp.safeReplace(ret, \"(\", \"_\");\r\n\t\tret = Pqp.safeReplace(ret, \")\", \"\");\r\n\t\tret = Pqp.safeReplace(ret, \"__\", \"_\");\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tstatic disable(mc, lFlag, opacity = 1) {\r\n\t\tif (lFlag) {\r\n\t\t\tmc.css(\"pointer-events\", \"none\");\r\n\t\t\tmc.css(\"opacity\", opacity);\r\n\t\t} else {\r\n\t\t\tmc.css(\"pointer-events\", \"all\");\r\n\t\t\tmc.css(\"opacity\", 1);\r\n\t\t}\r\n\t}\r\n\r\n\theaderEventHandler(e) {\r\n\t\tif (e.type === Header.EVENT_OPEN_LOGIN) {\r\n\t\t\tthis.showLogin();\r\n\t\t}\r\n\t\tif (e.type === Header.EVENT_OPEN_LOGOUT) {\r\n\t\t\tthis.showTestIndirizzo();\r\n\t\t\t//this.showLogout();\r\n\t\t}\r\n\t}\r\n\r\n\tshowLogin() {\r\n\t\t/*let initer = {};\r\n initer.template = \"template-login\";\r\n initer.cls = LoginPanel;\r\n initer.closeButton = false;\r\n initer.size = LayersSize.NONE;\r\n initer.handler = this.loginEventsHandler.bind(this);*/\r\n\r\n\t\tlet initer = {\r\n\t\t\ttemplate: \"template-login\",\r\n\t\t\tcls: LoginPanel,\r\n\t\t\tcloseButton: false,\r\n\t\t\tsize: LayersSize.NONE,\r\n\t\t\thandler: this.loginEventsHandler.bind(this),\r\n\t\t};\r\n\r\n\t\tlet panelLogin = new PanelWindow(initer);\r\n\t\tpanelLogin.init();\r\n\t}\r\n\r\n\tloginEventsHandler(e) {\r\n\t\t//this.header.updateLoginLogout();\r\n\t\tif (e.additionalData) {\r\n\t\t\tif (e.additionalData.action === \"showRecuperaPassword\") {\r\n\t\t\t\tthis.showRecuperaPassword();\r\n\t\t\t}\r\n\t\t\tif (e.additionalData.action === \"showRegistrazioneLight\") {\r\n\t\t\t\tthis.showRegistrazioneLight();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tshowLogout() {\r\n\t\t/*let initer = {};\r\n initer.title = Lng.l(\"Auth.ConfirmTitleLogout\");\r\n initer.body = Lng.l(\"Auth.ConfirmBodyLogout\");\r\n initer.buttons = [Lng.l(\"Auth.ConfirmConfirmYes\"), Lng.l(\"Auth.ConfirmConfirmNo\")];\r\n initer.handler = this.logoutEventsHandler.bind(this);*/\r\n\r\n\t\tlet initer = {\r\n\t\t\ttitle: Lng.l(\"Auth.ConfirmTitleLogout\"),\r\n\t\t\tbody: Lng.l(\"Auth.ConfirmBodyLogout\"),\r\n\t\t\tbuttons: [Lng.l(\"Auth.ConfirmConfirmYes\"), Lng.l(\"Auth.ConfirmConfirmNo\")],\r\n\t\t\thandler: this.logoutEventsHandler.bind(this),\r\n\t\t};\r\n\r\n\t\tlet confirm = new ConfirmWindow(initer);\r\n\t}\r\n\r\n\tlogoutEventsHandler(e) {\r\n\t\tif (e.index === 0) {\r\n\t\t\tthis.doLogout();\r\n\t\t\t//this.showCambiaPassword();\r\n\t\t}\r\n\t}\r\n\tdoLogout() {\r\n\t\tthis.showPreloader(true);\r\n\t\tlet rq = {\r\n\t\t\tForceClearPrincipal: true,\r\n\t\t};\r\n\t\tthatServiceManeger.standardCall(\"/api/auth/logout\", rq, this.doLogoutFeedback.bind(this));\r\n\t}\r\n\r\n\tdoLogoutFeedback(e) {\r\n\t\tthis.showPreloader(false);\r\n\t\t//this.header.updateLoginLogout();\r\n\t\t// qui dovrei controllare l'esito del logout per poi cosa? Dargli una alert che il logout è fallito? Boh.\r\n\t\t// Ma poi quando cazzo mai fallisce il logout? Se fallisce vuol dire che il server è in palla e allora tanto vale che non cambi nulla.\r\n\t\t// Probabilmente ci sarei stato meno a fargli vedere la alert che a scrivere queste cazzate ma va bene lo stesso.\r\n\t}\r\n\r\n\t// Da ricommentare se Manca cambia idea e non viene più invocato da qui ma direttamente dalla classe del login\r\n\tshowRecuperaPassword() {\r\n\t\tlet initer = {\r\n\t\t\ttemplate: \"template-recupera-password-step-0\",\r\n\t\t\tcls: RecuperaPasswordStep0Panel,\r\n\t\t\tcloseButton: false,\r\n\t\t\tsize: LayersSize.NONE,\r\n\t\t};\r\n\t\tlet panelRecuperaPassword = new PanelWindow(initer);\r\n\t\tpanelRecuperaPassword.init();\r\n\t}\r\n\r\n\tshowCambiaPassword() {\r\n\t\tlet initer = {\r\n\t\t\ttemplate: \"template-cambia-password\",\r\n\t\t\tcls: CambiaPasswordPanel,\r\n\t\t\tcloseButton: false,\r\n\t\t\tsize: LayersSize.NONE,\r\n\t\t};\r\n\r\n\t\tlet panelCambiaPassword = new PanelWindow(initer);\r\n\t\tpanelCambiaPassword.init({ UserName: Helper.getUserName() });\r\n\t}\r\n\r\n\tshowRegistrazioneLight() {\r\n\t\tlet initer = {\r\n\t\t\ttemplate: \"template-registrazione-light\",\r\n\t\t\tcls: RegistrazioneLightPanel,\r\n\t\t\tcloseButton: false,\r\n\t\t\tsize: LayersSize.NONE,\r\n\t\t\thandler: this.registrazioneLightEventsHandler.bind(this),\r\n\t\t};\r\n\r\n\t\tlet panelRegistrazioneLight = new PanelWindow(initer);\r\n\t\tpanelRegistrazioneLight.init();\r\n\t}\r\n\r\n\tregistrazioneLightEventsHandler(e) {\r\n\t\tif (e.additionalData) {\r\n\t\t\tif (e.additionalData.action === \"showRecuperaPassword\") {\r\n\t\t\t\tthis.showRecuperaPassword();\r\n\t\t\t}\r\n\t\t\tif (e.additionalData.action === \"showLogin\") {\r\n\t\t\t\tthis.showLogin();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tshowTestIndirizzo() {\r\n\t\tlet initer = {\r\n\t\t\ttemplate: \"template-test-indirizzo\",\r\n\t\t\tcls: TestIndirizzoPanel,\r\n\t\t\tcloseButton: false,\r\n\t\t\tsize: LayersSize.NONE,\r\n\t\t};\r\n\r\n\t\tlet panelTestIndirizzo = new PanelWindow(initer);\r\n\t\tpanelTestIndirizzo.init();\r\n\t}\r\n\r\n\tcolorlink() {\r\n\t\tvar links = document.getElementsByClassName(\"random-color\");\r\n\t\tvar colours = [\"#de007a\", \"#516fb4\", \"#ba8600\"];\r\n\t\tfor (var a = 0; a < links.length; a++) {\r\n\t\t\tvar randomColour = colours[Math.floor(colours.length * Math.random())];\r\n\t\t\tlinks[a].style.color = randomColour;\r\n\t\t}\r\n\t}\r\n\r\n\tbindEvents() {\r\n\t\t$(\".js-toggle-class\").off(\"click\");\r\n\t\t$(\".js-toggle-class\").bind(\"click\", function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tvar $this = $(this);\r\n\t\t\tvar tg = $this.attr(\"href\") || $this.attr(\"data-target\");\r\n\t\t\tvar name = $this.attr(\"data-name\") || \"\";\r\n\t\t\tif (tg) {\r\n\t\t\t\t$(tg).toggleClass(name);\r\n\t\t\t\t$this.toggleClass(\"toggled\");\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t//Menu mobile\r\n\t\tif (window.innerWidth <= this.maxWidthMobile) {\r\n\t\t\t$(\".has-submenu>.nav-link\").off(\"click\");\r\n\t\t\t$(\".has-submenu>.nav-link\").bind(\"click\", function (e) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\tvar tg = $(\"~.submenu\", this);\r\n\t\t\t\tif (tg) {\r\n\t\t\t\t\t$(tg).toggleClass(\"mob-visible\");\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tsetPlugins() {\r\n\t\t$(\".swiper-container\").each(function (index) {\r\n\t\t\t$(this).attr(\"id\", \"swiper\" + index);\r\n\t\t\tvar name = $(this).attr(\"data-name\") || \"swiper-button\";\r\n\r\n\t\t\tnew Swiper(\"#swiper\" + index, {\r\n\t\t\t\tslidesPerView: \"auto\",\r\n\t\t\t\tspaceBetween: 20,\r\n\t\t\t\tbreakpoints: {\r\n\t\t\t\t\t768: {\r\n\t\t\t\t\t\tspaceBetween: 10,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\tnavigation: {\r\n\t\t\t\t\tnextEl: \".\" + name + \"-next\",\r\n\t\t\t\t\tprevEl: \".\" + name + \"-prev\",\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t});\r\n\t\t$(\"#share\").jsSocials({\r\n\t\t\tshowCount: false,\r\n\t\t\tshowLabel: false,\r\n\t\t\tshares: [\r\n\t\t\t\t{\r\n\t\t\t\t\tshare: \"facebook\",\r\n\t\t\t\t\tlogo: \"fab fa-facebook-f\",\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tshare: \"twitter\",\r\n\t\t\t\t\tlogo: \"fab fa-twitter\",\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t});\r\n\t}\r\n\r\n\tsetupMenu() {\r\n\t\tif (window.innerWidth > this.maxWidthMobile) {\r\n\t\t\tconst headerHeight = document.querySelector(\"header\").getBoundingClientRect().height - 50;\r\n\t\t\tconst windowHeight = window.innerHeight - headerHeight;\r\n\t\t\tconst secondLevels = document.querySelectorAll(\".nav-item\");\r\n\t\t\tArray.from(secondLevels).map((subitem) => {\r\n\t\t\t\tsubitem.addEventListener(\"mouseover\", (event) => {\r\n\t\t\t\t\tconst submenu = event.currentTarget.querySelector(\".submenu\");\r\n\t\t\t\t\tif (submenu) {\r\n\t\t\t\t\t\tlet submenuRect = submenu.getBoundingClientRect();\r\n\t\t\t\t\t\tif (submenuRect.height > windowHeight) {\r\n\t\t\t\t\t\t\tsubmenu.querySelector(\".nav\").style.gridTemplateColumns = `repeat(${Math.ceil(submenuRect.height / windowHeight)}, 1fr)`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsubmenuRect = submenu.getBoundingClientRect();\r\n\t\t\t\t\t\tif (submenuRect.top < 0) {\r\n\t\t\t\t\t\t\tsubmenu.style.bottom = `${submenuRect.top - headerHeight}px`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (submenuRect.left + submenuRect.width > window.innerWidth) {\r\n\t\t\t\t\t\t\tsubmenu.style.left = `${-submenuRect.width}px`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tdocument.querySelector(\".search-btn\").addEventListener(\"click\", () => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tdocument.querySelector(\".search-modal form input\").focus();\r\n\t\t\t}, 600);\r\n\t\t});\r\n\t\tdocument.querySelector(\".search-modal form\").addEventListener(\"submit\", (event) => {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.onSearch_q(true, event);\r\n\t\t});\r\n\t\tdocument.querySelector(\".search-modal form input\").addEventListener(\"keyup\", (event) => {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tthis.onSearch_q(true, event);\r\n\t\t});\r\n\t}\r\n\r\n\tonSearch_q(bPress, event) {\r\n\t\tlet minlen = 2;\r\n\t\tlet txt = $.trim($(\".jsSearch_q\").val());\r\n\t\tlet tokens = txt.split(/[ \\r\\n\\t;,.:\\-_!\\\"/\\\\?^\\[\\]<>()%?*~+'|&]+/);\r\n\t\tlet isValid = false;\r\n\t\tfor (var x of tokens) if (x.length >= minlen) isValid = true;\r\n\t\tif (isValid) $(\".jsSearch_qbtn\").removeClass(\"disabled\");\r\n\t\telse $(\".jsSearch_qbtn\").addClass(\"disabled\");\r\n\t\t//\r\n\t\t// console.log(event.keyCode);\r\n\t\tif (bPress && (event.keyCode || event.which) == 13 && isValid) {\r\n\t\t\tthis.showPreloader(true);\r\n\t\t\tdocument.querySelector(\".search-modal form\").submit();\r\n\t\t\t$(\".jsSearch_q\").val(\"\");\r\n\t\t}\r\n\t}\r\n\r\n\tstatic isMobile() {\r\n\t\tlet mobile = false;\r\n\t\tif (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {\r\n\t\t\tmobile = true;\r\n\t\t}\r\n\t\tlet isIOS = /iPad|iPhone|iPod/i.test(navigator.userAgent) || (navigator.platform === \"MacIntel\" && navigator.maxTouchPoints > 1);\r\n\t\tif (isIOS) {\r\n\t\t\tmobile = true;\r\n\t\t}\r\n\t\treturn mobile;\r\n\t}\r\n}\r\n","export default class ServiceManagerRoutes {\r\n}\r\n\r\nServiceManagerRoutes.DUMMY_CALL = \"dummy/call\";\r\nServiceManagerRoutes.HELLO = \"users/hello\";\r\nServiceManagerRoutes.USER_DO_LOGIN = \"users/doLogin\";\r\n\r\n","import Globals from \"../../Globals.js\";\r\nimport Pqp from \"../Pqp.js\";\r\nimport ServiceManagerFakes from \"./ServiceManagerFakes.js\";\r\nimport ServiceManagerRoutes from \"./ServiceManagerRoutes.js\";\r\n\r\nexport default class ServiceManager {\r\n\r\n\tstatic hello() {\r\n\t\tconsole.log(\"Sono ServiceManager!!!\")\r\n\t}\r\n\r\n\tstatic standardCall(apiRoute, rq, callback, method = \"POST\") {\r\n\t\tServiceManager._executeStandardCall(apiRoute, rq, callback, method, \"application/json; charset=utf-8\");\r\n\t}\r\n\r\n\t// solo per le chimate standard versop il nostro server\r\n\tstatic _executeStandardCall(apiRoute, rq, callback, method = \"POST\", contentType = \"application/json; charset=utf-8\") {\r\n\t\t//debugger;\r\n\t\tapiRoute = apiRoute.startsWith(\"/\") ? apiRoute : \"/\" + apiRoute;\r\n\t\t// pipeline step1\r\n\t\tServiceManager._customPipeLine(apiRoute, 1, { rq: rq });\r\n\t\t//\r\n\t\tlet headers = {};\r\n\t\t// api key\r\n\t\t// headers.api_key = TheApp.CurrentContext.app.jsApiKey;\r\n\t\t// access_token\r\n\t\theaders.access_token = TheApp.CurrentContext.userSession ? TheApp.CurrentContext.userSession.Bearer : null;\r\n\t\t// lingua\r\n\t\theaders.lng = TheApp.Env.Locale;\r\n\t\t// la url\r\n\t\tlet wsUrl = TheApp.Env.BaseUrl + (apiRoute.startsWith(\"/\") ? apiRoute.substr(1) : apiRoute);\r\n\t\tif (wsUrl.indexOf(\"?\") == -1)\r\n\t\t\twsUrl += \"?api_key=\" + TheApp.CurrentContext.app.jsApiKey;\r\n\t\telse\r\n\t\t\twsUrl += \"&api_key=\" + TheApp.CurrentContext.app.jsApiKey;\r\n\t\t//\r\n\t\t// alert(isAsynch)\r\n\t\tconsole.log(\"_executeStandardCall \");\r\n\t\tconsole.log(\"\\t method \" + method);\r\n\t\tconsole.log(\"\\t wsUrl \" + wsUrl);\r\n\t\tconsole.log(\"\\t api_key \" + headers.api_key);\r\n\t\tconsole.log(\"\\t access_token \" + headers.access_token); \r\n\t\tconsole.log(\"\\t lng \" + headers.lng);\r\n\t\tconsole.log(\"\\t rq \" + JSON.stringify(rq));\r\n\t\t//\r\n\t\tlet toSend = {\r\n\t\t\ttype: method ? method : \"POST\",\r\n\t\t\turl: wsUrl,\r\n\t\t\tdata: rq != null ? JSON.stringify(rq ? rq : {}) : null,\r\n\t\t\tdataType: \"json\",\r\n\t\t\theaders: headers,\r\n\t\t\tcontentType: contentType ? contentType : \"application/json; charset=utf-8\",\r\n\t\t\tcomplete: jQuery.proxy(ServiceManager._handlerStandardCall, ServiceManager, callback, apiRoute, rq)\r\n\t\t}\r\n\t\t$.ajax(toSend);\r\n\t}\r\n\t//\r\n\tstatic _handlerStandardCall(callback, apiRoute, rq, ajaxResponse) {\r\n\t\tlet rs = { StatusCode: 503, Message: \"ServiceUnavailable\", Success: false };\r\n\t\tif (ajaxResponse) {\r\n\t\t\tlet tmp = ajaxResponse.responseJSON;\r\n\t\t\tif (tmp && tmp.StatusCode != undefined) {\r\n\t\t\t\trs = tmp;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (ajaxResponse.status && ajaxResponse.status != 200 && ajaxResponse.status != 201 && ajaxResponse.status != 202) {\r\n\t\t\t\t\trs.StatusCode = ajaxResponse.status;\r\n\t\t\t\t\tif (tmp && tmp.Message)\r\n\t\t\t\t\t\trs.Message = tmp.Message;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// pipeline step2\r\n\t\tServiceManager._customPipeLine(apiRoute, 2, { rq: rq, rs: rs });\r\n\t\t//\r\n\t\tconsole.log(\"\\t rs:\" + JSON.stringify(rs));\r\n\t\t// gestioni custom: todo\r\n\t\tif (callback)\r\n\t\t\tcallback(rs);\r\n\r\n\t}\r\n\t//\r\n\tstatic _customPipeLine(apiRoute, step, data) {\r\n\t\t// login\r\n\t\tif (apiRoute.indexOf(\"/auth/login\") != -1 || apiRoute.indexOf(\"/auth/tokenlogin\") != -1 || apiRoute.indexOf(\"/auth/adduser\") != -1) {\r\n\t\t\tif (step == 1) {\r\n\t\t\t\t// PRE\r\n\t\t\t\tif (data.rq.SetAsPrincipal == undefined || data.rq.SetAsPrincipal == null)\r\n\t\t\t\t\tdata.rq.SetAsPrincipal = true;\r\n\t\t\t} else if (step == 2) {\r\n\t\t\t\t// POST\r\n\t\t\t\tif (data.rs.Success && data.rs.Session) {\r\n\t\t\t\t\tTheApp.CurrentContext.userSession = data.rs.Session;\r\n\t\t\t\t\tTheApp.CurrentContext.Bearer = data.rs.Session.Bearer;\r\n\t\t\t\t\tTheApp.CurrentContext.IsAuthenticated = true;\r\n\t\t\t\t\tTheDisp.dispatchEvent(TheDisp.EV_USERSESSION_UPDATE);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// user\r\n\t\tif (apiRoute.indexOf(\"/auth/user\") != -1) {\r\n\t\t\tif (step == 1) {\r\n\t\t\t\t// PRE\r\n\t\t\t} else if (step == 2) {\r\n\t\t\t\t// POST\r\n\t\t\t\tif (data.rs.Success && data.rs.Session) {\r\n\t\t\t\t\tTheApp.CurrentContext.userSession = data.rs.Session;\r\n\t\t\t\t\tTheApp.CurrentContext.Bearer = data.rs.Session.Bearer;\r\n\t\t\t\t\tTheApp.CurrentContext.IsAuthenticated = true;\r\n\t\t\t\t\tTheDisp.dispatchEvent(TheDisp.EV_USERSESSION_UPDATE);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// logout\r\n\t\telse if (apiRoute.indexOf(\"/auth/logout\") != -1) {\r\n\t\t\tif (step == 1) {\r\n\t\t\t\t// PRE\r\n\t\t\t\tif (data.rq.ForceClearPrincipal == undefined || data.rq.ForceClearPrincipal == null)\r\n\t\t\t\t\tdata.rq.ForceClearPrincipal = true;\r\n\t\t\t} else if (step == 2) {\r\n\t\t\t\t// POST\r\n\t\t\t\tif (data.rs.Success) {\r\n\t\t\t\t\tTheApp.CurrentContext.userSession = null;\r\n\t\t\t\t\tTheApp.CurrentContext.Bearer = null;\r\n\t\t\t\t\tTheApp.CurrentContext.IsAuthenticated = false;\r\n\t\t\t\t\tTheDisp.dispatchEvent(TheDisp.EV_USERSESSION_UPDATE);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t// passwordchange\r\n\t\telse if (apiRoute.indexOf(\"/auth/passwordchange\") != -1) {\r\n\t\t\tif (step == 1) {\r\n\r\n\t\t\t} else if (step == 2) {\r\n\t\t\t\t// POST\r\n\t\t\t\tif (data.rs.Success) {\r\n\t\t\t\t\tTheApp.CurrentContext.userSession.authToken.PwdTemp = data.rs.PwdTemp;\r\n\t\t\t\t\tTheDisp.dispatchEvent(TheDisp.EV_USERSESSION_UPDATE);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n}\r\n\r\n// ServiceManager.lastColor = -1;\r\nwindow.thatServiceManeger = ServiceManager;\r\nwindow.thatServiceManager = ServiceManager;","import PageCommon from \"../PageCommon.js\";\r\n\r\nexport default class Appear extends PageCommon {\r\n\tconstructor(item) {\r\n\t\tsuper();\r\n\r\n\t\tthis.objects = [];\r\n\t\tthis.item = item ?? \".js-move-elem\";\r\n\t\tthis.duration = 1;\r\n\t\tthis.delay = 0.2;\r\n\t\tthis.opacity = 0.3;\r\n\t\tthis.inAnimations = [];\r\n\t}\r\n\tinit() {\r\n\t\tsuper.init();\r\n\t\tthis.setupElements();\r\n\r\n\t\tthis.scrolls = 0;\r\n\r\n\t\tlet refHeight = 0;\r\n\t\tif (document.querySelector(\".cover-hp\")) {\r\n\t\t\trefHeight = document.querySelector(\".cover-hp\").offsetHeight;\r\n\t\t}\r\n\r\n\t\tif (window.innerWidth > this.maxWidthMobile) {\r\n\t\t\twindow.addEventListener(\"scroll\", (event) => {\r\n\t\t\t\tthis.animateElements();\r\n\t\t\t\tif (this.scrolls === 0) {\r\n\t\t\t\t\tthis.scrolls++;\r\n\t\t\t\t} else if (this.scrolls === 1) {\r\n\t\t\t\t\tthis.scrolls++;\r\n\t\t\t\t\tif (document.querySelector(\"div.drag-btn img\")) {\r\n\t\t\t\t\t\tdocument.querySelector(\"div.drag-btn img\").dispatchEvent(new Event(\"reset\"));\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (window.scrollY > refHeight && this.scrolls === 2) {\r\n\t\t\t\t\t// console.log(\"FIRE\");\r\n\t\t\t\t\tthis.scrolls++;\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tthis.resetCover();\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tthis.animateElements();\r\n\t\t\tif (refHeight > 0 && window.scrollY > refHeight) {\r\n\t\t\t\tArray.from(document.querySelectorAll(\".moveout\")).map((item) => item.classList.remove(\"moveout\"));\r\n\t\t\t\tdocument.querySelector(\".drag-btn\").style.cursor = \"default\";\r\n\t\t\t\tif (window.scrollY < refHeight * 2) {\r\n\t\t\t\t\tthis.animatePageChange();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tshakeDrag() {\r\n\t\tconst drag = document.querySelector(\"div.drag-btn img\");\r\n\t\tTweenMax.to(drag, 0.5, { y: -10, repeat: -1, yoyo: true });\r\n\t}\r\n\r\n\tresetAnimations() {\r\n\t\tthis.inAnimations.map((animation) => {\r\n\t\t\tanimation.play();\r\n\t\t});\r\n\t\tArray.from(document.querySelectorAll(\".js-move-elem\")).map((item) => {\r\n\t\t\titem.classList.add(\"moved\");\r\n\t\t});\r\n\t}\r\n\r\n\tsetupElements() {\r\n\t\tArray.from(document.querySelectorAll(this.item)).map((item) => {\r\n\t\t\tif (window.innerWidth <= this.maxWidthMobile) {\r\n\t\t\t\titem.classList.remove(\"js-move-elem\");\r\n\t\t\t} else {\r\n\t\t\t\tconst { x: offsetLeft, y: offsetTop } = this.getAbsPosition(item);\r\n\t\t\t\titem.dataset.offsettop = offsetTop;\r\n\t\t\t\tthis.inAnimation(item);\r\n\r\n\t\t\t\tconst animation = TweenMax.getTweensOf(item)[0];\r\n\t\t\t\tif (animation) {\r\n\t\t\t\t\tanimation.pause();\r\n\t\t\t\t\tthis.inAnimations.push(animation);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tinAnimation(item) {\r\n\t\tif (item.dataset.movex && item.dataset.movey) {\r\n\t\t\tTweenMax.from(item, +(item.dataset.moveduration ?? this.duration), {\r\n\t\t\t\tx: item.dataset.movex,\r\n\t\t\t\ty: item.dataset.movey,\r\n\t\t\t\topacity: this.opacity,\r\n\t\t\t\tdelay: item.dataset.movedelay !== undefined ? item.dataset.movedelay : this.delay,\r\n\t\t\t});\r\n\t\t} else if (item.dataset.movex) {\r\n\t\t\tTweenMax.from(item, +(item.dataset.moveduration ?? this.duration), {\r\n\t\t\t\tx: item.dataset.movex,\r\n\t\t\t\topacity: this.opacity,\r\n\t\t\t\tdelay: item.dataset.movedelay !== undefined ? item.dataset.movedelay : this.delay,\r\n\t\t\t});\r\n\t\t} else if (item.dataset.movey) {\r\n\t\t\tTweenMax.from(item, +(item.dataset.moveduration ?? this.duration), {\r\n\t\t\t\ty: item.dataset.movey,\r\n\t\t\t\topacity: this.opacity,\r\n\t\t\t\tdelay: item.dataset.movedelay !== undefined ? item.dataset.movedelay : this.delay,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\toutAnimation(item) {\r\n\t\tif (item.dataset.moveoutx && item.dataset.moveouty) {\r\n\t\t\tTweenMax.to(item, +(item.dataset.moveduration ?? this.duration), {\r\n\t\t\t\tx: item.dataset.moveoutx,\r\n\t\t\t\ty: item.dataset.moveouty,\r\n\t\t\t\topacity: 0,\r\n\t\t\t});\r\n\t\t} else if (item.dataset.moveoutx) {\r\n\t\t\tTweenMax.to(item, +(item.dataset.moveduration ?? this.duration), { x: item.dataset.moveoutx, opacity: 0 });\r\n\t\t} else if (item.dataset.moveouty) {\r\n\t\t\tTweenMax.to(item, +(item.dataset.moveduration ?? this.duration), { y: item.dataset.moveouty, opacity: 0 });\r\n\t\t}\r\n\t}\r\n\r\n\tresetElements() {\r\n\t\t// console.log(\"RESET ELEMENTS\");\r\n\t\tthis.scrolls = 2;\r\n\t\tif (window.scrollY <= 100) {\r\n\t\t\t$(\"html, body\").animate(\r\n\t\t\t\t{\r\n\t\t\t\t\tscrollTop: $(\".viaggio-section\").offset().top,\r\n\t\t\t\t},\r\n\t\t\t\t1000\r\n\t\t\t);\r\n\t\t}\r\n\t\tthis.animatePageChange();\r\n\t\tconst elements = Array.from(document.querySelectorAll(this.item + \".moveout\"));\r\n\t\telements.map((item, index) => {\r\n\t\t\tthis.outAnimation(item);\r\n\t\t});\r\n\t\tdocument.querySelector(\".drag-btn\").style.cursor = \"default\";\r\n\t}\r\n\r\n\tresetCover() {\r\n\t\t// console.log(\"RESET COVER\");\r\n\t\tconst elements = Array.from(document.querySelectorAll(this.item + \".moveout\"));\r\n\t\telements.map((item, index) => {\r\n\t\t\titem.style.transform = \"\";\r\n\t\t});\r\n\t\tconst animation = TweenMax.getTweensOf(document.querySelector(\".drag-elem\"))[0];\r\n\t\tif (animation) {\r\n\t\t\tanimation.kill();\r\n\t\t}\r\n\t}\r\n\r\n\tanimatePageChange() {\r\n\t\tconst elements = Array.from(document.querySelectorAll(\".js-page-change\"));\r\n\t\telements.map((pageChange, index) => {\r\n\t\t\tpageChange.classList.add(\"moved\");\r\n\t\t\tconst animation = TweenMax.getTweensOf(pageChange)[0];\r\n\t\t\tif (animation) {\r\n\t\t\t\tanimation.play();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tanimateElements() {\r\n\t\tArray.from(document.querySelectorAll(this.item + \":not(.moved):not(.js-page-change)\")).map((item) => {\r\n\t\t\tif (item.dataset.offsettop < window.scrollY + window.outerHeight / 1.2) {\r\n\t\t\t\titem.classList.add(\"moved\");\r\n\t\t\t\tconst animation = TweenMax.getTweensOf(item)[0];\r\n\t\t\t\tif (animation) {\r\n\t\t\t\t\tif (item.classList.contains(\"drag-elem\")) {\r\n\t\t\t\t\t\tanimation.eventCallback(\"onComplete\", this.shakeDrag);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tanimation.play();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tgetAbsPosition(element) {\r\n\t\tvar rect = element.getBoundingClientRect();\r\n\t\treturn { x: rect.left, y: rect.top };\r\n\t}\r\n}\r\n","import PageCommon from \"./PageCommon.js\";\r\nimport ServiceManager from \"../3x1010/services/ServiceManager.js\";\r\n\r\nimport Appear from \"./classes/Appear.js\";\r\n\r\n// PAGINA GENERICA\r\nexport default class PageGeneric extends PageCommon {\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t}\r\n\tinit($data) {\r\n\t\tsuper.init($data);\r\n\t\tthis.showPreloader(false);\r\n\r\n\t\t// dispaccio un evento globale\r\n\t\tthis.dispatchInitEvent(TheDisp.EV_PAGETHIS_INITED);\r\n\r\n\t\tthis.bindEvents();\r\n\t\tthis.setPlugins();\r\n\t\tthis.colorlink();\r\n\t\tthis.setupMenu();\r\n\r\n\t\tthis.appear = new Appear();\r\n\t\tthis.appear.init();\r\n\r\n\t\t//if (document.querySelector(\".contact-form\")) {\r\n\t\t//\tthis.setupContactForm();\r\n\t\t//}\r\n\r\n\t\tif (document.querySelector(\".download-btn\")) {\r\n\t\t\tdocument.querySelector(\".download-btn\").addEventListener(\"click\", this.handleDownload.bind(this));\r\n\t\t}\r\n\t}\r\n\r\n\t//setupContactForm() {\r\n\t//\tconst form = document.querySelector(\".contact-form form\");\r\n\t//\tform.addEventListener(\"submit\", (event) => {\r\n\t//\t\tevent.preventDefault();\r\n\r\n\t//\t\tconst formData = new FormData(form);\r\n\t//\t\tconst plainFormData = Object.fromEntries(formData.entries());\r\n\t//\t\tplainFormData.Privacy0 = 1;\r\n\t//\t\tthis.showPreloader(true);\r\n\t//\t\tServiceManager.standardCall(\"/api/ei/docontact/\", plainFormData, function (rs) {\r\n\t//\t\t\tconsole.log(rs);\r\n\t//\t\t\tthis.showPreloader(false);\r\n\t//\t\t\tif (rs.Success) {\r\n\t//\t\t\t\tdocument.querySelector(\".status-form\").innerHTML = \"Messaggio inviato\";\r\n\t//\t\t\t} else {\r\n\t//\t\t\t\tdocument.querySelector(\".status-form\").innerHTML = \"Errore invio\";\r\n\t//\t\t\t}\r\n\t//\t\t}.bind(this));\r\n\t//\t});\r\n\t//}\r\n\r\n\thandleDownload() {\r\n\t\tconsole.log(\"DO DOWNLOAD\");\r\n\t}\r\n}\r\n","import PageCommon from \"../PageCommon.js\";\r\n\r\nexport default class DragControl extends PageCommon {\r\n\tconstructor(container, item, callback) {\r\n\t\tsuper();\r\n\r\n\t\tthis.container = document.querySelector(container);\r\n\t\tthis.dragItem = document.querySelector(item);\r\n\r\n\t\tthis.active = false;\r\n\t\tthis.currentX;\r\n\t\tthis.currentY;\r\n\t\tthis.initialX;\r\n\t\tthis.initialY;\r\n\t\tthis.xOffset = 0;\r\n\t\tthis.yOffset = 0;\r\n\r\n\t\tthis.callback = callback;\r\n\r\n\t\tthis.disabled = false;\r\n\t}\r\n\tinit($data) {\r\n\t\tsuper.init($data);\r\n\r\n\t\tif (window.innerWidth > this.maxWidthMobile) {\r\n\t\t\tthis.container.addEventListener(\"touchstart\", this.dragStart.bind(this), false);\r\n\t\t\tthis.container.addEventListener(\"touchend\", this.dragEnd.bind(this), false);\r\n\t\t\tthis.container.addEventListener(\"touchmove\", this.drag.bind(this), false);\r\n\r\n\t\t\tthis.container.addEventListener(\"mousedown\", this.dragStart.bind(this), false);\r\n\t\t\tthis.container.addEventListener(\"mouseup\", this.dragEnd.bind(this), false);\r\n\t\t\tthis.container.addEventListener(\"mousemove\", this.drag.bind(this), false);\r\n\r\n\t\t\tthis.dragItem.addEventListener(\"reset\", this.reset.bind(this), false);\r\n\t\t}\r\n\t}\r\n\r\n\tdisposeEvents() {\r\n\t\tthis.container.removeEventListener(\"touchstart\", this.dragStart.bind(this), false);\r\n\t\tthis.container.removeEventListener(\"touchend\", this.dragEnd.bind(this), false);\r\n\t\tthis.container.removeEventListener(\"touchmove\", this.drag.bind(this), false);\r\n\r\n\t\tthis.container.removeEventListener(\"mousedown\", this.dragStart.bind(this), false);\r\n\t\tthis.container.removeEventListener(\"mouseup\", this.dragEnd.bind(this), false);\r\n\t\tthis.container.removeEventListener(\"mousemove\", this.drag.bind(this), false);\r\n\r\n\t\tthis.dragItem.removeEventListener(\"reset\", this.reset.bind(this), false);\r\n\t}\r\n\r\n\tdragStart(e) {\r\n\t\te.preventDefault();\r\n\t\tif (this.disabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (e.type === \"touchstart\") {\r\n\t\t\tthis.initialY = e.touches[0].clientY - this.yOffset;\r\n\t\t} else {\r\n\t\t\tthis.initialY = e.clientY - this.yOffset;\r\n\t\t}\r\n\r\n\t\tif (e.target === this.dragItem) {\r\n\t\t\tthis.active = true;\r\n\t\t}\r\n\t}\r\n\r\n\tdragEnd(e) {\r\n\t\tthis.initialY = 0;\r\n\t\tthis.yOffset = 0;\r\n\r\n\t\tthis.active = false;\r\n\t}\r\n\r\n\tdrag(e) {\r\n\t\tif (this.active) {\r\n\t\t\te.preventDefault();\r\n\t\t\tif (e.type === \"touchmove\") {\r\n\t\t\t\tthis.currentY = e.touches[0].clientY - this.initialY;\r\n\t\t\t} else {\r\n\t\t\t\tthis.currentY = e.clientY - this.initialY;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.currentY < -10) {\r\n\t\t\t\tthis.dragEnd(e);\r\n\t\t\t\tthis.reset();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (this.currentY > 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.yOffset = this.currentY;\r\n\r\n\t\t\tthis.dragItem.style.transform = \"translate3d(-50%, \" + this.currentY + \"px, 0)\";\r\n\t\t}\r\n\t}\r\n\r\n\treset() {\r\n\t\t// console.log(\"RESET DRAG\");\r\n\t\tthis.disposeEvents();\r\n\t\tthis.disabled = true;\r\n\t\tthis.callback();\r\n\t}\r\n}\r\n","import PageCommon from \"../PageCommon.js\";\r\n\r\nexport default class BlogPreview extends PageCommon {\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\tthis.blogPreview = document.querySelector(\".blog-preview\");\r\n\r\n\t\tthis.imagesList = document.querySelector(\".js-blog-images\");\r\n\t\tthis.imagesWrapper = document.querySelector(\".js-blog-images-wrapper\");\r\n\t\tthis.textsList = document.querySelector(\".js-blog-texts\");\r\n\t\tthis.textsWrapper = document.querySelector(\".js-blog-texts-wrapper\");\r\n\r\n\t\tthis.imagesArray = Array.from(this.imagesList.querySelectorAll(\".blog-img\"));\r\n\t\tthis.textsArray = Array.from(this.textsList.querySelectorAll(\".single-text\"));\r\n\r\n\t\tthis.next = this.blogPreview.querySelector(\".blog-next\");\r\n\t\tthis.prev = this.blogPreview.querySelector(\".blog-prev\");\r\n\t}\r\n\tinit() {\r\n\t\tsuper.init();\r\n\r\n\t\tthis.current = 0;\r\n\r\n\t\tconst _this = this;\r\n\t\tif (this.next) {\r\n\t\t\tthis.next.addEventListener(\"click\", () => {\r\n\t\t\t\t_this.goNext();\r\n\t\t\t});\r\n\t\t\tif (this.imagesArray.length <= 1) {\r\n\t\t\t\tthis.next.disabled = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.prev) {\r\n\t\t\tthis.prev.addEventListener(\"click\", () => {\r\n\t\t\t\t_this.goPrev();\r\n\t\t\t});\r\n\t\t\tthis.prev.disabled = true;\r\n\t\t}\r\n\r\n\t\tif (this.imagesArray.length > 0) {\r\n\t\t\tconst firstImage = this.imagesArray[this.current].querySelector(\"img\");\r\n\t\t\tfirstImage.addEventListener(\"load\", function () {\r\n\t\t\t\t//Img loaded\r\n\t\t\t\tif (window.innerWidth > _this.maxWidthMobile) {\r\n\t\t\t\t\t_this.imagesList.style.width = `${_this.imagesArray[_this.current].querySelector(\"img\").width}px`;\r\n\t\t\t\t}\r\n\t\t\t\t_this.imagesWrapper.style.width = `${_this.imagesArray[_this.current].querySelector(\"img\").width * _this.imagesArray.length}px`;\r\n\t\t\t\t_this.imagesArray[_this.current].style.opacity = 1;\r\n\t\t\t});\r\n\t\t\tfirstImage.src = firstImage.src;\r\n\t\t\tfor (let index = 0; index < this.imagesArray.length; index++) {\r\n\t\t\t\tconst span = document.createElement(\"span\");\r\n\t\t\t\tif (index === 0) {\r\n\t\t\t\t\tspan.classList.add(\"active\");\r\n\t\t\t\t}\r\n\t\t\t\tdocument.querySelector(\".blog-preview .navigation\").appendChild(span);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgoNext() {\r\n\t\tif (this.current < this.imagesArray.length) {\r\n\t\t\tthis.current++;\r\n\t\t\tthis.next.disabled = false;\r\n\t\t\tif (this.current > 0) {\r\n\t\t\t\tthis.prev.disabled = false;\r\n\t\t\t}\r\n\t\t\tTweenMax.to(this.textsWrapper, 1, { y: -(this.current * 300) });\r\n\t\t\tTweenMax.to(this.imagesWrapper, 1, { x: -(this.current * this.imagesList.getBoundingClientRect().width + this.current * 30) });\r\n\t\t\tTweenMax.to(this.imagesArray[this.current - 1], 0, { opacity: 0, delay: 1 });\r\n\t\t\tthis.imagesArray[this.current].style.opacity = 1;\r\n\t\t}\r\n\t\tif (this.current === this.imagesArray.length - 1) {\r\n\t\t\tthis.next.disabled = true;\r\n\t\t}\r\n\t\tthis.updateBullets();\r\n\t}\r\n\r\n\tgoPrev() {\r\n\t\tif (this.current > 0) {\r\n\t\t\tthis.current--;\r\n\t\t\tthis.prev.disabled = false;\r\n\t\t\tif (this.current <= this.imagesArray.length) {\r\n\t\t\t\tthis.next.disabled = false;\r\n\t\t\t}\r\n\t\t\tTweenMax.to(this.textsWrapper, 1, { y: -(this.current * 300) });\r\n\t\t\tTweenMax.to(this.imagesWrapper, 1, { x: -(this.current * this.imagesList.getBoundingClientRect().width + this.current * 30) });\r\n\t\t\tTweenMax.to(this.imagesArray[this.current + 1], 0, { opacity: 0, delay: 1 });\r\n\t\t\tthis.imagesArray[this.current].style.opacity = 1;\r\n\t\t}\r\n\t\tif (this.current === 0) {\r\n\t\t\tthis.prev.disabled = true;\r\n\t\t}\r\n\t\tthis.updateBullets();\r\n\t}\r\n\r\n\tupdateBullets() {\r\n\t\tconst bullets = Array.from(document.querySelectorAll(\".blog-preview .navigation span\"));\r\n\t\tbullets.map((span, index) => {\r\n\t\t\tspan.classList.remove(\"active\");\r\n\t\t\tif (index === this.current) {\r\n\t\t\t\tspan.classList.add(\"active\");\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","import PageCommon from \"./PageCommon.js\";\r\n\r\nimport DragControl from \"./classes/DragControl.js\";\r\nimport Appear from \"./classes/Appear.js\";\r\nimport BlogPreview from \"./classes/BlogPreview.js\";\r\n\r\n// QUESTA E LA HOME PAGE\r\nexport default class PageDefault extends PageCommon {\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t}\r\n\tinit($data) {\r\n\t\tsuper.init($data);\r\n\t\tthis.showPreloader(false);\r\n\r\n\t\t// dispaccio un evento globale\r\n\t\tthis.dispatchInitEvent(TheDisp.EV_PAGETHIS_INITED);\r\n\r\n\t\tthis.bindEvents();\r\n\t\tthis.setPlugins();\r\n\t\tthis.colorlink();\r\n\t\tthis.setupMenu();\r\n\r\n\t\tthis.appear = new Appear();\r\n\t\tthis.appear.init();\r\n\r\n\t\tthis.dragControl = new DragControl(\"div.cover-hp .inner-container\", \"div.drag-btn img\", () => {\r\n\t\t\tthis.appear.resetElements();\r\n\t\t});\r\n\t\tthis.dragControl.init();\r\n\t\ttry {\r\n\t\t\tdocument.querySelector(\".top-newsletter a\").addEventListener(\"click\", (event) => {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\tconst target = document.querySelector(\"#newsletter\");\r\n\t\t\t\tTweenMax.to(\"html, body\", 1, { scrollTo: { y: target.getBoundingClientRect().top - 100, autoKill: false }, ease: Cubic.easeInOut });\r\n\t\t\t});\r\n\t\t} catch (ex) {\r\n\r\n }\r\n\r\n\t\tthis.blogPreview = new BlogPreview();\r\n\t\tthis.blogPreview.init();\r\n\t}\r\n\r\n\tget isHomepage() {\r\n\t\treturn true;\r\n\t}\r\n}\r\n","import PageCommon from \"./PageCommon.js\";\r\n\r\nimport Appear from \"./classes/Appear.js\";\r\nimport BlogPreview from \"./classes/BlogPreview.js\";\r\n\r\nexport default class PageAroundTheBlog extends PageCommon {\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t}\r\n\tinit(data) {\r\n\t\tsuper.init(null);\r\n\t\tthis.showPreloader(false);\r\n\r\n\t\t// dispaccio un evento globale\r\n\t\tthis.dispatchInitEvent(TheDisp.EV_PAGETHIS_INITED);\r\n\r\n\t\tthis.bindEvents();\r\n\t\tthis.setPlugins();\r\n\t\tthis.colorlink();\r\n\t\tthis.setupMenu();\r\n\r\n\t\tthis.appear = new Appear();\r\n\t\tthis.appear.init();\r\n\r\n\t\tthis.blogPreview = new BlogPreview();\r\n\t\tthis.blogPreview.init();\r\n\r\n\t\t//\r\n\t\t$(\".moreBox\").slice(0, 5).show();\r\n\t\tif ($(\".blogBox:hidden\").length > 0) {\r\n\t\t\t$(\"#loadMore\").show();\r\n\t\t} else {\r\n\t\t\t$(\"#loadMore\").fadeOut(\"slow\");\r\n\t\t}\r\n\t\t$(\"#loadMore\").on(\"click\", (event) => {\r\n\t\t\tevent.preventDefault();\r\n\t\t\t$(\".moreBox:hidden\").slice(0, 5).slideDown();\r\n\t\t\tif ($(\".moreBox:hidden\").length == 0) {\r\n\t\t\t\t$(\"#loadMore\").fadeOut(\"slow\");\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","import PageCommon from \"./PageCommon.js\";\r\n\r\nimport Appear from \"./classes/Appear.js\";\r\n\r\nexport default class PageProductList extends PageCommon {\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t\tthis.filterNames = [\"uidmc\", \"uidc\", \"uidb\", \"uidtv\", \"uidtp\", \"c\", \"p\"];\r\n\t}\r\n\tinit($data) {\r\n\t\tsuper.init($data);\r\n\t\t//this.showPreloader(false); \r\n\t\t//\r\n\t\tthis.bindEvents();\r\n\t\tthis.setPlugins();\r\n\t\tthis.colorlink();\r\n\t\tthis.setupMenu();\r\n\r\n\t\tthis.appear = new Appear();\r\n\t\tthis.appear.init();\r\n\r\n\t\t//\r\n\t\tthis.data = $data;\r\n\t\t//alert(this.data.NeutralTitle)\r\n\t\t//\r\n\t\tthis.setup(false);\r\n\t\tthis.showPreloader(false);\r\n\t\t//\r\n\t\t// dispaccio un evento globale\r\n\t\tthis.dispatchInitEvent(TheDisp.EV_PAGETHIS_INITED);\r\n\t}\r\n\r\n\tsetup(bPaintMenu) {\r\n\t\tif (bPaintMenu) {\r\n\t\t\t// prima la url\r\n\t\t\tlet split = StateManager._splitUrl(document.location.href);\r\n\t\t\tlet query = this.data.rs.query;\r\n\t\t\tfor (let k of this.filterNames) {\r\n\t\t\t\tif (query[k].length == 0) delete split.qPart[k];\r\n\t\t\t\telse split.qPart[k] = query[k].join(\",\");\r\n\t\t\t}\r\n\t\t\tlet u = StateManager._mergeUrl(split, false);\r\n\t\t\twindow.history.replaceState(window.history.state, document.title, u);\r\n\t\t\t// i filtri sopra e i check\r\n\t\t\t$(\"input[type='checkbox']\").prop(\"checked\", false);\r\n\t\t\t$(\".tag\", $(\".tag-list\")).remove();\r\n\t\t\tlet tmplate = $(\"#template_tag\");\r\n\t\t\tfor (let f of this.data.rs.active_filters) {\r\n\t\t\t\tlet mc = tmplate.clone();\r\n\t\t\t\tmc.attr(\"id\");\r\n\t\t\t\t$(\"button\", mc).data(\"name\", f.Name);\r\n\t\t\t\t$(\"button\", mc).data(\"value\", f.Value);\r\n\t\t\t\t$(\"span\", mc).html(f.Label);\r\n\t\t\t\t$(\".tag-list\").append(mc);\r\n\t\t\t\t//\r\n\t\t\t\t$(\"input[type='checkbox'][value=\\\"\" + f.Value + '\"]').prop(\"checked\", true);\r\n\t\t\t}\r\n\t\t\t// i dasablitati value=\"ZAHEL\" name=\"uidb\"\r\n\t\t\t$(\"input[type='checkbox'][name='uidb']\").prop(\"disabled\", true);\r\n\t\t\tfor (let o of this.data.rs.brand_options_list) $(\"input[type='checkbox'][value=\\\"\" + o.Value + '\"]').prop(\"disabled\", false);\r\n\t\t\t$(\"input[type='checkbox'][name='uidc']\").prop(\"disabled\", true);\r\n\t\t\tfor (let o of this.data.rs.paesi_options_list) $(\"input[type='checkbox'][value=\\\"\" + o.Value + '\"]').prop(\"disabled\", false);\r\n\t\t}\r\n\t\t//\r\n\t\tif (this.data.rs.active_filters.length > 0) {\r\n\t\t\tPageCommon.disable($(\".btn-reset\"), false, 1);\r\n\t\t} else {\r\n\t\t\tPageCommon.disable($(\".btn-reset\"), true, 0.5);\r\n\t\t}\r\n\t\t$(\".btn-reset\").off(\"click\");\r\n\t\t$(\".btn-reset\").on(\"click\", this.onResetFilterAll.bind(this));\r\n\t\t//\r\n\t\t$(\".remove-btn\").off(\"click\");\r\n\t\t$(\".remove-btn\").on(\"click\", this.onResetFilter.bind(this));\r\n\t\t//\r\n\t\t$(\"input[type=checkbox]\").off(\"click\");\r\n\t\t$(\"input[type=checkbox]\").on(\"click\", this.onChangeCheck.bind(this));\r\n\t}\r\n\r\n\tonResetFilterAll() {\r\n\t\t$(\".remove-btn[data-value]\").parent().remove();\r\n\t\t$(\"input[type='checkbox']\").prop(\"checked\", false);\r\n\t\t// make call\r\n\t\tlet query = $.extend({}, this.data.rs.query);\r\n\t\tfor (let k of this.filterNames) query[k] = [];\r\n\t\tthis.makeTheCall(query);\r\n\t}\r\n\tonResetFilter(ev) {\r\n\t\tlet Name = $(ev.currentTarget).data(\"name\");\r\n\t\tlet Value = $(ev.currentTarget).data(\"value\") + \"\";\r\n\t\t$(ev.currentTarget).parent().remove();\r\n\t\t$(\"input[type='checkbox'][value=\\\"\" + Value + '\"]').prop(\"checked\", false);\r\n\t\t// make call\r\n\t\tlet query = $.extend({}, this.data.rs.query);\r\n\t\tlet idx = query[Name].indexOf(Value);\r\n\t\tif (idx != -1) query[Name].splice(idx, 1);\r\n\t\tthis.makeTheCall(query);\r\n\t}\r\n\tonChangeCheck(ev) {\r\n\t\tlet Name = $(ev.currentTarget).attr(\"name\");\r\n\t\tlet Value = $(ev.currentTarget).attr(\"value\") + \"\";\r\n\t\tlet checked = $(ev.currentTarget).prop(\"checked\");\r\n\t\tif (!checked)\r\n\t\t\t$('.remove-btn[data-value=\"' + Value + '\"]')\r\n\t\t\t\t.parent()\r\n\t\t\t\t.remove();\r\n\t\t// make call\r\n\t\tlet query = $.extend({}, this.data.rs.query);\r\n\t\tlet idx = query[Name].indexOf(Value);\r\n\t\tif (!checked) {\r\n\t\t\tif (idx != -1) query[Name].splice(idx, 1);\r\n\t\t} else {\r\n\t\t\tif (idx == -1) query[Name].push(Value);\r\n\t\t}\r\n\t\tthis.makeTheCall(query);\r\n\t}\r\n\r\n\tmakeTheCall(query) {\r\n\t\tthis.showPreloader(true);\r\n\t\tthis.appear.resetAnimations();\r\n\t\tthatServiceManeger.standardCall(\"/api/ei/doproductlist\", { search: query }, this.onCallHandler.bind(this));\r\n\t}\r\n\r\n\tonCallHandler(rs) {\r\n\t\tif (rs.Success) {\r\n\t\t\tthis.data.rs = rs;\r\n\t\t}\r\n\t\t//console.log(\">>>\"+rs.Success)\r\n\t\tthis.setup(true);\r\n\t\tthis.showResults(this.data.rs);\r\n\t\tdocument.title = this.data.NeutralTitle;\r\n\t\tthis.showPreloader(false);\r\n\t}\r\n\r\n\t//////////////////////////////////\r\n\r\n\tshowResults(rs) {\r\n\t\twindow.scroll({\r\n\t\t\ttop: 0,\r\n\t\t\tleft: 0,\r\n\t\t\tbehavior: \"smooth\",\r\n\t\t});\r\n\t\t// rs.MacroCategoria\r\n\t\t// rs.Paesi\r\n\t\t$(\".blocco-pieno\").remove();\r\n\t\t// console.log(rs.Paesi.length)\r\n\t\tif (rs.Paesi.length == 0) {\r\n\t\t\t$(\".blocco-vuoto\").show();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// TODO ALE\r\n\t\t// OK RISULTATI\r\n\t\t$(\".blocco-vuoto\").hide();\r\n\t\tconsole.log(rs);\r\n\t\tthis.renderResults(rs);\r\n\t\tthis.bindEvents();\r\n\t\tthis.setPlugins();\r\n\t}\r\n\r\n\trenderResults(rs) {\r\n\t\tconst resultsList = document.querySelector(\".blocco-risultati\");\r\n\t\trs.Paesi.map((result, index) => {\r\n\t\t\tconst accordionFilter = \"accordion-filter\" + index + result.Uid;\r\n\t\t\tconst filter = \"filter\" + index + result.Uid;\r\n\t\t\tconst country = \"country\" + result.Uid;\r\n\t\t\tconst countryElement = document.querySelector(\".library #template_country\").cloneNode(true);\r\n\t\t\tcountryElement.id = country;\r\n\t\t\tcountryElement.classList.add(\"blocco-pieno\");\r\n\t\t\tconst countryWrapper = countryElement.querySelector(\".country-wrapper\");\r\n\t\t\tif (rs.MacroCategoria && index === 0) {\r\n\t\t\t\tconst countryFocusElement = document.querySelector(\".library #template_focus\").cloneNode(true);\r\n\t\t\t\tcountryFocusElement.id = \"#focusCountry\";\r\n\t\t\t\tcountryFocusElement.querySelector(\"h3\").innerHTML = rs.MacroCategoria.Label;\r\n\t\t\t\tcountryFocusElement.querySelector(\".focus-descr-short\").innerHTML = rs.MacroCategoria.DescriptionShort;\r\n\t\t\t\tif (!rs.MacroCategoria.Description) {\r\n\t\t\t\t\tcountryFocusElement.querySelector(\"a.js-toggle-class\").remove();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcountryFocusElement.querySelector(\".focus-descr\").innerHTML = rs.MacroCategoria.Description;\r\n\t\t\t\t}\r\n\t\t\t\tcountryWrapper.prepend(countryFocusElement);\r\n\t\t\t}\r\n\t\t\tcountryElement.querySelector(\".country-result\").id = accordionFilter;\r\n\t\t\tcountryElement.querySelector(\".country-header .text-primary a\").innerHTML = result.Label;\r\n\t\t\tcountryElement.querySelector(\".country-header .text-primary a\").dataset.target = \"#\" + filter;\r\n\t\t\tcountryElement.querySelector(\".country-header button\").dataset.target = \"#\" + filter;\r\n\t\t\tconst countryBody = countryElement.querySelector(\".country-body\");\r\n\t\t\tcountryBody.dataset.parent = \"#\" + accordionFilter;\r\n\t\t\tcountryBody.id = filter;\r\n\t\t\tcountryBody.querySelector(\".country-descr p\").innerHTML = result.Description ? result.Description : index === 0 && rs.MacroCategoria?.Description ? rs.MacroCategoria?.Description : \"\";\r\n\t\t\tresult.Brands.map((brand, counter) => {\r\n\t\t\t\tconst marker = \"m\" + index + counter;\r\n\t\t\t\tconst brandElement = document.querySelector(\".library #template_brand\").cloneNode(true);\r\n\t\t\t\tbrandElement.id = \"\";\r\n\t\t\t\tbrandElement.querySelector(\"h2 a\").href = brand.PageUrl;\r\n\t\t\t\tbrandElement.querySelector(\"h2 a\").innerHTML = brand.Label;\r\n\t\t\t\tbrandElement.querySelector(\".swiper-navigation .btn-prev\").classList.add(marker + \"-prev\");\r\n\t\t\t\tbrandElement.querySelector(\".swiper-navigation .btn-next\").classList.add(marker + \"-next\");\r\n\t\t\t\tbrandElement.querySelector(\".swiper-container\").dataset.name = marker;\r\n\t\t\t\tconst swiperWrapper = brandElement.querySelector(\".swiper-wrapper\");\r\n\t\t\t\tbrand.Articles.map((product) => {\r\n\t\t\t\t\tconst swiperElement = document.querySelector(\".library #template_swiper\").cloneNode(true);\r\n\t\t\t\t\tswiperElement.id = \"\";\r\n\t\t\t\t\tswiperElement.querySelector(\".product-preview\").href = product.PageUrl;\r\n\t\t\t\t\tswiperElement.querySelector(\"img\").src = product.ImageUrl;\r\n\t\t\t\t\tswiperElement.querySelector(\"img\").alt = product.Label;\r\n\t\t\t\t\tswiperElement.querySelector(\"p\").innerHTML = product.Label;\r\n\t\t\t\t\tswiperElement.querySelector(\"h3\").innerHTML = product.SubLabelToTitleCase;\r\n\t\t\t\t\tswiperWrapper.appendChild(swiperElement);\r\n\t\t\t\t});\r\n\t\t\t\tcountryBody.appendChild(brandElement);\r\n\t\t\t});\r\n\t\t\tresultsList.appendChild(countryElement);\r\n\t\t});\r\n\t}\r\n}\r\n","import PageCommon from \"./PageCommon.js\";\r\n\r\nimport Appear from \"./classes/Appear.js\";\r\n\r\nexport default class PageSearch extends PageCommon {\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t}\r\n\tinit(data) {\r\n\t\tsuper.init(null);\r\n\t\tthis.showPreloader(false);\r\n\r\n\t\t// dispaccio un evento globale\r\n\t\tthis.dispatchInitEvent(TheDisp.EV_PAGETHIS_INITED);\r\n\r\n\t\tthis.bindEvents();\r\n\t\tthis.setPlugins();\r\n\t\tthis.colorlink();\r\n\t\tthis.setupMenu();\r\n\r\n\t\tthis.appear = new Appear();\r\n\t\tthis.appear.init();\r\n\r\n\t\t$(\".moreBox\").slice(0, 5).show();\r\n\t\tif ($(\".blogBox:hidden\").length > 5) {\r\n\t\t\t$(\"#loadMore\").show();\r\n\t\t} else {\r\n\t\t\t$(\"#loadMore\").fadeOut(\"slow\");\r\n\t\t}\r\n\t\t$(\"#loadMore\").on(\"click\", (event) => {\r\n\t\t\tevent.preventDefault();\r\n\t\t\t$(\".moreBox:hidden\").slice(0, 5).slideDown();\r\n\t\t\tif ($(\".moreBox:hidden\").length == 0) {\r\n\t\t\t\t$(\"#loadMore\").fadeOut(\"slow\");\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","import PageCommon from \"./PageCommon.js\";\r\n\r\nexport default class PageIntro extends PageCommon {\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\t// this.settaAncheGdpr = false;\r\n\t}\r\n\tinit($data) {\r\n\t\tsuper.init($data);\r\n\t\tthis.data = $data;\r\n\t\tthis.showPreloader(false);\r\n\r\n\t\t// dispaccio un evento globale\r\n\t\tthis.dispatchInitEvent(TheDisp.EV_PAGETHIS_INITED);\r\n\r\n\t\t$(\".mcSi\").on(\"click\", (event) => {\r\n\t\t\t// console.log(1)\r\n\t\t\tjQuery.cookie(\"IM\", \"accepted\", { expires: 48, path: \"/\" });\r\n\t\t\t// jQuery.cookie(\"cb-enabled\", \"accepted\", { expires: 48, path: \"/\" });\r\n\t\t\t//alert(jQuery.cookie(\"IM\"))\r\n\t\t\t//alert(this.data.u)\r\n\t\t\tif (this.data.u && this.data.u != \"\") {\r\n\t\t\t\twindow.location.href = this.data.u;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\twindow.location.href = TheApp.Env.BaseUrlNls + \"home\";\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tdocument.querySelector(\".mcNo\").addEventListener(\"click\", (event) => {\r\n\t\t\twindow.open(\"https://disney.it/\");\r\n\t\t});\r\n\r\n\r\n\t\t// dispaccio un evento globale\r\n\t\ttry {\r\n\t\t\tthis.dispatchInitEvent(TheDisp.EV_PAGETHIS_INITED);\r\n\t\t}\r\n\t\tcatch {\r\n\t\t\tconsole.error()\r\n\t\t}\r\n\t}\r\n}\r\n","import \"../scss/styles.scss\";\r\nimport PageCommon from \"./pages/PageCommon.js\";\r\nimport PageGeneric from \"./pages/PageGeneric.js\";\r\nimport PageDefault from \"./pages/PageDefault.js\";\r\nimport PageAroundTheBlog from \"./pages/PageAroundTheBlog.js\";\r\nimport PageProductList from \"./pages/PageProductList.js\";\r\nimport PageSearch from \"./pages/PageSearch.js\";\r\nimport PageHome from \"./pages/PageDefault.js\";\r\nimport PageIntro from \"./pages/PageIntro.js\";\r\nimport ServiceManager from \"./3x1010/services/ServiceManager.js\"\r\n\r\nexport default class FactoryManager {\r\n\tstatic factory(cls) {\r\n\t\treturn new FactoryManager.classes[cls]();\r\n\t}\r\n}\r\n\r\nFactoryManager.classes = { PageCommon, PageAroundTheBlog, PageProductList, PageSearch, PageHome, PageIntro, PageDefault, PageGeneric };\r\nwindow.Class = {};\r\nwindow.Class.ServiceManager = ServiceManager;\r\nwindow.Class.PageCommon = PageCommon;","\"use strict\";\n\n/* eslint-env browser */\n/*\n eslint-disable\n no-console,\n func-names\n*/\n\n/** @typedef {any} TODO */\n\nvar normalizeUrl = require(\"./normalize-url\");\nvar srcByModuleId = Object.create(null);\nvar noDocument = typeof document === \"undefined\";\nvar forEach = Array.prototype.forEach;\n\n/**\n * @param {function} fn\n * @param {number} time\n * @returns {(function(): void)|*}\n */\nfunction debounce(fn, time) {\n var timeout = 0;\n return function () {\n // @ts-ignore\n var self = this;\n // eslint-disable-next-line prefer-rest-params\n var args = arguments;\n var functionCall = function functionCall() {\n return fn.apply(self, args);\n };\n clearTimeout(timeout);\n\n // @ts-ignore\n timeout = setTimeout(functionCall, time);\n };\n}\nfunction noop() {}\n\n/**\n * @param {TODO} moduleId\n * @returns {TODO}\n */\nfunction getCurrentScriptUrl(moduleId) {\n var src = srcByModuleId[moduleId];\n if (!src) {\n if (document.currentScript) {\n src = /** @type {HTMLScriptElement} */document.currentScript.src;\n } else {\n var scripts = document.getElementsByTagName(\"script\");\n var lastScriptTag = scripts[scripts.length - 1];\n if (lastScriptTag) {\n src = lastScriptTag.src;\n }\n }\n srcByModuleId[moduleId] = src;\n }\n\n /**\n * @param {string} fileMap\n * @returns {null | string[]}\n */\n return function (fileMap) {\n if (!src) {\n return null;\n }\n var splitResult = src.split(/([^\\\\/]+)\\.js$/);\n var filename = splitResult && splitResult[1];\n if (!filename) {\n return [src.replace(\".js\", \".css\")];\n }\n if (!fileMap) {\n return [src.replace(\".js\", \".css\")];\n }\n return fileMap.split(\",\").map(function (mapRule) {\n var reg = new RegExp(\"\".concat(filename, \"\\\\.js$\"), \"g\");\n return normalizeUrl(src.replace(reg, \"\".concat(mapRule.replace(/{fileName}/g, filename), \".css\")));\n });\n };\n}\n\n/**\n * @param {TODO} el\n * @param {string} [url]\n */\nfunction updateCss(el, url) {\n if (!url) {\n if (!el.href) {\n return;\n }\n\n // eslint-disable-next-line\n url = el.href.split(\"?\")[0];\n }\n if (!isUrlRequest( /** @type {string} */url)) {\n return;\n }\n if (el.isLoaded === false) {\n // We seem to be about to replace a css link that hasn't loaded yet.\n // We're probably changing the same file more than once.\n return;\n }\n if (!url || !(url.indexOf(\".css\") > -1)) {\n return;\n }\n\n // eslint-disable-next-line no-param-reassign\n el.visited = true;\n var newEl = el.cloneNode();\n newEl.isLoaded = false;\n newEl.addEventListener(\"load\", function () {\n if (newEl.isLoaded) {\n return;\n }\n newEl.isLoaded = true;\n el.parentNode.removeChild(el);\n });\n newEl.addEventListener(\"error\", function () {\n if (newEl.isLoaded) {\n return;\n }\n newEl.isLoaded = true;\n el.parentNode.removeChild(el);\n });\n newEl.href = \"\".concat(url, \"?\").concat(Date.now());\n if (el.nextSibling) {\n el.parentNode.insertBefore(newEl, el.nextSibling);\n } else {\n el.parentNode.appendChild(newEl);\n }\n}\n\n/**\n * @param {string} href\n * @param {TODO} src\n * @returns {TODO}\n */\nfunction getReloadUrl(href, src) {\n var ret;\n\n // eslint-disable-next-line no-param-reassign\n href = normalizeUrl(href);\n src.some(\n /**\n * @param {string} url\n */\n // eslint-disable-next-line array-callback-return\n function (url) {\n if (href.indexOf(src) > -1) {\n ret = url;\n }\n });\n return ret;\n}\n\n/**\n * @param {string} [src]\n * @returns {boolean}\n */\nfunction reloadStyle(src) {\n if (!src) {\n return false;\n }\n var elements = document.querySelectorAll(\"link\");\n var loaded = false;\n forEach.call(elements, function (el) {\n if (!el.href) {\n return;\n }\n var url = getReloadUrl(el.href, src);\n if (!isUrlRequest(url)) {\n return;\n }\n if (el.visited === true) {\n return;\n }\n if (url) {\n updateCss(el, url);\n loaded = true;\n }\n });\n return loaded;\n}\nfunction reloadAll() {\n var elements = document.querySelectorAll(\"link\");\n forEach.call(elements, function (el) {\n if (el.visited === true) {\n return;\n }\n updateCss(el);\n });\n}\n\n/**\n * @param {string} url\n * @returns {boolean}\n */\nfunction isUrlRequest(url) {\n // An URL is not an request if\n\n // It is not http or https\n if (!/^[a-zA-Z][a-zA-Z\\d+\\-.]*:/.test(url)) {\n return false;\n }\n return true;\n}\n\n/**\n * @param {TODO} moduleId\n * @param {TODO} options\n * @returns {TODO}\n */\nmodule.exports = function (moduleId, options) {\n if (noDocument) {\n console.log(\"no window.document found, will not HMR CSS\");\n return noop;\n }\n var getScriptSrc = getCurrentScriptUrl(moduleId);\n function update() {\n var src = getScriptSrc(options.filename);\n var reloaded = reloadStyle(src);\n if (options.locals) {\n console.log(\"[HMR] Detected local css modules. Reload all css\");\n reloadAll();\n return;\n }\n if (reloaded) {\n console.log(\"[HMR] css reload %s\", src.join(\" \"));\n } else {\n console.log(\"[HMR] Reload all css\");\n reloadAll();\n }\n }\n return debounce(update, 50);\n};","\"use strict\";\n\n/* eslint-disable */\n\n/**\n * @param {string[]} pathComponents\n * @returns {string}\n */\nfunction normalizeUrl(pathComponents) {\n return pathComponents.reduce(function (accumulator, item) {\n switch (item) {\n case \"..\":\n accumulator.pop();\n break;\n case \".\":\n break;\n default:\n accumulator.push(item);\n }\n return accumulator;\n }, /** @type {string[]} */[]).join(\"/\");\n}\n\n/**\n * @param {string} urlString\n * @returns {string}\n */\nmodule.exports = function (urlString) {\n urlString = urlString.trim();\n if (/^data:/i.test(urlString)) {\n return urlString;\n }\n var protocol = urlString.indexOf(\"//\") !== -1 ? urlString.split(\"//\")[0] + \"//\" : \"\";\n var components = urlString.replace(new RegExp(protocol, \"i\"), \"\").split(\"/\");\n var host = components[0].toLowerCase().replace(/\\.$/, \"\");\n components[0] = \"\";\n var path = normalizeUrl(components);\n return protocol + host + path;\n};","// extracted by mini-css-extract-plugin\nexport {};\n if(module.hot) {\n // 1716795041168\n var cssReload = require(\"../../node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\tif (cachedModule.error !== undefined) throw cachedModule.error;\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\ttry {\n\t\tvar execOptions = { id: moduleId, module: module, factory: __webpack_modules__[moduleId], require: __webpack_require__ };\n\t\t__webpack_require__.i.forEach(function(handler) { handler(execOptions); });\n\t\tmodule = execOptions.module;\n\t\texecOptions.factory.call(module.exports, module, module.exports, execOptions.require);\n\t} catch(e) {\n\t\tmodule.error = e;\n\t\tthrow e;\n\t}\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n// expose the module execution interceptor\n__webpack_require__.i = [];\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// This function allow to reference all chunks\n__webpack_require__.hu = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + __webpack_require__.h() + \".hot-update.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.hmrF = () => (\"app.\" + __webpack_require__.h() + \".hot-update.json\");","__webpack_require__.h = () => (\"908522f66ae55b34fd32\")","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var currentModuleData = {};\nvar installedModules = __webpack_require__.c;\n\n// module and require creation\nvar currentChildModule;\nvar currentParents = [];\n\n// status\nvar registeredStatusHandlers = [];\nvar currentStatus = \"idle\";\n\n// while downloading\nvar blockingPromises = 0;\nvar blockingPromisesWaiting = [];\n\n// The update info\nvar currentUpdateApplyHandlers;\nvar queuedInvalidatedModules;\n\n// eslint-disable-next-line no-unused-vars\n__webpack_require__.hmrD = currentModuleData;\n\n__webpack_require__.i.push(function (options) {\n\tvar module = options.module;\n\tvar require = createRequire(options.require, options.id);\n\tmodule.hot = createModuleHotObject(options.id, module);\n\tmodule.parents = currentParents;\n\tmodule.children = [];\n\tcurrentParents = [];\n\toptions.require = require;\n});\n\n__webpack_require__.hmrC = {};\n__webpack_require__.hmrI = {};\n\nfunction createRequire(require, moduleId) {\n\tvar me = installedModules[moduleId];\n\tif (!me) return require;\n\tvar fn = function (request) {\n\t\tif (me.hot.active) {\n\t\t\tif (installedModules[request]) {\n\t\t\t\tvar parents = installedModules[request].parents;\n\t\t\t\tif (parents.indexOf(moduleId) === -1) {\n\t\t\t\t\tparents.push(moduleId);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcurrentParents = [moduleId];\n\t\t\t\tcurrentChildModule = request;\n\t\t\t}\n\t\t\tif (me.children.indexOf(request) === -1) {\n\t\t\t\tme.children.push(request);\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.warn(\n\t\t\t\t\"[HMR] unexpected require(\" +\n\t\t\t\t\trequest +\n\t\t\t\t\t\") from disposed module \" +\n\t\t\t\t\tmoduleId\n\t\t\t);\n\t\t\tcurrentParents = [];\n\t\t}\n\t\treturn require(request);\n\t};\n\tvar createPropertyDescriptor = function (name) {\n\t\treturn {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\treturn require[name];\n\t\t\t},\n\t\t\tset: function (value) {\n\t\t\t\trequire[name] = value;\n\t\t\t}\n\t\t};\n\t};\n\tfor (var name in require) {\n\t\tif (Object.prototype.hasOwnProperty.call(require, name) && name !== \"e\") {\n\t\t\tObject.defineProperty(fn, name, createPropertyDescriptor(name));\n\t\t}\n\t}\n\tfn.e = function (chunkId) {\n\t\treturn trackBlockingPromise(require.e(chunkId));\n\t};\n\treturn fn;\n}\n\nfunction createModuleHotObject(moduleId, me) {\n\tvar _main = currentChildModule !== moduleId;\n\tvar hot = {\n\t\t// private stuff\n\t\t_acceptedDependencies: {},\n\t\t_acceptedErrorHandlers: {},\n\t\t_declinedDependencies: {},\n\t\t_selfAccepted: false,\n\t\t_selfDeclined: false,\n\t\t_selfInvalidated: false,\n\t\t_disposeHandlers: [],\n\t\t_main: _main,\n\t\t_requireSelf: function () {\n\t\t\tcurrentParents = me.parents.slice();\n\t\t\tcurrentChildModule = _main ? undefined : moduleId;\n\t\t\t__webpack_require__(moduleId);\n\t\t},\n\n\t\t// Module API\n\t\tactive: true,\n\t\taccept: function (dep, callback, errorHandler) {\n\t\t\tif (dep === undefined) hot._selfAccepted = true;\n\t\t\telse if (typeof dep === \"function\") hot._selfAccepted = dep;\n\t\t\telse if (typeof dep === \"object\" && dep !== null) {\n\t\t\t\tfor (var i = 0; i < dep.length; i++) {\n\t\t\t\t\thot._acceptedDependencies[dep[i]] = callback || function () {};\n\t\t\t\t\thot._acceptedErrorHandlers[dep[i]] = errorHandler;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thot._acceptedDependencies[dep] = callback || function () {};\n\t\t\t\thot._acceptedErrorHandlers[dep] = errorHandler;\n\t\t\t}\n\t\t},\n\t\tdecline: function (dep) {\n\t\t\tif (dep === undefined) hot._selfDeclined = true;\n\t\t\telse if (typeof dep === \"object\" && dep !== null)\n\t\t\t\tfor (var i = 0; i < dep.length; i++)\n\t\t\t\t\thot._declinedDependencies[dep[i]] = true;\n\t\t\telse hot._declinedDependencies[dep] = true;\n\t\t},\n\t\tdispose: function (callback) {\n\t\t\thot._disposeHandlers.push(callback);\n\t\t},\n\t\taddDisposeHandler: function (callback) {\n\t\t\thot._disposeHandlers.push(callback);\n\t\t},\n\t\tremoveDisposeHandler: function (callback) {\n\t\t\tvar idx = hot._disposeHandlers.indexOf(callback);\n\t\t\tif (idx >= 0) hot._disposeHandlers.splice(idx, 1);\n\t\t},\n\t\tinvalidate: function () {\n\t\t\tthis._selfInvalidated = true;\n\t\t\tswitch (currentStatus) {\n\t\t\t\tcase \"idle\":\n\t\t\t\t\tcurrentUpdateApplyHandlers = [];\n\t\t\t\t\tObject.keys(__webpack_require__.hmrI).forEach(function (key) {\n\t\t\t\t\t\t__webpack_require__.hmrI[key](\n\t\t\t\t\t\t\tmoduleId,\n\t\t\t\t\t\t\tcurrentUpdateApplyHandlers\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\tsetStatus(\"ready\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"ready\":\n\t\t\t\t\tObject.keys(__webpack_require__.hmrI).forEach(function (key) {\n\t\t\t\t\t\t__webpack_require__.hmrI[key](\n\t\t\t\t\t\t\tmoduleId,\n\t\t\t\t\t\t\tcurrentUpdateApplyHandlers\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"prepare\":\n\t\t\t\tcase \"check\":\n\t\t\t\tcase \"dispose\":\n\t\t\t\tcase \"apply\":\n\t\t\t\t\t(queuedInvalidatedModules = queuedInvalidatedModules || []).push(\n\t\t\t\t\t\tmoduleId\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\t// ignore requests in error states\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\n\t\t// Management API\n\t\tcheck: hotCheck,\n\t\tapply: hotApply,\n\t\tstatus: function (l) {\n\t\t\tif (!l) return currentStatus;\n\t\t\tregisteredStatusHandlers.push(l);\n\t\t},\n\t\taddStatusHandler: function (l) {\n\t\t\tregisteredStatusHandlers.push(l);\n\t\t},\n\t\tremoveStatusHandler: function (l) {\n\t\t\tvar idx = registeredStatusHandlers.indexOf(l);\n\t\t\tif (idx >= 0) registeredStatusHandlers.splice(idx, 1);\n\t\t},\n\n\t\t//inherit from previous dispose call\n\t\tdata: currentModuleData[moduleId]\n\t};\n\tcurrentChildModule = undefined;\n\treturn hot;\n}\n\nfunction setStatus(newStatus) {\n\tcurrentStatus = newStatus;\n\tvar results = [];\n\n\tfor (var i = 0; i < registeredStatusHandlers.length; i++)\n\t\tresults[i] = registeredStatusHandlers[i].call(null, newStatus);\n\n\treturn Promise.all(results);\n}\n\nfunction unblock() {\n\tif (--blockingPromises === 0) {\n\t\tsetStatus(\"ready\").then(function () {\n\t\t\tif (blockingPromises === 0) {\n\t\t\t\tvar list = blockingPromisesWaiting;\n\t\t\t\tblockingPromisesWaiting = [];\n\t\t\t\tfor (var i = 0; i < list.length; i++) {\n\t\t\t\t\tlist[i]();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n\nfunction trackBlockingPromise(promise) {\n\tswitch (currentStatus) {\n\t\tcase \"ready\":\n\t\t\tsetStatus(\"prepare\");\n\t\t/* fallthrough */\n\t\tcase \"prepare\":\n\t\t\tblockingPromises++;\n\t\t\tpromise.then(unblock, unblock);\n\t\t\treturn promise;\n\t\tdefault:\n\t\t\treturn promise;\n\t}\n}\n\nfunction waitForBlockingPromises(fn) {\n\tif (blockingPromises === 0) return fn();\n\treturn new Promise(function (resolve) {\n\t\tblockingPromisesWaiting.push(function () {\n\t\t\tresolve(fn());\n\t\t});\n\t});\n}\n\nfunction hotCheck(applyOnUpdate) {\n\tif (currentStatus !== \"idle\") {\n\t\tthrow new Error(\"check() is only allowed in idle status\");\n\t}\n\treturn setStatus(\"check\")\n\t\t.then(__webpack_require__.hmrM)\n\t\t.then(function (update) {\n\t\t\tif (!update) {\n\t\t\t\treturn setStatus(applyInvalidatedModules() ? \"ready\" : \"idle\").then(\n\t\t\t\t\tfunction () {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn setStatus(\"prepare\").then(function () {\n\t\t\t\tvar updatedModules = [];\n\t\t\t\tcurrentUpdateApplyHandlers = [];\n\n\t\t\t\treturn Promise.all(\n\t\t\t\t\tObject.keys(__webpack_require__.hmrC).reduce(function (\n\t\t\t\t\t\tpromises,\n\t\t\t\t\t\tkey\n\t\t\t\t\t) {\n\t\t\t\t\t\t__webpack_require__.hmrC[key](\n\t\t\t\t\t\t\tupdate.c,\n\t\t\t\t\t\t\tupdate.r,\n\t\t\t\t\t\t\tupdate.m,\n\t\t\t\t\t\t\tpromises,\n\t\t\t\t\t\t\tcurrentUpdateApplyHandlers,\n\t\t\t\t\t\t\tupdatedModules\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn promises;\n\t\t\t\t\t},\n\t\t\t\t\t[])\n\t\t\t\t).then(function () {\n\t\t\t\t\treturn waitForBlockingPromises(function () {\n\t\t\t\t\t\tif (applyOnUpdate) {\n\t\t\t\t\t\t\treturn internalApply(applyOnUpdate);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn setStatus(\"ready\").then(function () {\n\t\t\t\t\t\t\t\treturn updatedModules;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t});\n}\n\nfunction hotApply(options) {\n\tif (currentStatus !== \"ready\") {\n\t\treturn Promise.resolve().then(function () {\n\t\t\tthrow new Error(\n\t\t\t\t\"apply() is only allowed in ready status (state: \" +\n\t\t\t\t\tcurrentStatus +\n\t\t\t\t\t\")\"\n\t\t\t);\n\t\t});\n\t}\n\treturn internalApply(options);\n}\n\nfunction internalApply(options) {\n\toptions = options || {};\n\n\tapplyInvalidatedModules();\n\n\tvar results = currentUpdateApplyHandlers.map(function (handler) {\n\t\treturn handler(options);\n\t});\n\tcurrentUpdateApplyHandlers = undefined;\n\n\tvar errors = results\n\t\t.map(function (r) {\n\t\t\treturn r.error;\n\t\t})\n\t\t.filter(Boolean);\n\n\tif (errors.length > 0) {\n\t\treturn setStatus(\"abort\").then(function () {\n\t\t\tthrow errors[0];\n\t\t});\n\t}\n\n\t// Now in \"dispose\" phase\n\tvar disposePromise = setStatus(\"dispose\");\n\n\tresults.forEach(function (result) {\n\t\tif (result.dispose) result.dispose();\n\t});\n\n\t// Now in \"apply\" phase\n\tvar applyPromise = setStatus(\"apply\");\n\n\tvar error;\n\tvar reportError = function (err) {\n\t\tif (!error) error = err;\n\t};\n\n\tvar outdatedModules = [];\n\tresults.forEach(function (result) {\n\t\tif (result.apply) {\n\t\t\tvar modules = result.apply(reportError);\n\t\t\tif (modules) {\n\t\t\t\tfor (var i = 0; i < modules.length; i++) {\n\t\t\t\t\toutdatedModules.push(modules[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\treturn Promise.all([disposePromise, applyPromise]).then(function () {\n\t\t// handle errors in accept handlers and self accepted module load\n\t\tif (error) {\n\t\t\treturn setStatus(\"fail\").then(function () {\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}\n\n\t\tif (queuedInvalidatedModules) {\n\t\t\treturn internalApply(options).then(function (list) {\n\t\t\t\toutdatedModules.forEach(function (moduleId) {\n\t\t\t\t\tif (list.indexOf(moduleId) < 0) list.push(moduleId);\n\t\t\t\t});\n\t\t\t\treturn list;\n\t\t\t});\n\t\t}\n\n\t\treturn setStatus(\"idle\").then(function () {\n\t\t\treturn outdatedModules;\n\t\t});\n\t});\n}\n\nfunction applyInvalidatedModules() {\n\tif (queuedInvalidatedModules) {\n\t\tif (!currentUpdateApplyHandlers) currentUpdateApplyHandlers = [];\n\t\tObject.keys(__webpack_require__.hmrI).forEach(function (key) {\n\t\t\tqueuedInvalidatedModules.forEach(function (moduleId) {\n\t\t\t\t__webpack_require__.hmrI[key](\n\t\t\t\t\tmoduleId,\n\t\t\t\t\tcurrentUpdateApplyHandlers\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t\tqueuedInvalidatedModules = undefined;\n\t\treturn true;\n\t}\n}","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// no chunk loading\n\nvar oldTags = [];\nvar newTags = [];\nvar applyHandler = (options) => {\n\treturn { dispose: () => {\n\t\tfor(var i = 0; i < oldTags.length; i++) {\n\t\t\tvar oldTag = oldTags[i];\n\t\t\tif(oldTag.parentNode) oldTag.parentNode.removeChild(oldTag);\n\t\t}\n\t\toldTags.length = 0;\n\t}, apply: () => {\n\t\tfor(var i = 0; i < newTags.length; i++) newTags[i].rel = \"stylesheet\";\n\t\tnewTags.length = 0;\n\t} };\n}\n__webpack_require__.hmrC.miniCss = (chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList) => {\n\tapplyHandlers.push(applyHandler);\n\tchunkIds.forEach((chunkId) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tvar oldTag = findStylesheet(href, fullhref);\n\t\tif(!oldTag) return;\n\t\tpromises.push(new Promise((resolve, reject) => {\n\t\t\tvar tag = createStylesheet(chunkId, fullhref, oldTag, () => {\n\t\t\t\ttag.as = \"style\";\n\t\t\t\ttag.rel = \"preload\";\n\t\t\t\tresolve();\n\t\t\t}, reject);\n\t\t\toldTags.push(oldTag);\n\t\t\tnewTags.push(tag);\n\t\t}));\n\t});\n}","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = __webpack_require__.hmrS_jsonp = __webpack_require__.hmrS_jsonp || {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\nvar currentUpdatedModulesList;\nvar waitingUpdateResolves = {};\nfunction loadUpdateChunk(chunkId, updatedModulesList) {\n\tcurrentUpdatedModulesList = updatedModulesList;\n\treturn new Promise((resolve, reject) => {\n\t\twaitingUpdateResolves[chunkId] = resolve;\n\t\t// start update chunk loading\n\t\tvar url = __webpack_require__.p + __webpack_require__.hu(chunkId);\n\t\t// create error before stack unwound to get useful stacktrace later\n\t\tvar error = new Error();\n\t\tvar loadingEnded = (event) => {\n\t\t\tif(waitingUpdateResolves[chunkId]) {\n\t\t\t\twaitingUpdateResolves[chunkId] = undefined\n\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\terror.message = 'Loading hot update chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\terror.type = errorType;\n\t\t\t\terror.request = realSrc;\n\t\t\t\treject(error);\n\t\t\t}\n\t\t};\n\t\t__webpack_require__.l(url, loadingEnded);\n\t});\n}\n\nself[\"webpackHotUpdateFactoryManager\"] = (chunkId, moreModules, runtime) => {\n\tfor(var moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\tcurrentUpdate[moduleId] = moreModules[moduleId];\n\t\t\tif(currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId);\n\t\t}\n\t}\n\tif(runtime) currentUpdateRuntime.push(runtime);\n\tif(waitingUpdateResolves[chunkId]) {\n\t\twaitingUpdateResolves[chunkId]();\n\t\twaitingUpdateResolves[chunkId] = undefined;\n\t}\n};\n\nvar currentUpdateChunks;\nvar currentUpdate;\nvar currentUpdateRemovedChunks;\nvar currentUpdateRuntime;\nfunction applyHandler(options) {\n\tif (__webpack_require__.f) delete __webpack_require__.f.jsonpHmr;\n\tcurrentUpdateChunks = undefined;\n\tfunction getAffectedModuleEffects(updateModuleId) {\n\t\tvar outdatedModules = [updateModuleId];\n\t\tvar outdatedDependencies = {};\n\n\t\tvar queue = outdatedModules.map(function (id) {\n\t\t\treturn {\n\t\t\t\tchain: [id],\n\t\t\t\tid: id\n\t\t\t};\n\t\t});\n\t\twhile (queue.length > 0) {\n\t\t\tvar queueItem = queue.pop();\n\t\t\tvar moduleId = queueItem.id;\n\t\t\tvar chain = queueItem.chain;\n\t\t\tvar module = __webpack_require__.c[moduleId];\n\t\t\tif (\n\t\t\t\t!module ||\n\t\t\t\t(module.hot._selfAccepted && !module.hot._selfInvalidated)\n\t\t\t)\n\t\t\t\tcontinue;\n\t\t\tif (module.hot._selfDeclined) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"self-declined\",\n\t\t\t\t\tchain: chain,\n\t\t\t\t\tmoduleId: moduleId\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (module.hot._main) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"unaccepted\",\n\t\t\t\t\tchain: chain,\n\t\t\t\t\tmoduleId: moduleId\n\t\t\t\t};\n\t\t\t}\n\t\t\tfor (var i = 0; i < module.parents.length; i++) {\n\t\t\t\tvar parentId = module.parents[i];\n\t\t\t\tvar parent = __webpack_require__.c[parentId];\n\t\t\t\tif (!parent) continue;\n\t\t\t\tif (parent.hot._declinedDependencies[moduleId]) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: \"declined\",\n\t\t\t\t\t\tchain: chain.concat([parentId]),\n\t\t\t\t\t\tmoduleId: moduleId,\n\t\t\t\t\t\tparentId: parentId\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (outdatedModules.indexOf(parentId) !== -1) continue;\n\t\t\t\tif (parent.hot._acceptedDependencies[moduleId]) {\n\t\t\t\t\tif (!outdatedDependencies[parentId])\n\t\t\t\t\t\toutdatedDependencies[parentId] = [];\n\t\t\t\t\taddAllToSet(outdatedDependencies[parentId], [moduleId]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tdelete outdatedDependencies[parentId];\n\t\t\t\toutdatedModules.push(parentId);\n\t\t\t\tqueue.push({\n\t\t\t\t\tchain: chain.concat([parentId]),\n\t\t\t\t\tid: parentId\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttype: \"accepted\",\n\t\t\tmoduleId: updateModuleId,\n\t\t\toutdatedModules: outdatedModules,\n\t\t\toutdatedDependencies: outdatedDependencies\n\t\t};\n\t}\n\n\tfunction addAllToSet(a, b) {\n\t\tfor (var i = 0; i < b.length; i++) {\n\t\t\tvar item = b[i];\n\t\t\tif (a.indexOf(item) === -1) a.push(item);\n\t\t}\n\t}\n\n\t// at begin all updates modules are outdated\n\t// the \"outdated\" status can propagate to parents if they don't accept the children\n\tvar outdatedDependencies = {};\n\tvar outdatedModules = [];\n\tvar appliedUpdate = {};\n\n\tvar warnUnexpectedRequire = function warnUnexpectedRequire(module) {\n\t\tconsole.warn(\n\t\t\t\"[HMR] unexpected require(\" + module.id + \") to disposed module\"\n\t\t);\n\t};\n\n\tfor (var moduleId in currentUpdate) {\n\t\tif (__webpack_require__.o(currentUpdate, moduleId)) {\n\t\t\tvar newModuleFactory = currentUpdate[moduleId];\n\t\t\t/** @type {TODO} */\n\t\t\tvar result;\n\t\t\tif (newModuleFactory) {\n\t\t\t\tresult = getAffectedModuleEffects(moduleId);\n\t\t\t} else {\n\t\t\t\tresult = {\n\t\t\t\t\ttype: \"disposed\",\n\t\t\t\t\tmoduleId: moduleId\n\t\t\t\t};\n\t\t\t}\n\t\t\t/** @type {Error|false} */\n\t\t\tvar abortError = false;\n\t\t\tvar doApply = false;\n\t\t\tvar doDispose = false;\n\t\t\tvar chainInfo = \"\";\n\t\t\tif (result.chain) {\n\t\t\t\tchainInfo = \"\\nUpdate propagation: \" + result.chain.join(\" -> \");\n\t\t\t}\n\t\t\tswitch (result.type) {\n\t\t\t\tcase \"self-declined\":\n\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n\t\t\t\t\tif (!options.ignoreDeclined)\n\t\t\t\t\t\tabortError = new Error(\n\t\t\t\t\t\t\t\"Aborted because of self decline: \" +\n\t\t\t\t\t\t\t\tresult.moduleId +\n\t\t\t\t\t\t\t\tchainInfo\n\t\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"declined\":\n\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n\t\t\t\t\tif (!options.ignoreDeclined)\n\t\t\t\t\t\tabortError = new Error(\n\t\t\t\t\t\t\t\"Aborted because of declined dependency: \" +\n\t\t\t\t\t\t\t\tresult.moduleId +\n\t\t\t\t\t\t\t\t\" in \" +\n\t\t\t\t\t\t\t\tresult.parentId +\n\t\t\t\t\t\t\t\tchainInfo\n\t\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"unaccepted\":\n\t\t\t\t\tif (options.onUnaccepted) options.onUnaccepted(result);\n\t\t\t\t\tif (!options.ignoreUnaccepted)\n\t\t\t\t\t\tabortError = new Error(\n\t\t\t\t\t\t\t\"Aborted because \" + moduleId + \" is not accepted\" + chainInfo\n\t\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"accepted\":\n\t\t\t\t\tif (options.onAccepted) options.onAccepted(result);\n\t\t\t\t\tdoApply = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"disposed\":\n\t\t\t\t\tif (options.onDisposed) options.onDisposed(result);\n\t\t\t\t\tdoDispose = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(\"Unexception type \" + result.type);\n\t\t\t}\n\t\t\tif (abortError) {\n\t\t\t\treturn {\n\t\t\t\t\terror: abortError\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (doApply) {\n\t\t\t\tappliedUpdate[moduleId] = newModuleFactory;\n\t\t\t\taddAllToSet(outdatedModules, result.outdatedModules);\n\t\t\t\tfor (moduleId in result.outdatedDependencies) {\n\t\t\t\t\tif (__webpack_require__.o(result.outdatedDependencies, moduleId)) {\n\t\t\t\t\t\tif (!outdatedDependencies[moduleId])\n\t\t\t\t\t\t\toutdatedDependencies[moduleId] = [];\n\t\t\t\t\t\taddAllToSet(\n\t\t\t\t\t\t\toutdatedDependencies[moduleId],\n\t\t\t\t\t\t\tresult.outdatedDependencies[moduleId]\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (doDispose) {\n\t\t\t\taddAllToSet(outdatedModules, [result.moduleId]);\n\t\t\t\tappliedUpdate[moduleId] = warnUnexpectedRequire;\n\t\t\t}\n\t\t}\n\t}\n\tcurrentUpdate = undefined;\n\n\t// Store self accepted outdated modules to require them later by the module system\n\tvar outdatedSelfAcceptedModules = [];\n\tfor (var j = 0; j < outdatedModules.length; j++) {\n\t\tvar outdatedModuleId = outdatedModules[j];\n\t\tvar module = __webpack_require__.c[outdatedModuleId];\n\t\tif (\n\t\t\tmodule &&\n\t\t\t(module.hot._selfAccepted || module.hot._main) &&\n\t\t\t// removed self-accepted modules should not be required\n\t\t\tappliedUpdate[outdatedModuleId] !== warnUnexpectedRequire &&\n\t\t\t// when called invalidate self-accepting is not possible\n\t\t\t!module.hot._selfInvalidated\n\t\t) {\n\t\t\toutdatedSelfAcceptedModules.push({\n\t\t\t\tmodule: outdatedModuleId,\n\t\t\t\trequire: module.hot._requireSelf,\n\t\t\t\terrorHandler: module.hot._selfAccepted\n\t\t\t});\n\t\t}\n\t}\n\n\tvar moduleOutdatedDependencies;\n\n\treturn {\n\t\tdispose: function () {\n\t\t\tcurrentUpdateRemovedChunks.forEach(function (chunkId) {\n\t\t\t\tdelete installedChunks[chunkId];\n\t\t\t});\n\t\t\tcurrentUpdateRemovedChunks = undefined;\n\n\t\t\tvar idx;\n\t\t\tvar queue = outdatedModules.slice();\n\t\t\twhile (queue.length > 0) {\n\t\t\t\tvar moduleId = queue.pop();\n\t\t\t\tvar module = __webpack_require__.c[moduleId];\n\t\t\t\tif (!module) continue;\n\n\t\t\t\tvar data = {};\n\n\t\t\t\t// Call dispose handlers\n\t\t\t\tvar disposeHandlers = module.hot._disposeHandlers;\n\t\t\t\tfor (j = 0; j < disposeHandlers.length; j++) {\n\t\t\t\t\tdisposeHandlers[j].call(null, data);\n\t\t\t\t}\n\t\t\t\t__webpack_require__.hmrD[moduleId] = data;\n\n\t\t\t\t// disable module (this disables requires from this module)\n\t\t\t\tmodule.hot.active = false;\n\n\t\t\t\t// remove module from cache\n\t\t\t\tdelete __webpack_require__.c[moduleId];\n\n\t\t\t\t// when disposing there is no need to call dispose handler\n\t\t\t\tdelete outdatedDependencies[moduleId];\n\n\t\t\t\t// remove \"parents\" references from all children\n\t\t\t\tfor (j = 0; j < module.children.length; j++) {\n\t\t\t\t\tvar child = __webpack_require__.c[module.children[j]];\n\t\t\t\t\tif (!child) continue;\n\t\t\t\t\tidx = child.parents.indexOf(moduleId);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tchild.parents.splice(idx, 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// remove outdated dependency from module children\n\t\t\tvar dependency;\n\t\t\tfor (var outdatedModuleId in outdatedDependencies) {\n\t\t\t\tif (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) {\n\t\t\t\t\tmodule = __webpack_require__.c[outdatedModuleId];\n\t\t\t\t\tif (module) {\n\t\t\t\t\t\tmoduleOutdatedDependencies =\n\t\t\t\t\t\t\toutdatedDependencies[outdatedModuleId];\n\t\t\t\t\t\tfor (j = 0; j < moduleOutdatedDependencies.length; j++) {\n\t\t\t\t\t\t\tdependency = moduleOutdatedDependencies[j];\n\t\t\t\t\t\t\tidx = module.children.indexOf(dependency);\n\t\t\t\t\t\t\tif (idx >= 0) module.children.splice(idx, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tapply: function (reportError) {\n\t\t\t// insert new code\n\t\t\tfor (var updateModuleId in appliedUpdate) {\n\t\t\t\tif (__webpack_require__.o(appliedUpdate, updateModuleId)) {\n\t\t\t\t\t__webpack_require__.m[updateModuleId] = appliedUpdate[updateModuleId];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// run new runtime modules\n\t\t\tfor (var i = 0; i < currentUpdateRuntime.length; i++) {\n\t\t\t\tcurrentUpdateRuntime[i](__webpack_require__);\n\t\t\t}\n\n\t\t\t// call accept handlers\n\t\t\tfor (var outdatedModuleId in outdatedDependencies) {\n\t\t\t\tif (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) {\n\t\t\t\t\tvar module = __webpack_require__.c[outdatedModuleId];\n\t\t\t\t\tif (module) {\n\t\t\t\t\t\tmoduleOutdatedDependencies =\n\t\t\t\t\t\t\toutdatedDependencies[outdatedModuleId];\n\t\t\t\t\t\tvar callbacks = [];\n\t\t\t\t\t\tvar errorHandlers = [];\n\t\t\t\t\t\tvar dependenciesForCallbacks = [];\n\t\t\t\t\t\tfor (var j = 0; j < moduleOutdatedDependencies.length; j++) {\n\t\t\t\t\t\t\tvar dependency = moduleOutdatedDependencies[j];\n\t\t\t\t\t\t\tvar acceptCallback =\n\t\t\t\t\t\t\t\tmodule.hot._acceptedDependencies[dependency];\n\t\t\t\t\t\t\tvar errorHandler =\n\t\t\t\t\t\t\t\tmodule.hot._acceptedErrorHandlers[dependency];\n\t\t\t\t\t\t\tif (acceptCallback) {\n\t\t\t\t\t\t\t\tif (callbacks.indexOf(acceptCallback) !== -1) continue;\n\t\t\t\t\t\t\t\tcallbacks.push(acceptCallback);\n\t\t\t\t\t\t\t\terrorHandlers.push(errorHandler);\n\t\t\t\t\t\t\t\tdependenciesForCallbacks.push(dependency);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (var k = 0; k < callbacks.length; k++) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tcallbacks[k].call(null, moduleOutdatedDependencies);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tif (typeof errorHandlers[k] === \"function\") {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\terrorHandlers[k](err, {\n\t\t\t\t\t\t\t\t\t\t\tmoduleId: outdatedModuleId,\n\t\t\t\t\t\t\t\t\t\t\tdependencyId: dependenciesForCallbacks[k]\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} catch (err2) {\n\t\t\t\t\t\t\t\t\t\tif (options.onErrored) {\n\t\t\t\t\t\t\t\t\t\t\toptions.onErrored({\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"accept-error-handler-errored\",\n\t\t\t\t\t\t\t\t\t\t\t\tmoduleId: outdatedModuleId,\n\t\t\t\t\t\t\t\t\t\t\t\tdependencyId: dependenciesForCallbacks[k],\n\t\t\t\t\t\t\t\t\t\t\t\terror: err2,\n\t\t\t\t\t\t\t\t\t\t\t\toriginalError: err\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (!options.ignoreErrored) {\n\t\t\t\t\t\t\t\t\t\t\treportError(err2);\n\t\t\t\t\t\t\t\t\t\t\treportError(err);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tif (options.onErrored) {\n\t\t\t\t\t\t\t\t\t\toptions.onErrored({\n\t\t\t\t\t\t\t\t\t\t\ttype: \"accept-errored\",\n\t\t\t\t\t\t\t\t\t\t\tmoduleId: outdatedModuleId,\n\t\t\t\t\t\t\t\t\t\t\tdependencyId: dependenciesForCallbacks[k],\n\t\t\t\t\t\t\t\t\t\t\terror: err\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif (!options.ignoreErrored) {\n\t\t\t\t\t\t\t\t\t\treportError(err);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Load self accepted modules\n\t\t\tfor (var o = 0; o < outdatedSelfAcceptedModules.length; o++) {\n\t\t\t\tvar item = outdatedSelfAcceptedModules[o];\n\t\t\t\tvar moduleId = item.module;\n\t\t\t\ttry {\n\t\t\t\t\titem.require(moduleId);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tif (typeof item.errorHandler === \"function\") {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\titem.errorHandler(err, {\n\t\t\t\t\t\t\t\tmoduleId: moduleId,\n\t\t\t\t\t\t\t\tmodule: __webpack_require__.c[moduleId]\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} catch (err2) {\n\t\t\t\t\t\t\tif (options.onErrored) {\n\t\t\t\t\t\t\t\toptions.onErrored({\n\t\t\t\t\t\t\t\t\ttype: \"self-accept-error-handler-errored\",\n\t\t\t\t\t\t\t\t\tmoduleId: moduleId,\n\t\t\t\t\t\t\t\t\terror: err2,\n\t\t\t\t\t\t\t\t\toriginalError: err\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!options.ignoreErrored) {\n\t\t\t\t\t\t\t\treportError(err2);\n\t\t\t\t\t\t\t\treportError(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (options.onErrored) {\n\t\t\t\t\t\t\toptions.onErrored({\n\t\t\t\t\t\t\t\ttype: \"self-accept-errored\",\n\t\t\t\t\t\t\t\tmoduleId: moduleId,\n\t\t\t\t\t\t\t\terror: err\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!options.ignoreErrored) {\n\t\t\t\t\t\t\treportError(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn outdatedModules;\n\t\t}\n\t};\n}\n__webpack_require__.hmrI.jsonp = function (moduleId, applyHandlers) {\n\tif (!currentUpdate) {\n\t\tcurrentUpdate = {};\n\t\tcurrentUpdateRuntime = [];\n\t\tcurrentUpdateRemovedChunks = [];\n\t\tapplyHandlers.push(applyHandler);\n\t}\n\tif (!__webpack_require__.o(currentUpdate, moduleId)) {\n\t\tcurrentUpdate[moduleId] = __webpack_require__.m[moduleId];\n\t}\n};\n__webpack_require__.hmrC.jsonp = function (\n\tchunkIds,\n\tremovedChunks,\n\tremovedModules,\n\tpromises,\n\tapplyHandlers,\n\tupdatedModulesList\n) {\n\tapplyHandlers.push(applyHandler);\n\tcurrentUpdateChunks = {};\n\tcurrentUpdateRemovedChunks = removedChunks;\n\tcurrentUpdate = removedModules.reduce(function (obj, key) {\n\t\tobj[key] = false;\n\t\treturn obj;\n\t}, {});\n\tcurrentUpdateRuntime = [];\n\tchunkIds.forEach(function (chunkId) {\n\t\tif (\n\t\t\t__webpack_require__.o(installedChunks, chunkId) &&\n\t\t\tinstalledChunks[chunkId] !== undefined\n\t\t) {\n\t\t\tpromises.push(loadUpdateChunk(chunkId, updatedModulesList));\n\t\t\tcurrentUpdateChunks[chunkId] = true;\n\t\t} else {\n\t\t\tcurrentUpdateChunks[chunkId] = false;\n\t\t}\n\t});\n\tif (__webpack_require__.f) {\n\t\t__webpack_require__.f.jsonpHmr = function (chunkId, promises) {\n\t\t\tif (\n\t\t\t\tcurrentUpdateChunks &&\n\t\t\t\t__webpack_require__.o(currentUpdateChunks, chunkId) &&\n\t\t\t\t!currentUpdateChunks[chunkId]\n\t\t\t) {\n\t\t\t\tpromises.push(loadUpdateChunk(chunkId));\n\t\t\t\tcurrentUpdateChunks[chunkId] = true;\n\t\t\t}\n\t\t};\n\t}\n};\n\n__webpack_require__.hmrM = () => {\n\tif (typeof fetch === \"undefined\") throw new Error(\"No browser support: need fetch API\");\n\treturn fetch(__webpack_require__.p + __webpack_require__.hmrF()).then((response) => {\n\t\tif(response.status === 404) return; // no update available\n\t\tif(!response.ok) throw new Error(\"Failed to fetch update manifest \" + response.statusText);\n\t\treturn response.json();\n\t});\n};\n\n// no on chunks loaded\n\n// no jsonp function","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nvar __webpack_exports__ = __webpack_require__(251);\n"],"names":["inProgress","dataWebpackPrefix","Pqp","_classCallCheck","key","value","xValue","level","colors","console","isNullOrEmpty","length","log","a","String","Number","Array","undefined","name","match","RegExp","exec","window","location","search","decodeURIComponent","replace","o","j","x","i","parseInt","Math","random","max","min","floor","nProb","nSpace","nProd","range","nMin","nMax","rangeInt","str","fnd","repl","safeReplace","input","sep","sepdec","num","minus","out","dotPos","split","dotU","dotD","commaFlag","substring","mCf","nSomma","nConta","cCifra","nPuntatore","nNp","nNd","nCf1","aNumLet","aNumeri1","aNumeri2","push","charAt","_ascan","_parteInt","nNumero","aTmp","lTrovato","sString","sCode","sTmp","charCodeAt","sChar","_removeZero","substr","fromCharCode","nQuanti","n","s","s1","toUpperCase","_soloCharNumber","sControllo","_carCon","sRet","c","uEncode8","uDecode8","k","ret","toString","u","dt","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","email","test","rep","replaceWith","sb","found","sLen","rLen","lMoltiBr","chars","lBarraEnne","lHodor","lorem","lUid","lNoPunteggiatura","lTitle","lEmail","consonanti","doppie","mediane","iniziali","vocali","nomi","cognomi","punteggiatura","chiusura","domini","_typeof","oTmp","lName","rnd","shuffle","isNumber","trace","lNoBr","frase","len","stepNome","lastUno","contaDoppie","lPrimo","ln","lastVocale","word","lOk","check","indexOf","lCondExit","cc","nextPun","lastPunto","lBr","lVirg","finale","tot","jQuery","trim","toLowerCase","tmp","cnt","uid","r","diacriticsMap","defaultDiacriticsRemovalap","letters","base","newStr","mobile","navigator","userAgent","platform","maxTouchPoints","lIpaddone","isMobile","innerHeight","innerWidth","Lng","id","data","TheApp","Res","Env","Locale","_len","arguments","rest","_key","applyValues","parms","Globals","App","e","BaseUrl","isObject","obj","constructor","Object","extend","target","src","keys","forEach","API_KEY","SHOW_TRACKING_DATA","SERVICE_MANAGER_SHOW_CALLS","ssrDocument","body","addEventListener","removeEventListener","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","createElement","children","childNodes","style","setAttribute","getElementsByTagName","createElementNS","importNode","hash","host","hostname","href","origin","pathname","protocol","getDocument","doc","document","ssrWindow","history","replaceState","pushState","go","back","CustomEvent","this","getComputedStyle","getPropertyValue","Image","Date","screen","setTimeout","clearTimeout","matchMedia","requestAnimationFrame","callback","cancelAnimationFrame","win","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","_construct","Parent","args","Class","Reflect","construct","sham","Proxy","prototype","call","_isNativeReflectConstruct","apply","instance","Function","bind","_wrapNativeSuper","_cache","Map","fn","TypeError","has","get","set","Wrapper","create","enumerable","writable","configurable","Dom7","_Array","subClass","superClass","items","_this","proto","self","ReferenceError","_assertThisInitialized","concat","defineProperty","arrayFlat","arr","res","el","isArray","arrayFilter","filter","selector","context","html","toCreate","tempParent","innerHTML","qsa","nodeType","uniqueArray","arrayUnique","noTrigger","shortcut","trigger","on","Methods","addClass","classes","classNames","map","_el$classList","classList","add","removeClass","_len2","_key2","_el$classList2","remove","hasClass","_len4","_key4","className","contains","toggleClass","_len3","_key3","toggle","attr","attrs","getAttribute","attrName","removeAttr","removeAttribute","transform","transition","duration","transitionDuration","_len5","_key5","eventType","targetSelector","listener","capture","handleLiveEvent","eventData","dom7EventData","unshift","is","_parents","parents","handleEvent","events","_event","dom7LiveListeners","proxyListener","event","dom7Listeners","off","_len6","_key6","handlers","handler","dom7proxy","splice","_len9","_key9","evt","detail","bubbles","cancelable","dataIndex","dispatchEvent","transitionEnd","dom","fireCallBack","outerWidth","includeMargins","_styles","styles","offsetWidth","parseFloat","outerHeight","_styles2","offsetHeight","offset","box","getBoundingClientRect","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","css","props","_prop","each","index","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","nextEls","_next","prev","previousElementSibling","prevAll","prevEls","_prev","parent","parentNode","_parent","closest","find","foundElements","removeChild","methodName","nextTick","delay","now","getTranslate","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","WebKitCSSMatrix","webkitTransform","join","MozTransform","OTransform","MsTransform","msTransform","m41","m42","slice","node","to","noExtend","nextSource","HTMLElement","keysArray","nextIndex","nextKey","desc","getOwnPropertyDescriptor","__swiper__","bindModuleMethods","subKey","classesToSelector","createElementIfNotDefined","$container","params","createElements","checkProps","auto","element","support","device","browser","getSupport","touch","DocumentTouch","pointerEvents","PointerEvent","observer","passiveListener","supportsPassive","opts","gestures","calcSupport","swiper","resize","createObserver","destroyed","initialized","ResizeObserver","entries","width","height","newWidth","newHeight","_ref","contentBoxSize","contentRect","inlineSize","blockSize","resizeHandler","observe","removeObserver","unobserve","emit","orientationChangeHandler","init","resizeObserver","destroy","_extends","assign","source","hasOwnProperty","Observer","attach","options","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observers","observeParents","containerParents","$el","observeSlideChildren","$wrapperEl","disconnect","priority","method","eventsListeners","once","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventHandler","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","isNaN","size","updateSlides","getDirectionLabel","property","getDirectionPropertyValue","label","swiperSize","rtl","rtlTranslate","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","slidesNumberEvenToRows","slideSize","virtualSize","marginLeft","marginBottom","marginTop","marginRight","slidesPerColumn","ceil","slidesPerView","slidesPerColumnFill","newSlidesGrid","_$wrapperEl$css","_$wrapperEl$css2","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","column","row","slidesPerGroup","groupIndex","slideIndexInGroup","columnsInGroup","order","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","_slide$","swiperSlideSize","centeredSlides","abs","slidesPerGroupSkip","effect","setWrapperSize","_i","slidesGridItem","_i2","_slidesGridItem","_slides$filter$css","_","slideIndex","cssMode","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","_allSlidesSize","allSlidesOffset","snapIndex","watchOverflow","checkOverflow","watchSlidesProgress","watchSlidesVisibility","updateSlidesOffset","updateAutoHeight","speed","activeSlides","setTransition","getSlideByIndex","visibleSlides","activeIndex","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","translate","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideProgress","minTranslate","autoHeight","slideBefore","slideAfter","progress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","updateSlidesClasses","activeSlide","realIndex","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","loop","slideDuplicateClass","nextSlide","prevSlide","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","skip","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","slideTo","runCallbacks","internal","initial","Error","indexAsNumber","isFinite","wrapperEl","animating","preventInteractionOnTransition","initialSlide","direction","normalizedTranslate","normalizedGird","normalizedGridNext","allowSlideNext","allowSlidePrev","setTranslate","transitionStart","_wrapperEl$scrollTo","isH","t","scrollWidth","scrollTo","behavior","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","loopedSlides","slideNext","increment","loopPreventsSlide","loopFix","_clientLeft","slidePrev","normalize","val","prevIndex","normalizedSnapGrid","prevSnap","slideReset","slideToClosest","threshold","currentSnap","slidesPerViewDynamic","slideToIndex","loopCreate","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","prependSlides","appendSlides","cloneNode","diff","loopDestroy","onTouchStart","touchEventsData","touches","originalEvent","$targetEl","touchEventsTarget","isTouchEvent","type","which","button","isTouched","isMoved","noSwipingClass","shadowRoot","path","noSwipingSelector","isTargetShadow","noSwiping","__closestFrom","assignedSlot","getRootNode","closestElement","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","preventDefault","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","touchAngle","diffX","diffY","sqrt","pow","atan2","PI","touchMoveStopPropagation","nested","stopPropagation","startTranslate","allowMomentumBounce","grabCursor","setGrabCursor","touchRatio","currentTranslate","disableParentSwiper","resistanceRatio","resistance","followFinger","freeMode","velocities","position","time","onTouchEnd","currentPos","touchEndTime","timeDiff","lastClickTime","freeModeMomentum","lastMoveEvent","pop","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","freeModeMomentumBounceRatio","freeModeMomentumBounce","freeModeSticky","moveDistance","currentSlideSize","longSwipesMs","stopIndex","groupSize","_increment","ratio","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","onResize","breakpoints","setBreakpoint","autoplay","running","paused","run","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","previousTranslate","dummyEventAttached","dummyEventListener","attachEvents","touchEvents","start","move","end","passiveListeners","passive","cancel","simulateTouch","ios","android","updateOnWindowResize","detachEvents","addClasses","prefix","resultClasses","suffixes","containerModifierClass","item","emitContainerClasses","removeClasses","url","virtualTranslate","breakpointsBase","uniqueNavElements","preloadImages","updateOnImagesReady","wrapperClass","_emitClasses","descriptor","prototypes","modular","useParams","instanceParams","modules","moduleName","module","useModules","modulesParams","moduleParams","moduleEventName","eventsEmitter","update","byController","y","translateTo","translateBounds","newTranslate","onTranslateToWrapperTransitionEnd","dir","moving","isLocked","cursor","unsetGrabCursor","manipulation","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","_swiper$loopedSlides","breakpoint","getBreakpoint","currentBreakpoint","breakpointOnlyParams","param","paramValue","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","directionChanged","needsReLoop","changeDirection","isEnabled","disable","enable","containerEl","currentHeight","points","point","minRatio","sort","b","_points$i","wasLocked","lastSlidePosition","images","loadImage","imageEl","srcset","sizes","checkForComplete","image","onReady","complete","onload","onerror","imagesLoaded","imagesToLoad","currentSrc","extendedDefaults","Swiper","swipers","newParams","overrides","_temp","ua","screenWidth","screenHeight","ipad","ipod","iphone","windows","macos","os","calcDevice","isEdge","isSafari","isWebView","calcBrowser","moduleParamName","desktop","swiperParams","defaults","passedParams","eventName","$","touchEventsTouch","touchEventsDesktop","clickTimeout","Constructor","staticProps","_proto","setProgress","current","getSlideClasses","slideEl","updates","spv","breakLoop","translateValue","newDirection","needUpdate","currentDirection","mount","mounted","getWrapperSelector","getWrapper","wrapper","deleteInstance","cleanStyles","object","extendDefaults","newDefaults","installModule","use","m","prototypeGroup","protoMethod","Virtual","force","_swiper$params","_swiper$params$virtua","addSlidesBefore","addSlidesAfter","_swiper$virtual","previousFrom","from","previousTo","previousSlidesGrid","renderSlide","previousOffset","offsetProp","slidesAfter","slidesBefore","onRendered","lazy","load","renderExternal","slidesToRender","renderExternalUpdate","prependIndexes","appendIndexes","cache","$slideEl","numberOfNewSlides","newCache","cachedIndex","$cachedEl","cachedElIndex","beforeInit","overwriteParams","Keyboard","handle","kc","keyCode","charCode","pageUpDown","keyboard","isPageUp","isPageDown","isArrowLeft","isArrowRight","isArrowUp","isArrowDown","shiftKey","altKey","ctrlKey","metaKey","onlyInViewport","inView","swiperWidth","swiperHeight","windowWidth","windowHeight","swiperOffset","swiperCoord","returnValue","Mousewheel","lastScrollTime","lastEventBeforeSnap","recentWheelEvents","isSupported","implementation","hasFeature","isEventSupported","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","handleMouseEnter","mouseEntered","handleMouseLeave","mousewheel","eventsTarget","releaseOnEdges","delta","rtlFactor","forceToAxis","invert","positions","sensitivity","_newEvent","sign","ignoreWheelEvents","timeout","_recentWheelEvents","shift","_prevEvent","firstEvent","snapToThreshold","autoplayDisableOnInteraction","stop","newEvent","raw","prevEvent","animateSlider","releaseScroll","thresholdDelta","thresholdTime","getTime","Navigation","toggleEl","disabled","disabledClass","tagName","_swiper$navigation","$nextEl","$prevEl","lockClass","onPrevClick","onNextClick","_swiper$navigation2","Pagination","pagination","total","paginationType","bullets","firstIndex","lastIndex","midIndex","dynamicBullets","bulletSize","dynamicMainBullets","dynamicBulletIndex","bulletActiveClass","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","currentClass","formatFractionCurrent","totalClass","formatFractionTotal","progressbarDirection","progressbarOpposite","scale","scaleX","scaleY","progressbarFillClass","renderCustom","render","paginationHTML","numberOfBullets","renderBullet","bulletClass","bulletElement","renderFraction","renderProgressbar","clickable","clickableClass","modifierClass","progressbarOppositeClass","hiddenClass","Scrollbar","scrollbar","dragSize","trackSize","$dragEl","newSize","newPos","hide","opacity","divider","moveDivider","display","getPointerPosition","clientX","clientY","setDragPosition","positionRatio","dragStartPos","onDragStart","dragTimeout","onDragMove","onDragEnd","snapOnRelease","enableDraggable","activeListener","disableDraggable","$swiperEl","dragClass","dragEl","draggable","Parallax","setTransform","currentOpacity","currentScale","parallax","parallaxEl","$parallaxEl","parallaxDuration","Zoom","getDistanceBetweenTouches","x1","y1","x2","y2","onGestureStart","zoom","gesture","fakeGestureTouched","fakeGestureMoved","scaleStart","$imageEl","$imageWrapEl","containerClass","maxRatio","isScaling","onGestureChange","scaleMove","onGestureEnd","touchesStart","slideWidth","slideHeight","scaledWidth","scaledHeight","minX","maxX","minY","maxY","touchesCurrent","prevPositionX","prevPositionY","prevTime","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","onTransitionEnd","in","touchX","touchY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","zoomedSlideClass","toggleGestures","slideSelector","enableGestures","gesturesEnabled","disableGestures","activeListenerWithCapture","Lazy","loadInSlide","loadInDuplicate","$images","elementClass","loadedClass","loadingClass","background","$pictureEl","sourceEl","$source","preloaderClass","slideOriginalIndex","originalSlide","duplicatedSlide","slideExist","initialImageLoaded","loadPrevNext","loadPrevNextAmount","amount","maxIndex","minIndex","checkInViewOnLoad","$scrollElement","scrollingElement","isWindow","scrollElementWidth","scrollElementHeight","scrollHandlerAttached","Controller","LinearSpline","guess","i1","i3","interpolate","array","binarySearch","getInterpolateFunction","controller","spline","_setTranslate","controlledTranslate","controlled","control","setControlledTranslate","by","inverse","setControlledTransition","A11y","getRandomNumber","repeat","round","makeElFocusable","makeElNotFocusable","addElRole","role","addElRoleDescription","description","addElControls","controls","addElLabel","addElId","addElLive","live","disableEl","enableEl","onEnterOrSpaceKey","a11y","notify","lastSlideMessage","nextSlideMessage","firstSlideMessage","prevSlideMessage","click","message","notification","liveRegion","updateNavigation","updatePagination","bulletEl","$bulletEl","paginationBulletMessage","$containerEl","containerRoleDescriptionMessage","containerMessage","wrapperId","itemRoleDescriptionMessage","slideRole","ariaLabelMessage","slideLabelMessage","History","hashNavigation","paths","getPathValues","scrollToSlide","setHistoryPopState","urlOverride","pathArray","URL","part","setHistory","slugify","root","includes","currentState","state","HashNavigation","onHashChange","newHash","setHash","watchState","Autoplay","$activeSlideEl","autoplayResult","reverseDirection","stopOnLastSlide","pause","waitForTransition","onVisibilityChange","visibilityState","onMouseEnter","disableOnInteraction","onMouseLeave","attachMouseEvents","pauseOnMouseEnter","detachMouseEvents","Fade","tx","ty","slideOpacity","fadeEffect","crossFade","eventTriggered","triggerEvents","Cube","$cubeShadowEl","cubeEffect","wrapperRotate","shadow","slideAngle","tz","slideShadows","shadowBefore","shadowAfter","shadowOffset","shadowScale","shadowAngle","sin","cos","scale1","scale2","zFactor","Flip","flipEffect","limitRotation","rotateY","rotateX","zIndex","Coverflow","coverflowEffect","center","rotate","depth","offsetMultiplier","modifier","translateZ","stretch","slideTransform","$shadowBeforeEl","$shadowAfterEl","Thumbs","thumbsParams","thumbs","SwiperClass","swiperCreated","thumbsContainerClass","onThumbClick","thumbsSwiper","slideThumbActiveClass","currentIndex","autoScrollOffset","useOffset","newThumbsIndex","currentThumbsIndex","prevThumbsIndex","nextThumbsIndex","thumbsToActivate","thumbActiveClass","multipleActiveThumbs","components","hideOnClick","toEdge","fromEdge","_swiper$navigation3","_swiper$navigation4","targetEl","isHidden","number","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","touchStart","touchEnd","doubleTap","slideChange","checkInView","loadOnTransitionStart","scroll","notificationClass","afterInit","paginationUpdate","beforeTransitionStart","sliderFirstMove","beforeDestroy","PageCommon","flag","show","mc","lFlag","$data","metaInfo","Title","Url","title","maxWidthMobile","initModalBCorp","btn","modal","fadeIn","fadeOut","evenTyepe","ev","Event","payload","page","TheDisp","_normalizza_track_prop","category","additional","event_category","event_label","gtag","Header","EVENT_OPEN_LOGIN","showLogin","EVENT_OPEN_LOGOUT","showTestIndirizzo","initer","template","cls","LoginPanel","closeButton","LayersSize","NONE","loginEventsHandler","PanelWindow","additionalData","action","showRecuperaPassword","showRegistrazioneLight","l","buttons","logoutEventsHandler","ConfirmWindow","doLogout","showPreloader","thatServiceManeger","standardCall","ForceClearPrincipal","doLogoutFeedback","RecuperaPasswordStep0Panel","CambiaPasswordPanel","UserName","Helper","getUserName","RegistrazioneLightPanel","registrazioneLightEventsHandler","TestIndirizzoPanel","links","getElementsByClassName","colours","randomColour","color","$this","tg","jsSocials","showCount","showLabel","shares","share","logo","headerHeight","secondLevels","subitem","submenu","currentTarget","submenuRect","gridTemplateColumns","bottom","focus","onSearch_q","bPress","_step","isValid","_iterator","_createForOfIteratorHelper","done","err","f","submit","ServiceManagerRoutes","_createClass","DUMMY_CALL","HELLO","USER_DO_LOGIN","ServiceManager","apiRoute","rq","_executeStandardCall","contentType","startsWith","_customPipeLine","headers","access_token","CurrentContext","userSession","Bearer","lng","wsUrl","app","jsApiKey","api_key","JSON","stringify","toSend","dataType","proxy","_handlerStandardCall","ajax","ajaxResponse","rs","StatusCode","Message","Success","responseJSON","status","step","SetAsPrincipal","Session","IsAuthenticated","EV_USERSESSION_UPDATE","authToken","PwdTemp","thatServiceManager","Appear","_PageCommon","_inherits","_super","objects","inAnimations","_this2","_get","setupElements","scrolls","refHeight","animateElements","resetCover","animatePageChange","drag","TweenMax","yoyo","animation","play","_this3","_this3$getAbsPosition","getAbsPosition","dataset","offsettop","inAnimation","getTweensOf","_item$dataset$movedur","movex","movey","moveduration","movedelay","_item$dataset$movedur2","_item$dataset$movedur3","_item$dataset$movedur4","moveoutx","moveouty","_item$dataset$movedur5","_item$dataset$movedur6","_this4","animate","outAnimation","kill","pageChange","_this5","eventCallback","shakeDrag","rect","PageGeneric","dispatchInitEvent","EV_PAGETHIS_INITED","bindEvents","setPlugins","colorlink","setupMenu","appear","handleDownload","DragControl","container","dragItem","active","initialX","initialY","xOffset","yOffset","dragStart","dragEnd","reset","disposeEvents","BlogPreview","blogPreview","imagesList","imagesWrapper","textsList","textsWrapper","imagesArray","textsArray","goNext","goPrev","firstImage","span","updateBullets","PageDefault","dragControl","resetElements","autoKill","ease","Cubic","easeInOut","ex","PageAroundTheBlog","slideDown","PageProductList","filterNames","setup","bPaintMenu","StateManager","_splitUrl","query","qPart","_mergeUrl","prop","_step2","tmplate","_iterator2","active_filters","clone","Name","Value","Label","_step3","_iterator3","brand_options_list","_step4","_iterator4","paesi_options_list","onResetFilterAll","onResetFilter","onChangeCheck","_step5","_iterator5","makeTheCall","idx","checked","resetAnimations","onCallHandler","showResults","NeutralTitle","Paesi","renderResults","resultsList","result","_rs$MacroCategoria","_rs$MacroCategoria2","accordionFilter","Uid","country","countryElement","countryWrapper","MacroCategoria","countryFocusElement","DescriptionShort","Description","countryBody","Brands","brand","counter","marker","brandElement","PageUrl","swiperWrapper","Articles","product","swiperElement","ImageUrl","alt","SubLabelToTitleCase","PageSearch","PageIntro","cookie","expires","BaseUrlNls","open","_unused","error","FactoryManager","PageHome","normalizeUrl","srcByModuleId","noDocument","noop","updateCss","isUrlRequest","isLoaded","visited","newEl","nextSibling","reloadAll","elements","exports","moduleId","getScriptSrc","currentScript","scripts","lastScriptTag","fileMap","splitResult","filename","mapRule","reg","getCurrentScriptUrl","reloaded","loaded","some","getReloadUrl","reloadStyle","locals","urlString","reduce","accumulator","cssReload","hot","dispose","accept","__webpack_module_cache__","__webpack_require__","cachedModule","execOptions","factory","__webpack_modules__","require","d","definition","hu","chunkId","h","miniCssF","hmrF","g","globalThis","script","needAttach","charset","nc","onScriptComplete","doneFns","head","currentChildModule","currentUpdateApplyHandlers","queuedInvalidatedModules","currentModuleData","installedModules","currentParents","registeredStatusHandlers","currentStatus","blockingPromises","blockingPromisesWaiting","setStatus","newStatus","results","Promise","all","unblock","then","list","hotCheck","applyOnUpdate","hmrM","updatedModules","hmrC","promises","internalApply","resolve","applyInvalidatedModules","hotApply","errors","Boolean","disposePromise","applyPromise","reportError","outdatedModules","hmrI","hmrD","me","_main","request","warn","createPropertyDescriptor","promise","trackBlockingPromise","createRequire","_acceptedDependencies","_acceptedErrorHandlers","_declinedDependencies","_selfAccepted","_selfDeclined","_selfInvalidated","_disposeHandlers","_requireSelf","dep","errorHandler","decline","addDisposeHandler","removeDisposeHandler","invalidate","addStatusHandler","removeStatusHandler","scriptUrl","importScripts","oldTags","newTags","applyHandler","oldTag","rel","miniCss","chunkIds","removedChunks","removedModules","applyHandlers","updatedModulesList","fullhref","existingLinkTags","dataHref","tag","existingStyleTags","findStylesheet","reject","linkTag","errorType","realHref","code","createStylesheet","as","currentUpdatedModulesList","currentUpdateChunks","currentUpdate","currentUpdateRemovedChunks","currentUpdateRuntime","installedChunks","hmrS_jsonp","waitingUpdateResolves","loadUpdateChunk","realSrc","getAffectedModuleEffects","updateModuleId","outdatedDependencies","queue","chain","queueItem","parentId","addAllToSet","jsonpHmr","appliedUpdate","warnUnexpectedRequire","newModuleFactory","abortError","doApply","doDispose","chainInfo","onDeclined","ignoreDeclined","onUnaccepted","ignoreUnaccepted","onAccepted","onDisposed","moduleOutdatedDependencies","outdatedSelfAcceptedModules","outdatedModuleId","dependency","disposeHandlers","callbacks","errorHandlers","dependenciesForCallbacks","acceptCallback","dependencyId","err2","onErrored","originalError","ignoreErrored","moreModules","runtime","jsonp","fetch","response","ok","statusText","json","__webpack_exports__"],"sourceRoot":""}