{"version":3,"sources":["TinySlider.js","Swiper.js","Slider.js","Cleanup.js","Model.js","Resize.js","Params.js","ReadMoreSpot.js","TabsComponent.js","PageHelper.js","PageNavHeader.js","JackpotInfo.js","HeroBannerFeeds.js","BalancePooler.js","Tracking.js","TableHelper.js","LiveCasinoApi.js","DealerHelper.js","Dictionary.js","GameFilters.js","GameCardModel.js","DealerModel.js","GameCardCountdown.js","BlackjackSeats.js","MiddlebandContent.js","GameCardListFilter.js","GameSpotIframeTemplate.js","GameSpotIframeHeaderWrapper.js","GameCard.js","DealerCard.js","GameCardList.js","GameSpotIframe.js","GameInformationSlider.js","DealersCarousel.js","DealerList.js","CardShuffle.js","NewsletterSignup.js","HeroLiveCasinoGames.js","LuckySpinPermissionModel.js","LuckySpinApi.js","LuckySpinSpinner.js","LuckySpinLoadingScreen.js","LottiePlayer.js","LuckySpinPermissionPopup.js","LuckySpinLobby.js","LuckySpinResult.js","LuckySpinTable.js","LuckySpinHeader.js","LuckySpin.js","FlipClock.js","AppDictionary.js","VersionSelector.js","TutorialFooter.js","TutorialNavigation.js","TutorialHero.js","TutorialSearchBar.js","TutorialFrontPage.js","TutorialAvalonPage.js","TutorialSlidePage.js","TutorialTipsSystemPage.js","TutorialSimplePage.js","Tutorial.js","EloquaForm.js"],"names":["defineDs","t","window","Ai","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","setTimeout","e","Ni","cancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","Li","n","i","arguments","a","r","length","Bi","indexOf","JSON","parse","Si","setItem","Hi","document","body","createElement","fake","documentElement","Oi","style","overflow","background","appendChild","Di","remove","offsetHeight","ki","insertRule","addRule","Ri","cssRules","rules","Ii","call","Pi","classList","contains","className","zi","add","Wi","replace","qi","hasAttribute","Fi","getAttribute","item","ji","Array","Object","prototype","toString","setAttribute","Vi","removeAttribute","Gi","push","Qi","display","Xi","Yi","getComputedStyle","Ki","charAt","toUpperCase","substr","forEach","Ji","test","toLowerCase","o","defineProperty","get","addEventListener","u","passive","Ui","_i","removeEventListener","Zi","topics","on","this","off","splice","emit","type","keys","hasOwnProperty","Element","parentNode","removeChild","$i","H","container","mode","axis","items","gutter","edgePadding","fixedWidth","autoWidth","viewportMax","slideBy","center","controls","controlsPosition","controlsText","controlsContainer","prevButton","nextButton","nav","navPosition","navContainer","navAsThumbnails","arrowKeys","speed","autoplay","autoplayPosition","autoplayTimeout","autoplayDirection","autoplayText","autoplayHoverPause","autoplayButton","autoplayButtonOutput","autoplayResetOnVisibility","animateIn","animateOut","animateNormal","animateDelay","loop","rewind","autoHeight","responsive","lazyload","lazyloadSelector","touch","mouseDrag","swipeAngle","nested","preventActionWhenRunning","preventScrollOnTouch","freezable","onInit","useLocalStorage","nonce","O","m","ENTER","SPACE","LEFT","RIGHT","navigator","userAgent","Date","localStorage","getItem","removeItem","tnsApp","y","tC","l","width","offsetWidth","g","tPL","innerHTML","Math","abs","getBoundingClientRect","left","children","D","tMQ","matchMedia","msMatchMedia","styleSheet","cssText","createTextNode","position","currentStyle","tTf","t3D","slice","insertBefore","getPropertyValue","x","tTDu","tTDe","b","tADu","tADe","s","tTE","c","tAE","f","console","warn","d","v","querySelector","nodeName","M","q","k","R","I","p","h","w","P","z","C","W","N","L","B","S","K","J","_","Z","F","T","j","V","E","A","outerHTML","G","Q","X","rn","Y","En","ge","$","tt","sn","et","nt","it","un","at","rt","floor","ot","ut","fixedWidthViewportWidth","lt","st","ct","ft","dt","vt","pt","ht","mt","yt","gt","xt","bt","wt","Ct","Mt","sheet","Tt","Et","At","Nt","ceil","min","apply","max","ln","Lt","Bt","St","_n","Ht","Ot","Dt","kt","Rt","It","en","Pt","zt","tn","Wt","qt","Ft","jt","Vt","Gt","Qt","Xt","Yt","id","tnsId","Kt","Jt","Ut","_t","Tn","Zt","$t","click","oi","keydown","pi","keyCode","we","disabled","Ce","te","ai","hi","Ae","Se","Number","Le","ri","le","He","Pe","fi","activeElement","vi","Ee","ee","mouseover","li","ze","mouseout","ui","ne","visibilitychange","hidden","qe","ie","ae","touchstart","xi","touchmove","bi","touchend","wi","touchcancel","re","mousedown","mousemove","mouseup","mouseleave","oe","ue","se","ce","fe","de","ve","pe","he","load","kn","error","Rn","me","ye","xe","be","Me","Te","We","Ne","Mi","Be","an","Oe","De","ke","Re","Ie","Xe","Fe","je","Ve","Ge","Qe","Ye","Ke","Je","Ue","$e","tabindex","createDocumentFragment","cloneNode","firstChild","fontSize","marginLeft","hn","cn","fn","dn","vn","mn","parseInt","yn","_e","Ze","Jn","ti","Zn","Ci","ei","version","getInfo","Ei","events","goTo","play","ci","pause","isOn","updateSliderHeight","Fn","refresh","destroy","ownerNode","resize","Cn","di","clearInterval","previousElementSibling","nextElementSibling","firstElementChild","rebuild","nn","innerWidth","clientWidth","right","pn","substring","querySelectorAll","src","zn","In","gn","$n","bn","wn","xn","jn","Vn","insertAdjacentHTML","Hn","Ti","Qn","Kn","An","Mn","Pn","Dn","Bn","Ln","Wn","Nn","margin","height","Sn","deleteRule","removeRule","On","parseFloat","stopPropagation","srcset","complete","qn","Gn","Xn","Yn","Un","ni","ii","target","propertyName","isNaN","setInterval","si","focus","mi","event","changedTouches","srcElement","yi","preventDefault","returnValue","gi","atan2","PI","clientX","clientY","cancelable","slideItems","navItems","hasControls","cloneCount","slideCount","slideCountNew","index","indexCached","displayIndex","navCurrentIndex","navCurrentIndexCached","pages","pagesCached","doc","blur","getElementById","createEvent","initEvent","childNodes","getElementsByTagName","location","hash","win","history","CustomEvent","Image","screen","Dom7","arr","selector","context","els","tempParent","html","trim","toCreate","match","split","nodeType","unique","uniqueArray","Class","Methods","addClass","this$1","classes","removeClass","hasClass","toggleClass","toggle","attr","attrs","value","arguments$1","attrName","removeAttr","data","key","el","dom7ElementDataStorage","dataKey","transform","elStyle","webkitTransform","transition","duration","webkitTransitionDuration","transitionDuration","assign","args","len","eventType","targetSelector","listener","capture","handleLiveEvent","eventData","dom7EventData","unshift","is","parents","handleEvent","undefined","event$1","dom7LiveListeners","proxyListener","dom7Listeners","handlers","handler","trigger","evt","detail","bubbles","filter","dataIndex","dispatchEvent","transitionEnd","callback","dom","fireCallBack","outerWidth","includeMargins","styles","outerHeight","offset","box","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","css","props","prop","each","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","prepend","next","nextAll","nextEls","prev","prevAll","prevEls","parent","closest","find","foundElements","found","toAdd","methodName","testDiv","Utils","deleteProps","obj","object","nextTick","delay","now","getTranslate","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","map","join","MozTransform","OTransform","MsTransform","msTransform","m41","m42","parseUrlQuery","url","params","param","query","urlToParse","href","paramsPart","decodeURIComponent","isObject","constructor","extend","len$1","to","nextSource","keysArray","nextIndex","nextKey","desc","getOwnPropertyDescriptor","enumerable","Support","Modernizr","DocumentTouch","pointerEvents","pointerEnabled","PointerEvent","prefixedPointerEvents","msPointerEnabled","transforms3d","csstransforms3d","flexbox","observer","passiveListener","supportsPassive","opts","gestures","SwiperClass","self","eventsListeners","eventName","staticAccessors","components","configurable","priority","method","once","onceHandler","eventHandler","isArray","useModulesParams","instanceParams","instance","modules","moduleName","module","useModules","modulesParams","moduleParams","modulePropName","moduleProp","bind","moduleEventName","create","set","use","installModule","name","proto","static","install","concat","defineProperties","update","updateSize","swiper","$el","clientHeight","isHorizontal","isVertical","size","updateSlides","$wrapperEl","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","marginTop","marginRight","marginBottom","slidesPerColumn","slidesPerView","slidesPerColumnFill","newSlidesGrid","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","column","row","order","slideStyles","currentTransform","currentWebKitTransform","roundLengths","swiperSlideSize","centeredSlides","slidesPerGroup","effect","setWrapperSize","i$1","slidesGridItem","i$2","slidesGridItem$1","centerInsufficientSlides","allSlidesSize","slideSizeValue","allSlidesOffset","snap","snapIndex","watchOverflow","checkOverflow","watchSlidesProgress","watchSlidesVisibility","updateSlidesOffset","updateAutoHeight","activeSlides","newHeight","setTransition","activeIndex","swiperSlideOffset","offsetLeft","offsetTop","updateSlidesProgress","translate","offsetCenter","slideVisibleClass","visibleSlidesIndexes","visibleSlides","slideProgress","minTranslate","slideBefore","slideAfter","progress","updateProgress","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","updateSlidesClasses","activeSlide","realIndex","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","slideDuplicateClass","nextSlide","prevSlide","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","virtualTranslate","currentTranslate","setTranslate","byController","previousTranslate","transition$1","transitionStart","runCallbacks","direction","dir","animating","slideTo","internal","slideIndex","preventInteractionOnTransition","initialSlide","initialized","allowSlideNext","allowSlidePrev","onSlideToWrapperTransitionEnd","destroyed","slideToLoop","newIndex","loopedSlides","slideNext","loopFix","_clientLeft","slidePrev","normalize","val","prevIndex","normalizedTranslate","normalizedSnapGrid","prevSnap","slideReset","slideToClosest","currentSnap","slidesPerViewDynamic","slideToIndex","loopCreate","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","prependSlides","appendSlides","diff","loopDestroy","grabCursor","setGrabCursor","moving","simulateTouch","isLocked","cursor","unsetGrabCursor","manipulation","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","Device","ua","device","ios","android","androidChrome","desktop","windows","iphone","ipod","ipad","cordova","phonegap","os","osVersion","webView","osVersionArr","metaViewport","minimalUi","pixelRatio","devicePixelRatio","onTouchStart","touchEventsData","touches","originalEvent","isTouchEvent","which","button","isTouched","isMoved","noSwiping","noSwipingSelector","noSwipingClass","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","threshold","allowThresholdMove","formElements","allowTouchMove","touchStartPreventDefault","onTouchMove","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","pow","touchAngle","touchMoveStopPropagation","startTranslate","allowMomentumBounce","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","freeMode","velocities","time","onTouchEnd","currentPos","touchEndTime","timeDiff","lastClickTime","clickTimeout","freeModeMomentum","lastMoveEvent","pop","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","freeModeMomentumBounceRatio","freeModeMomentumBounce","freeModeSticky","longSwipesMs","stopIndex","groupSize","ratio","longSwipes","longSwipesRatio","shortSwipes","onResize","breakpoints","setBreakpoint","newTranslate","onClick","preventClicks","preventClicksPropagation","stopImmediatePropagation","attachEvents","touchEvents","wrapperEl","touchEventsTarget","start","passiveListeners","move","end","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakPointsParams","originalParams","needsReLoop","points","point","sort","breakpointsInverse","Browser","isIE","isEdge","isSafari","isUiWebView","defaults","init","uniqueNavElements","preloadImages","updateOnImagesReady","containerModifierClass","wrapperClass","runCallbacksOnInit","prototypes","wasLocked","navigation","addClasses","classNames","suffixes","suffix","removeClasses","images","loadImage","imageEl","sizes","checkForComplete","image","onReady","onload","onerror","imagesLoaded","imagesToLoad","currentSrc","extendedDefaults","Swiper","SwiperClass$$1","prototypeGroup","protoMethod","moduleParamName","swiperParams","passedParams","swipers","containerEl","newParams","touchEventsTouch","touchEventsDesktop","__proto__","spv","breakLoop","translateValue","deleteInstance","cleanStyles","extendDefaults","newDefaults","Device$1","Support$1","support","Browser$1","browser","Resize","resizeHandler","orientationChangeHandler","Observer","func","MutationObserver","WebkitMutationObserver","attach","options","ObserverFunc","mutations","observerUpdate","observe","attributes","childList","characterData","observers","observeParents","containerParents","disconnect","Observer$1","Virtual","force","ref","ref$1","addSlidesBefore","addSlidesAfter","ref$2","previousFrom","from","previousTo","previousSlidesGrid","renderSlide","previousOffset","offsetProp","slidesAfter","slidesBefore","onRendered","lazy","renderExternal","slidesToRender","prependIndexes","appendIndexes","cache","$slideEl","newCache","cachedIndex","Virtual$1","beforeInit","overwriteParams","Keyboard","handle","kc","charCode","shiftKey","altKey","ctrlKey","metaKey","keyboard","onlyInViewport","inView","windowWidth","windowHeight","innerHeight","swiperOffset","swiperCoord","enable","disable","Keyboard$1","Mousewheel","lastScrollTime","isSupported","element","implementation","hasFeature","isEventSupported","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaY","deltaX","deltaMode","spinX","spinY","pixelX","pixelY","handleMouseEnter","mouseEntered","handleMouseLeave","mousewheel","releaseOnEdges","delta","rtlFactor","forceToAxis","invert","sensitivity","timeout","autoplayDisableOnInteraction","stop","getTime","eventsTarged","Navigation","$nextEl","$prevEl","disabledClass","lockClass","nextEl","prevEl","Pagination","pagination","current","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","scrollbarHide","setDragPosition","positionRatio","onDragStart","dragTimeout","onDragMove","onDragEnd","snapOnRelease","enableDraggable","activeListener","disableDraggable","$swiperEl","dragClass","dragEl","draggable","Parallax","setTransform","currentOpacity","currentScale","parallax","slideEl","parallaxEl","$parallaxEl","parallaxDuration","Zoom","getDistanceBetweenTouches","x1","y1","x2","y2","onGestureStart","zoom","gesture","fakeGestureTouched","fakeGestureMoved","scaleStart","$imageEl","$imageWrapEl","containerClass","maxRatio","isScaling","onGestureChange","scaleMove","minRatio","onGestureEnd","touchesStart","slideWidth","slideHeight","scaledWidth","scaledHeight","minX","maxX","minY","maxY","touchesCurrent","prevPositionX","prevPositionY","prevTime","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","onTransitionEnd","out","in","touchX","touchY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","zoomedSlideClass","Lazy","loadInSlide","loadInDuplicate","$images","elementClass","loadedClass","loadingClass","imageIndex","preloaderClass","slideOriginalIndex","originalSlide","duplicatedSlide","slideExist","initialImageLoaded","elIndex","loadPrevNext","loadPrevNextAmount","amount","maxIndex","minIndex","Controller","LinearSpline","guess","i1","i3","binarySearch","array","interpolate","getInterpolateFunction","controller","spline","setTranslate$1","multiplier","controlledTranslate","controlled","control","setControlledTranslate","by","inverse","setControlledTransition","Controller$1","a11y","makeElFocusable","addElRole","role","addElLabel","label","disableEl","enableEl","onEnterKey","$targetEl","notify","lastSlideMessage","nextSlideMessage","firstSlideMessage","prevSlideMessage","message","notification","liveRegion","updateNavigation","updatePagination","bulletEl","$bulletEl","paginationBulletMessage","History","pushState","hashNavigation","paths","getPathValues","scrollToSlide","replaceState","setHistoryPopState","pathArray","pathname","part","setHistory","slugify","includes","currentState","state","HashNavigation","onHashCange","newHash","setHash","watchState","Autoplay","run","$activeSlideEl","reverseDirection","stopOnLastSlide","running","paused","waitForTransition","Fade","tx","ty","slideOpacity","fadeEffect","crossFade","eventTriggered","triggerEvents","Cube","$cubeShadowEl","swiperWidth","swiperHeight","cubeEffect","wrapperRotate","shadow","slideAngle","round","tz","slideShadows","shadowBefore","shadowAfter","shadowOffset","shadowScale","shadowAngle","sin","cos","scale1","scale2","zFactor","Flip","flipEffect","limitRotation","rotateY","rotateX","zIndex","Coverflow","coverflowEffect","rotate","depth","offsetMultiplier","modifier","translateZ","stretch","slideTransform","$shadowBeforeEl","$shadowAfterEl","perspectiveOrigin","Thumbs","thumbsParams","thumbs","swiperCreated","thumbsContainerClass","onThumbClick","thumbsSwiper","currentIndex","initial","newThumbsIndex","currentThumbsIndex","prevThumbsIndex","nextThumbsIndex","thumbsToActivate","thumbActiveClass","slideThumbActiveClass","hideOnClick","toEdge","fromEdge","number","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","touchStart","touchEnd","doubleTap","loadOnTransitionStart","scroll","scrollbarDragMove","notificationClass","paginationUpdate","disableOnInteraction","beforeTransitionStart","sliderFirstMove","slideChange","beforeDestroy","DOMUtils","swiperActiveClass","shouldInitialize","$element","sw","settings","ready","addSlider","timestamp","RegExp","search","Cleanup","modelName","generateId","random","construct","content","save","record","stringify","toJSON","updatedRecord","cached","json","bulk","first","second","delete","new","callbacks","updateUrlParam","paramName","paramValue","pattern","$spot","_$spot$querySelector","buttonText","$tabComponents","$tabComponent","$tabContent","$tabNavLink","$content","$title","tabId","$tabLinkTitle","ev","$link","currentTarget","parentElement","$tabElem","logDeprecated","nthIndexOf","string","subString","isNormalMode","getRootUrl","Component","route","elem","targets","targetsArray","scrollPage","$topNavigation","scrollTarget","$scrollTargetElement","scrollTopValue","scrollTo","behavior","pageIsReady","addHeaderHeightFix","view","ctrl","onclick","Storage","TimeUtils","Ensighten","_window$minimumPoolSi","_window$minimumPoolSi2","_window$minimumPoolSi3","_window$minimumPoolSi4","_window$minimumPoolSi5","aliases","lottosaturday","saturdaylotto","lottowednesday","wednesdaylotto","superpulje","jokersaturday","jokerwednesday","joker","onsdagsjoker","minimumPoolSizes","lotto","eurojackpot","vikinglotto","jokerloerdag","jokeronsdag","getByGame","poolSizeDecimalsRequested","secondPrizeRequested","shift","GameId","currentDateTime","getCurrentDateTime","gameStopDate","gamestopExceeded","poolSize","PoolSizeDecimal","PoolSizeFormatted","poolSizeSecondPrize","SecondPrizePoolSizeDecimal","SecondPrizePoolSizeFormatted","numberFormat","poolSizeDecimal","poolSizeFormatted","minimumPoolSize","minimumPoolSizeDecimal","feedValid","str","storeToCache","Promise","resolve","reject","$jackpotInfo","domData","domJson","pushJackpots","cacheData","getDynamicFeed","sitecoreEnv","pulje","iter","handleBarString","$elements","requireDs","JackpotInfo","then","formatJoker","feed","feedText","jackpotData","elementText","LoginCache","LoginController","activated","balanceUpdateTimer","visibilityListener","startBalanceUpdateTimer","balanceUpdatePooler","isLoggedIn","refreshUserData","activate","trackingMetaTag","head","trackingElementsOnPage","elementCollection","getElementsByClassName","trackingCollectionElement","ignoredEvent","promotions","creative","pushPromoClickOnPageRedirect","domElement","tracked","trackIfInView","isElementInView","pushPromoView","rect","bottom","currentElement","isElementsInView","isDanishTable","table","ApiRequest","PageHelper","baseURL","DS","Config","LIVECASINO_APIURL","storageKey","getTableInfo","localCacheTTL","origin","hostname","unwrapSuccess","response","getTablePersonalized","pathParameter","customerId","getTableRanked","getDealerInfo","getGameSession","requestUrl","gameId","assertionId","tableId","seat","game","getGameFallbackLobbySession","performHealthCheck","strategy","getUserObj","customerInfo","health","connectedToWebsocketApi","ENV","errors","catch","ignoredErr","getLastPlayedGameFromStorage","LiveCasinoApi","sortAlphabetically","dealerList","nameA","FirstName","nameB","getEnrichedDealers","sitecoreDealers","sitecoreGameTypes","knownGameTypes","tables","filteredTables","filteredGameType","lobbytable","gameType","GameTypeId","dealer","DealerId","dealerId","online","open","currentTable","onlineDealers","offlineDealers","Dictionary","TableHelper","isTableInList","list","listTable","tableid","isTableARankedTable","rankedTables","rankedTable","sortCompare","sortTablesIfTheyAreRanked","tableA","tableB","sortTablesIfClosed","isTableInFilteredGameTypes","gameTypesToFilter","sortDanishTablesFirstAndByPrice","sortMaxValue","betLimit","sortTablesByPrice","sortTablesByList","Model","Params","_options$videoSnapsho","isDanish","imageUrl","videoSnapshot","thumbnails","header","dealerImageUrl","operationHours","dealerName","Dealers","gameTypeName","gotoGame","seatNumber","getGameType","Link","Url","lobbyUrl","encodeURIComponent","description","tableInfo","betBehind","BetBehindDescription","Description","gameTypeSettings","limit","symbol","limitMinMax","playerCount","seats","seatsTaken","players","gameTypeId","gameTypes","AllGameTypes","GameTypes","TableInfo","TableId","blackjackBetbehind","log","gameTable","model","thisDate","getMillisToOpen","openTime","getDateForTimeString","startTime","serverDate","timezoneDiffMinuttes","getTimezoneOffset","splitted","setHours","setMinutes","setSeconds","milliseconds","countDown","getCompoundTimeObject","class","openInfo","hours","mins","secs","_model$options$seatsT","getOnclickFunc","ignoregotoGameFunc","maxSeats","getSeats","getSeatArray","baccaratColors","dragonTigerColors","Tr","topcardColors","topcardLetterMap","rouletteColors","tableColorResults","colorMapTable","currentResult","getLastLuckyNumber","luckyNumbers","dictionary","_options$seatsTaken","letter","mapped","results","luckyNumber","roulette","isFull","blackjack","withoutFullTables","redraw","iframeSrc","scrolling","resetWrapper","toggleIframe","wrapper","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","exitFullscreen","fullscreenElement","mozCancelFullScreen","webkitExitFullscreen","msExitFullscreen","title","GameCardModel","GameCardCountdown","BlackjackSeats","MiddlebandContent","tableHasCounter","middlebandContent","ribbon","cardInfoClicked","closeInfo","showMiddelBand","DealerModel","GameCard","Render","nodes","$dealerCard","$outerWrapper","$innerWrapper","readMoreButton","$readMoreButton","outerWrapperHeight","innerWrapperHeight","taggleState","lastClickTimeStamp","timeStamp","maxHeight","dealerFromUrlHash","scrolledToDealerInit","config","depend","GameCardListFilter","GameFilters","MithrilRedrawEverySecond","ignoreProperty","lobbyData","getServerDateTime","queryGameType","isMobile","isTabletDevice","nudgeCardPosition","NudgeCardPosition","nudgedCardReplaced","cardPositionStart","boundIntervalAdded","isTablesFilterDisplayed","rankedTablesRequest","personalTablesRequest","NumberOfCards","loadingElements","loadingElement","cardPositionEnd","findAndReplaceNudgedTable","replaceIndex","foundInPosition","tableFoundInData","reflect","promise","req","getLiveCasinoInfo","HashedId","tableInfoRequest","all","date","datestring","gameCards","personalTables","timestampLocalFormatted","SortType","cookieTable","cookieTableList","NudgedCardPositions","getHours","getMinutes","getSeconds","imageBase","imageCrossfade","preload","backgroundImage","trust","counterElement","cardObject","Title","BottomLink","Text","BalancePooler","LoginSSO","GameSpotIframeHeaderWrapper","GameSpotIframeTemplate","CrossWindowEvents","gameSessionApi","getParameter","userBalance","componentSource","tableName","initHeight","lobby","_lobby$tables","getTableName","subscribe","balance","orderId","pushPurchaseCompleted","totalPrice","price","brand","category","variant","quantity","setIframeContainerSizeOnIosMobilePortrait","iframeContainer","relay","pushProductDetail","entry","isIOSDevice","code","openLogin","cancelUrl","referrer","Slider","containers","$elem","cardConfig","Hammer","DealerHelper","dealersList","dealersLink","tablesIDsList","gamesTypes","slideDistance","slideVelocity","slideDirection","inFocusDealer","snapPoint","deltaDistance","amountOfDealers","currentCarouselItemIndex","carouselItemsInView","startPoint","endPoint","itemsInViewRange","itemsInView","slideCarouselItems","itemClassName","itemIndex","itemStylingWhileSlideing","$parent","alphaPercentage","backgroundColor","carouselInit","$carouselWrapper","hammer","velocityX","getLinkToDealerTable","dealerGameType","dealers","$itemBackground","DealerCard","setupShuffles","entries","transitionFunc","transitionDelay","unobserve","isIntersecting","isDesktop","IntersectionObserver","root","rootMargin","$permissionSpot","showSpot","CONTEXTPREFIX","requireAuthCookie","OperationSucces","PermissionAccepted","EmailPermission","$button","$text","Carousel","initCarousel","isNew","withDots","withArrows","wrapAround","notMobile","_localStorage$getItem","_this","subAnimationText","permissionText","lottieFile","confirm","successText","errorText","closeConfirmationOverlayCta","closeConfirmationOverlayDelay","hasAcceptedPermissions","hasDismissedPopup","hasPermissionsBeenLoaded","displayedCount","hasBeenDelayed","isDisplaying","hasUpdatedDisplayCount","retriggerTime","firstRevisitTriggerTime","retriggerPermission","updateLocalStorage","validUntil","setDate","getDate","nextPermissionTriggerTime","updateDisplayCount","show","permissionsNotAccepted","shouldRetriggerPermission","popupNotDismissed","startDelay","getPermissions","setPermissions","extract","xhr","status","getWinningNumber","spans","Spinner","loadingTexts","ignoreUpdateAction","loadingTimeBegin","showTextAndCta","timeoutInSeconds","headerBeforeTimeout","reload","ctaText","_ref","cssClass","count","customElements","LottiePlayer","Api","waitingForEloqua","successfullySentPermissions","permissionsSent","pushVirtualPage","onPermissionClose","clickOutsideHandler","pushGaEvent","lottieJson","onPermissionAccept","_ref2","LoadingScreen","PermissionPopup","Content","drawTime","numberCookie","getGameState","constants","getNumberColor","isLoading","registerNumber","winningNumbers","chipCount","streamLink","videoAdded","streamPlayer","isTracked","_objectSpread","streamIsRendered","video","include","Hls","loadSource","attachMedia","canPlayType","onPageRendered","ignoreElement","isInit","loginText","numberAlreadyExists","handleGameOpenCtaClick","_numberCookie","valid","_ref3","_numberCookie2","permissionModel","_numberCookie3","_numberCookie4","_numberCookie5","gameState","OPEN","CLOSED","streamOverlayText","muted","ENDED","whenClosed","whenClosedAndNoNumber","whenNumberChosen","whenClosedAndNotLoggedIn","whenOpenAndOtherNumberIsInEloqua","whenOpenAndNoNumbers","_numberCookie6","result","chosenNumbers","numbers","winningNumber","campaignSpotDOM","didPlayerWin","some","fireworksLottieJson","_ref4","campaignSpot","headerWin","headerLost","subHeaderWin","subHeaderLost","subNumberWin","subNumberLost","LoggedInOrOut","numberColorMapping","setNumberCookie","loadingScreenSettings","chipDragging","chips","chipMoveOrder","hasSubmitError","loadingScreen","showPermissionPopup","showScrollTriggerUp","showScrollTriggerDown","isDragging","shouldScrollDown","shouldScrollUp","onStepRendered","isInitialized","chipPlaceholders","tableWrapper","tableHeader","chipStartingOffset","chip","numberElement","closestChipIndex","isAllChipsPlaced","findClosestChipIndex","addToMoveOrder","snapToClosest","latestTouch","scrollUpOrDown","lastKnownScrollPosition","currentScrollPosition","scrollDownTriggerPosition","scrollUpTriggerPosition","globalFooterPosition","numberZeroIsInViewPort","globalFooterIsInViewPort","offsetBottom","scrollToCtaIfAllChipsIsPlaced","elementsFromPoint","scrollBy","numberPosition","shortestDistance","MAX_VALUE","chipPosition","exists","chipCenter","numberCenter","every","innerText","scrollIntoView","block","handleConfirmClick","subHeader","ignore","chipTextSingular","chipTextMultiple","subChipText","previousWinningNumbers","missingNumbersErrorMessage","confirmCtaText","red","black","drawTimeString","showCountdown","drawDate","toggleOverlay","timeComponent","minutes","seconds","countDownString","headerOverlay","clickedElement","rulesWrapper","winningNumbersWrapper","rulesTab","winningNumbersTab","headerContent","page","Event","LuckySpinPermissionModel","Lobby","Table","Result","ignoreRoute","permissionPopup","luckySpinSettings","closeMinutesBeforeDraw","LOCAL_STORAGE_NAME","freeze","preloadPermissions","_ref5","_asyncToGenerator","preloadEloquaNumbers","_ref6","operationSuccess","_ref7","_numberCookie7","isTodaysNumberInSitecore","drawIsClosed","drawClosesAt","expire","setMilliseconds","storageObj","numberCookieData","_numberCookie9","toDateString","loadWinningNumberInterval","_numberCookie8","res","isWinningNumberFound","Message","ignoredProperty","rootctrl","component","resizeClocks","$clock","breakPoints","dataset","parentWidth","invertColors","xlarge","large","default","small","domCounter","counter","_ul$querySelector$tex","_ul$querySelector","valUp","ul","beforeVal","valDown","_$flipper","$flipper","$jsUpActive","$jsDownActive","$jsUpBefore","$jsDownBefore","_ul$querySelectorAll","_ul$querySelectorAll2","flipClock","DOMParser","parseFromString","deadline","days","flipPlay","OutsideClick","placeHolderText","toggleSelector","property","optionsWrapper","option","deviceSelectorLabel","selectedOption","displayName","optionsList","deviceSelectorUpdate","selectOption","_ref10","footerElements","footerElement","helpLink","currentUrl","mostVisitedList","mostVisitedLabel","onscroll","cave","tutorial","safeTitle","urlPrefix","_ref11","isButtonVisible","updateSearchQuery","searchQuery","filteredTutorials","allTutorials","matchTutorialTitleWithSearchQuery","collapseCategories","textToSearch","subtitle","richText","firstOpeningParagraphTagIndex","lastClosingParagraphTagIndex","lastIndexOf","searchableRichText","elements","firstOpeningDivTagIndex","lastClosingDivTagIndex","searchableText","word","xmlns","cx","cy","oninput","placeholder","searchBarPlaceholder","TutorialFooter","Searchbar","Hero","categories","headerImage","tutorials","titleCssStyle","relatedHelpText","frontpageHeroTitle","jointList","slideTutorials","avalonTutorials","richTextTutorials","tipsSystemTutorial","nullResultHelpText","searchResultNull","latestSearches","footerSettings","categoryClickHandler","showTutorialCategories","isFiltered","_tutorial$imageFilter","_tutorial$imageFilter2","_tutorial$image$Sourc2","_tutorial$image2","_tutorial$image$Sourc","_tutorial$image","saveToLocalStorage","Source","imageFiltered","getFromLocalStorage","currentLocalStorage","reduce","acc","storage","matchRelatedTutorialsWithFilteredTutorials","filtratedTutorialsCategories","filteredTutorial","getCategoryDOM","getTutorialDOM","_tutorial$image$Sourc3","_tutorial$image3","decodeURI","getTextWithHighligt","avalonContent","onRender","_this$tutorial$conten","_this$tutorial$conten2","contentWithoutComments","activateHeader","useFullWidth","activateFooter","TinySlider","safeTutorialName","heroTitle","heroText","elementsCount","slidepageRelatedHelpTitle","relatedHelpTutorials","heroImage","actionButton","showPrevArrow","showNextArrow","isSliderActive","desktopSlider","vimeoReady","vimeoPlayers","addPlayers","iframe","player","Vimeo","Player","isPlaying","ignoredElement","itemNumber","interval","setCurrentTime","slider","steps","footerHelpText","mobileVideo","allowFullScreen","desktopVideo","Overlay","ModalDialog","consts","U","DESCRIPTION","GUARANTEE","KEY","systems","selectedSystem","selectedCombination","dropdownOpen","selectedTable","rSystemFolder","tipsSystems","system","uSystemFolder","showOverlay","popupHeader","popupText","popupImage","alt","AlternameText","buttons","firstHeader","rSystemButtonText","uSystemButtonText","subButtonsText","secondHeader","combinationKey","TutorialFrontpage","TutorialSlidepage","TutorialSimplePage","TutorialAvalonPage","TutorialTipsSystemPage","ignoredRoute","footer","accumulator","finalText","openingTags","matchAll","closingTags","searchRegexPrep","searchRegex","indexOffset","exec","closestPreviousOpeningTag","form","cta","inputFields","selectFields","_ref14","fieldValues","canSubmit","input","email","inputIsValid","checkValidity","select","selectIsValid","sendCampaignForm","_ref12","_ref13","checked","_x"],"mappings":"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","file":"region-avalon-livecasino.js","sourcesContent":["/* eslint-disable */\r\n\r\n// Documentation: https://github.com/ganlanyuan/tiny-slider\r\n\r\ndefineDs('Common/Framework/ScriptLibraries/Scripts/TinySlider', function () {\r\n \r\n return function () {\r\n var t = window;\r\n var Ai = t.requestAnimationFrame || t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || t.msRequestAnimationFrame || function (t) {\r\n return setTimeout(t, 16);\r\n };\r\n var e = window;\r\n var Ni = e.cancelAnimationFrame || e.mozCancelAnimationFrame || function (t) {\r\n clearTimeout(t);\r\n };\r\n\r\n function Li() {\r\n for (var t, e, n, i = arguments[0] || {}, a = 1, r = arguments.length; a < r; a++) if (null !== (t = arguments[a])) for (e in t) i !== (n = t[e]) && void 0 !== n && (i[e] = n);\r\n return i;\r\n }\r\n\r\n function Bi(t) {\r\n return 0 <= ['true', 'false'].indexOf(t) ? JSON.parse(t) : t;\r\n }\r\n\r\n function Si(t, e, n, i) {\r\n if (i) try {\r\n t.setItem(e, n);\r\n } catch (t) {\r\n }\r\n return n;\r\n }\r\n\r\n function Hi() {\r\n var t = document;\r\n var e = t.body;\r\n return e || ((e = t.createElement('body')).fake = !0), e;\r\n }\r\n\r\n var n = document.documentElement;\r\n\r\n function Oi(t) {\r\n var e = '';\r\n return t.fake && (e = n.style.overflow, t.style.background = '', t.style.overflow = n.style.overflow = 'hidden', n.appendChild(t)), e;\r\n }\r\n\r\n function Di(t, e) {\r\n t.fake && (t.remove(), n.style.overflow = e, n.offsetHeight);\r\n }\r\n\r\n function ki(t, e, n, i) {\r\n 'insertRule' in t ? t.insertRule(e + '{' + n + '}', i) : t.addRule(e, n, i);\r\n }\r\n\r\n function Ri(t) {\r\n return ('insertRule' in t ? t.cssRules : t.rules).length;\r\n }\r\n\r\n function Ii(t, e, n) {\r\n for (var i = 0, a = t.length; i < a; i++) e.call(n, t[i], i);\r\n }\r\n\r\n var i = 'classList' in document.createElement('_');\r\n var Pi = i ? function (t, e) {\r\n return t.classList.contains(e);\r\n } : function (t, e) {\r\n return 0 <= t.className.indexOf(e);\r\n };\r\n var zi = i ? function (t, e) {\r\n Pi(t, e) || t.classList.add(e);\r\n } : function (t, e) {\r\n Pi(t, e) || (t.className += ' ' + e);\r\n };\r\n var Wi = i ? function (t, e) {\r\n Pi(t, e) && t.classList.remove(e);\r\n } : function (t, e) {\r\n Pi(t, e) && (t.className = t.className.replace(e, ''));\r\n };\r\n\r\n function qi(t, e) {\r\n return t.hasAttribute(e);\r\n }\r\n\r\n function Fi(t, e) {\r\n return t.getAttribute(e);\r\n }\r\n\r\n function r(t) {\r\n return void 0 !== t.item;\r\n }\r\n\r\n function ji(t, e) {\r\n if (t = r(t) || t instanceof Array ? t : [t], '[object Object]' === Object.prototype.toString.call(e)) for (var n = t.length; n--;) for (var i in e) t[n].setAttribute(i, e[i]);\r\n }\r\n\r\n function Vi(t, e) {\r\n t = r(t) || t instanceof Array ? t : [t];\r\n for (var n = (e = e instanceof Array ? e : [e]).length, i = t.length; i--;) for (var a = n; a--;) t[i].removeAttribute(e[a]);\r\n }\r\n\r\n function Gi(t) {\r\n for (var e = [], n = 0, i = t.length; n < i; n++) e.push(t[n]);\r\n return e;\r\n }\r\n\r\n function Qi(t, e) {\r\n 'none' !== t.style.display && (t.style.display = 'none');\r\n }\r\n\r\n function Xi(t, e) {\r\n 'none' === t.style.display && (t.style.display = '');\r\n }\r\n\r\n function Yi(t) {\r\n return 'none' !== window.getComputedStyle(t).display;\r\n }\r\n\r\n function Ki(e) {\r\n if ('string' == typeof e) {\r\n var n = [e];\r\n var i = e.charAt(0).toUpperCase() + e.substr(1);\r\n ['Webkit', 'Moz', 'ms', 'O'].forEach(function (t) {\r\n 'ms' === t && 'transform' !== e || n.push(t + i);\r\n }), e = n;\r\n }\r\n for (var t = document.createElement('fakeelement'), a = (e.length, 0); a < e.length; a++) {\r\n var r = e[a];\r\n if (void 0 !== t.style[r]) return r;\r\n }\r\n return !1;\r\n }\r\n\r\n function Ji(t, e) {\r\n var n = !1;\r\n return /^Webkit/.test(t) ? n = 'webkit' + e + 'End' : /^O/.test(t) ? n = 'o' + e + 'End' : t && (n = e.toLowerCase() + 'end'), n;\r\n }\r\n\r\n var a = !1;\r\n try {\r\n var o = Object.defineProperty({}, 'passive', {\r\n get: function () {\r\n a = !0;\r\n }\r\n });\r\n window.addEventListener('test', null, o);\r\n } catch (t) {\r\n }\r\n var u = !!a && {passive: !0};\r\n\r\n function Ui(t, e, n) {\r\n for (var i in e) {\r\n var a = 0 <= ['touchstart', 'touchmove'].indexOf(i) && !n && u;\r\n t.addEventListener(i, e[i], a);\r\n }\r\n }\r\n\r\n function _i(t, e) {\r\n for (var n in e) {\r\n var i = 0 <= ['touchstart', 'touchmove'].indexOf(n) && u;\r\n t.removeEventListener(n, e[n], i);\r\n }\r\n }\r\n\r\n function Zi() {\r\n return {\r\n topics: {}, on: function (t, e) {\r\n this.topics[t] = this.topics[t] || [], this.topics[t].push(e);\r\n }, off: function (t, e) {\r\n if (this.topics[t]) for (var n = 0; n < this.topics[t].length; n++) if (this.topics[t][n] === e) {\r\n this.topics[t].splice(n, 1);\r\n break;\r\n }\r\n }, emit: function (e, n) {\r\n n.type = e, this.topics[e] && this.topics[e].forEach(function (t) {\r\n t(n, e);\r\n });\r\n }\r\n };\r\n }\r\n\r\n Object.keys || (Object.keys = function (t) {\r\n var e = [];\r\n for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && e.push(n);\r\n return e;\r\n }), 'remove' in Element.prototype || (Element.prototype.remove = function () {\r\n this.parentNode && this.parentNode.removeChild(this);\r\n });\r\n var $i = function (H) {\r\n H = Li({\r\n container: '.slider',\r\n mode: 'carousel',\r\n axis: 'horizontal',\r\n items: 1,\r\n gutter: 0,\r\n edgePadding: 0,\r\n fixedWidth: !1,\r\n autoWidth: !1,\r\n viewportMax: !1,\r\n slideBy: 1,\r\n center: !1,\r\n controls: !0,\r\n controlsPosition: 'top',\r\n controlsText: ['prev', 'next'],\r\n controlsContainer: !1,\r\n prevButton: !1,\r\n nextButton: !1,\r\n nav: !0,\r\n navPosition: 'top',\r\n navContainer: !1,\r\n navAsThumbnails: !1,\r\n arrowKeys: !1,\r\n speed: 300,\r\n autoplay: !1,\r\n autoplayPosition: 'top',\r\n autoplayTimeout: 5e3,\r\n autoplayDirection: 'forward',\r\n autoplayText: ['start', 'stop'],\r\n autoplayHoverPause: !1,\r\n autoplayButton: !1,\r\n autoplayButtonOutput: !0,\r\n autoplayResetOnVisibility: !0,\r\n animateIn: 'tns-fadeIn',\r\n animateOut: 'tns-fadeOut',\r\n animateNormal: 'tns-normal',\r\n animateDelay: !1,\r\n loop: !0,\r\n rewind: !1,\r\n autoHeight: !1,\r\n responsive: !1,\r\n lazyload: !1,\r\n lazyloadSelector: '.tns-lazy-img',\r\n touch: !0,\r\n mouseDrag: !1,\r\n swipeAngle: 15,\r\n nested: !1,\r\n preventActionWhenRunning: !1,\r\n preventScrollOnTouch: !1,\r\n freezable: !0,\r\n onInit: !1,\r\n useLocalStorage: !0,\r\n nonce: !1\r\n }, H || {});\r\n var O = document;\r\n var m = window;\r\n var a = {ENTER: 13, SPACE: 32, LEFT: 37, RIGHT: 39};\r\n var e = {};\r\n var n = H.useLocalStorage;\r\n if (n) {\r\n var t = navigator.userAgent;\r\n var i = new Date;\r\n try {\r\n (e = m.localStorage) ? (e.setItem(i, i), n = e.getItem(i) == i, e.removeItem(i)) : n = !1, n || (e = {});\r\n } catch (t) {\r\n n = !1;\r\n }\r\n n && (e.tnsApp && e.tnsApp !== t && ['tC', 'tPL', 'tMQ', 'tTf', 't3D', 'tTDu', 'tTDe', 'tADu', 'tADe', 'tTE', 'tAE'].forEach(function (t) {\r\n e.removeItem(t);\r\n }), localStorage.tnsApp = t);\r\n }\r\n var y = e.tC ? Bi(e.tC) : Si(e, 'tC', function () {\r\n var t = document;\r\n var e = Hi();\r\n var n = Oi(e);\r\n var i = t.createElement('div');\r\n var a = !1;\r\n e.appendChild(i);\r\n try {\r\n for (var r, o = '(10px * 10)', u = ['calc' + o, '-moz-calc' + o, '-webkit-calc' + o], l = 0; l < 3; l++) if (r = u[l], i.style.width = r, 100 === i.offsetWidth) {\r\n a = r.replace(o, '');\r\n break;\r\n }\r\n } catch (t) {\r\n }\r\n return e.fake ? Di(e, n) : i.remove(), a;\r\n }(), n);\r\n var g = e.tPL ? Bi(e.tPL) : Si(e, 'tPL', function () {\r\n var t;\r\n var e = document;\r\n var n = Hi();\r\n var i = Oi(n);\r\n var a = e.createElement('div');\r\n var r = e.createElement('div');\r\n var o = '';\r\n a.className = 'tns-t-subp2', r.className = 'tns-t-ct';\r\n for (var u = 0; u < 70; u++) o += '
';\r\n return r.innerHTML = o, a.appendChild(r), n.appendChild(a), t = Math.abs(a.getBoundingClientRect().left - r.children[67].getBoundingClientRect().left) < 2, n.fake ? Di(n, i) : a.remove(), t;\r\n }(), n);\r\n var D = e.tMQ ? Bi(e.tMQ) : Si(e, 'tMQ', function () {\r\n if (window.matchMedia || window.msMatchMedia) return !0;\r\n var t;\r\n var e = document;\r\n var n = Hi();\r\n var i = Oi(n);\r\n var a = e.createElement('div');\r\n var r = e.createElement('style');\r\n var o = '@media all and (min-width:1px){.tns-mq-test{position:absolute}}';\r\n return r.type = 'text/css', a.className = 'tns-mq-test', n.appendChild(r), n.appendChild(a), r.styleSheet ? r.styleSheet.cssText = o : r.appendChild(e.createTextNode(o)), t = window.getComputedStyle ? window.getComputedStyle(a).position : a.currentStyle.position, n.fake ? Di(n, i) : a.remove(), 'absolute' === t;\r\n }(), n);\r\n var r = e.tTf ? Bi(e.tTf) : Si(e, 'tTf', Ki('transform'), n);\r\n var o = e.t3D ? Bi(e.t3D) : Si(e, 't3D', function (t) {\r\n if (!t) return !1;\r\n if (!window.getComputedStyle) return !1;\r\n var e;\r\n var n = document;\r\n var i = Hi();\r\n var a = Oi(i);\r\n var r = n.createElement('p');\r\n var o = 9 < t.length ? '-' + t.slice(0, -9).toLowerCase() + '-' : '';\r\n return o += 'transform', i.insertBefore(r, null), r.style[t] = 'translate3d(1px,1px,1px)', e = window.getComputedStyle(r).getPropertyValue(o), i.fake ? Di(i, a) : r.remove(), void 0 !== e && 0 < e.length && 'none' !== e;\r\n }(r), n);\r\n var x = e.tTDu ? Bi(e.tTDu) : Si(e, 'tTDu', Ki('transitionDuration'), n);\r\n var u = e.tTDe ? Bi(e.tTDe) : Si(e, 'tTDe', Ki('transitionDelay'), n);\r\n var b = e.tADu ? Bi(e.tADu) : Si(e, 'tADu', Ki('animationDuration'), n);\r\n var l = e.tADe ? Bi(e.tADe) : Si(e, 'tADe', Ki('animationDelay'), n);\r\n var s = e.tTE ? Bi(e.tTE) : Si(e, 'tTE', Ji(x, 'Transition'), n);\r\n var c = e.tAE ? Bi(e.tAE) : Si(e, 'tAE', Ji(b, 'Animation'), n);\r\n var f = m.console && 'function' == typeof m.console.warn;\r\n var d = ['container', 'controlsContainer', 'prevButton', 'nextButton', 'navContainer', 'autoplayButton'];\r\n var v = {};\r\n if (d.forEach(function (t) {\r\n if ('string' == typeof H[t]) {\r\n var e = H[t];\r\n var n = O.querySelector(e);\r\n if (v[t] = e, !n || !n.nodeName) return void (f && console.warn('Can\\'t find', H[t]));\r\n H[t] = n;\r\n }\r\n }), !(H.container.children.length < 1)) {\r\n var k = H.responsive;\r\n var R = H.nested;\r\n var I = 'carousel' === H.mode;\r\n if (k) {\r\n 0 in k && (H = Li(H, k[0]), delete k[0]);\r\n var p = {};\r\n for (var h in k) {\r\n var w = k[h];\r\n w = 'number' == typeof w ? {items: w} : w, p[h] = w;\r\n }\r\n k = p, p = null;\r\n }\r\n if (I || function t(e) {\r\n for (var n in e) I || ('slideBy' === n && (e[n] = 'page'), 'edgePadding' === n && (e[n] = !1), 'autoHeight' === n && (e[n] = !1)), 'responsive' === n && t(e[n]);\r\n }(H), !I) {\r\n H.axis = 'horizontal', H.slideBy = 'page', H.edgePadding = !1;\r\n var P = H.animateIn;\r\n var z = H.animateOut;\r\n var C = H.animateDelay;\r\n var W = H.animateNormal;\r\n }\r\n var M;\r\n var q;\r\n var F = 'horizontal' === H.axis;\r\n var T = O.createElement('div');\r\n var j = O.createElement('div');\r\n var V = H.container;\r\n var E = V.parentNode;\r\n var A = V.outerHTML;\r\n var G = V.children;\r\n var Q = G.length;\r\n var X = rn();\r\n var Y = !1;\r\n k && En(), I && (V.className += ' tns-vpfix');\r\n var N;\r\n var L;\r\n var B;\r\n var S;\r\n var K;\r\n var J;\r\n var U;\r\n var _;\r\n var Z;\r\n var $ = H.autoWidth;\r\n var tt = sn('fixedWidth');\r\n var et = sn('edgePadding');\r\n var nt = sn('gutter');\r\n var it = un();\r\n var at = sn('center');\r\n var rt = $ ? 1 : Math.floor(sn('items'));\r\n var ot = sn('slideBy');\r\n var ut = H.viewportMax || H.fixedWidthViewportWidth;\r\n var lt = sn('arrowKeys');\r\n var st = sn('speed');\r\n var ct = H.rewind;\r\n var ft = !ct && H.loop;\r\n var dt = sn('autoHeight');\r\n var vt = sn('controls');\r\n var pt = sn('controlsText');\r\n var ht = sn('nav');\r\n var mt = sn('touch');\r\n var yt = sn('mouseDrag');\r\n var gt = sn('autoplay');\r\n var xt = sn('autoplayTimeout');\r\n var bt = sn('autoplayText');\r\n var wt = sn('autoplayHoverPause');\r\n var Ct = sn('autoplayResetOnVisibility');\r\n var Mt = (U = null, _ = sn('nonce'), Z = document.createElement('style'), U && Z.setAttribute('media', U), _ && Z.setAttribute('nonce', _), document.querySelector('head').appendChild(Z), Z.sheet ? Z.sheet : Z.styleSheet);\r\n var Tt = H.lazyload;\r\n var Et = H.lazyloadSelector;\r\n var At = [];\r\n var Nt = ft ? (K = function () {\r\n {\r\n if ($ || tt && !ut) return Q - 1;\r\n var t = tt ? 'fixedWidth' : 'items';\r\n var e = [];\r\n if ((tt || H[t] < Q) && e.push(H[t]), k) for (var n in k) {\r\n var i = k[n][t];\r\n i && (tt || i < Q) && e.push(i);\r\n }\r\n return e.length || e.push(0), Math.ceil(tt ? ut / Math.min.apply(null, e) : Math.max.apply(null, e));\r\n }\r\n }(), J = I ? Math.ceil((5 * K - Q) / 2) : 4 * K - Q, J = Math.max(K, J), ln('edgePadding') ? J + 1 : J) : 0;\r\n var Lt = I ? Q + 2 * Nt : Q + Nt;\r\n var Bt = !(!tt && !$ || ft);\r\n var St = tt ? _n() : null;\r\n var Ht = !I || !ft;\r\n var Ot = F ? 'left' : 'top';\r\n var Dt = '';\r\n var kt = '';\r\n var Rt = tt ? function () {\r\n return at && !ft ? Q - 1 : Math.ceil(-St / (tt + nt));\r\n } : $ ? function () {\r\n for (var t = 0; t < Lt; t++) if (N[t] >= -St) return t;\r\n } : function () {\r\n return at && I && !ft ? Q - 1 : ft || I ? Math.max(0, Lt - Math.ceil(rt)) : Lt - 1;\r\n };\r\n var It = en(sn('startIndex'));\r\n var Pt = It;\r\n var zt = (tn(), 0);\r\n var Wt = $ ? null : Rt();\r\n var qt = H.preventActionWhenRunning;\r\n var Ft = H.swipeAngle;\r\n var jt = !Ft || '?';\r\n var Vt = !1;\r\n var Gt = H.onInit;\r\n var Qt = new Zi;\r\n var Xt = ' tns-slider tns-' + H.mode;\r\n var Yt = V.id || (S = window.tnsId, window.tnsId = S ? S + 1 : 1, 'tns' + window.tnsId);\r\n var Kt = sn('disable');\r\n var Jt = !1;\r\n var Ut = H.freezable;\r\n var _t = !(!Ut || $) && Tn();\r\n var Zt = !1;\r\n var $t = {\r\n click: oi, keydown: function (t) {\r\n t = pi(t);\r\n var e = [a.LEFT, a.RIGHT].indexOf(t.keyCode);\r\n 0 <= e && (0 === e ? we.disabled || oi(t, -1) : Ce.disabled || oi(t, 1));\r\n }\r\n };\r\n var te = {\r\n click: function (t) {\r\n if (Vt) {\r\n if (qt) return;\r\n ai();\r\n }\r\n var e = hi(t = pi(t));\r\n for (; e !== Ae && !qi(e, 'data-nav');) e = e.parentNode;\r\n if (qi(e, 'data-nav')) {\r\n var n = Se = Number(Fi(e, 'data-nav'));\r\n var i = tt || $ ? n * Q / Le : n * rt;\r\n var a = le ? n : Math.min(Math.ceil(i), Q - 1);\r\n ri(a, t), He === n && (Pe && fi(), Se = -1);\r\n }\r\n }, keydown: function (t) {\r\n t = pi(t);\r\n var e = O.activeElement;\r\n if (!qi(e, 'data-nav')) return;\r\n var n = [a.LEFT, a.RIGHT, a.ENTER, a.SPACE].indexOf(t.keyCode);\r\n var i = Number(Fi(e, 'data-nav'));\r\n 0 <= n && (0 === n ? 0 < i && vi(Ee[i - 1]) : 1 === n ? i < Le - 1 && vi(Ee[i + 1]) : ri(Se = i, t));\r\n }\r\n };\r\n var ee = {\r\n mouseover: function () {\r\n Pe && (li(), ze = !0);\r\n }, mouseout: function () {\r\n ze && (ui(), ze = !1);\r\n }\r\n };\r\n var ne = {\r\n visibilitychange: function () {\r\n O.hidden ? Pe && (li(), qe = !0) : qe && (ui(), qe = !1);\r\n }\r\n };\r\n var ie = {\r\n keydown: function (t) {\r\n t = pi(t);\r\n var e = [a.LEFT, a.RIGHT].indexOf(t.keyCode);\r\n 0 <= e && oi(t, 0 === e ? -1 : 1);\r\n }\r\n };\r\n var ae = {touchstart: xi, touchmove: bi, touchend: wi, touchcancel: wi};\r\n var re = {mousedown: xi, mousemove: bi, mouseup: wi, mouseleave: wi};\r\n var oe = ln('controls');\r\n var ue = ln('nav');\r\n var le = !!$ || H.navAsThumbnails;\r\n var se = ln('autoplay');\r\n var ce = ln('touch');\r\n var fe = ln('mouseDrag');\r\n var de = 'tns-slide-active';\r\n var ve = 'tns-slide-cloned';\r\n var pe = 'tns-complete';\r\n var he = {\r\n load: function (t) {\r\n kn(hi(t));\r\n }, error: function (t) {\r\n e = hi(t), zi(e, 'failed'), Rn(e);\r\n var e;\r\n }\r\n };\r\n var me = 'force' === H.preventScrollOnTouch;\r\n if (oe) var ye;\r\n var ge;\r\n var xe = H.controlsContainer;\r\n var be = H.controlsContainer ? H.controlsContainer.outerHTML : '';\r\n var we = H.prevButton;\r\n var Ce = H.nextButton;\r\n var Me = H.prevButton ? H.prevButton.outerHTML : '';\r\n var Te = H.nextButton ? H.nextButton.outerHTML : '';\r\n if (ue) var Ee;\r\n var Ae = H.navContainer;\r\n var Ne = H.navContainer ? H.navContainer.outerHTML : '';\r\n var Le = $ ? Q : Mi();\r\n var Be = 0;\r\n var Se = -1;\r\n var He = an();\r\n var Oe = He;\r\n var De = 'tns-nav-active';\r\n var ke = 'Carousel Page ';\r\n var Re = ' (Current Slide)';\r\n if (se) var Ie;\r\n var Pe;\r\n var ze;\r\n var We;\r\n var qe;\r\n var Fe = 'forward' === H.autoplayDirection ? 1 : -1;\r\n var je = H.autoplayButton;\r\n var Ve = H.autoplayButton ? H.autoplayButton.outerHTML : '';\r\n var Ge = ['', ' animation'];\r\n if (ce || fe) var Qe;\r\n var Xe;\r\n var Ye = {};\r\n var Ke = {};\r\n var Je = !1;\r\n var Ue = F ? function (t, e) {\r\n return t.x - e.x;\r\n } : function (t, e) {\r\n return t.y - e.y;\r\n };\r\n $ || $e(Kt || _t), r && (Ot = r, Dt = 'translate', o ? (Dt += F ? '3d(' : '3d(0px, ', kt = F ? ', 0px, 0px)' : ', 0px)') : (Dt += F ? 'X(' : 'Y(', kt = ')')), I && (V.className = V.className.replace('tns-vpfix', '')), function () {\r\n ln('gutter');\r\n T.className = 'tns-outer', j.className = 'tns-inner', T.id = Yt + '-ow', j.id = Yt + '-iw', '' === V.id && (V.id = Yt);\r\n Xt += g || $ ? ' tns-subpixel' : ' tns-no-subpixel', Xt += y ? ' tns-calc' : ' tns-no-calc', $ && (Xt += ' tns-autowidth');\r\n Xt += ' tns-' + H.axis, V.className += Xt, I ? ((M = O.createElement('div')).id = Yt + '-mw', M.className = 'tns-ovh', T.appendChild(M), M.appendChild(j)) : T.appendChild(j);\r\n if (dt) {\r\n var t = M || j;\r\n t.className += ' tns-ah';\r\n }\r\n if (E.insertBefore(T, V), j.appendChild(V), Ii(G, function (t, e) {\r\n zi(t, 'tns-item'), t.id || (t.id = Yt + '-item' + e), !I && W && zi(t, W), ji(t, {\r\n 'aria-hidden': 'true',\r\n tabindex: '-1'\r\n });\r\n }), Nt) {\r\n for (var e = O.createDocumentFragment(), n = O.createDocumentFragment(), i = Nt; i--;) {\r\n var a = i % Q;\r\n var r = G[a].cloneNode(!0);\r\n if (zi(r, ve), Vi(r, 'id'), n.insertBefore(r, n.firstChild), I) {\r\n var o = G[Q - 1 - a].cloneNode(!0);\r\n zi(o, ve), Vi(o, 'id'), e.appendChild(o);\r\n }\r\n }\r\n V.insertBefore(e, V.firstChild), V.appendChild(n), G = V.children;\r\n }\r\n }(), function () {\r\n if (!I) for (var t = It, e = It + Math.min(Q, rt); t < e; t++) {\r\n var n = G[t];\r\n n.style.left = 100 * (t - It) / rt + '%', zi(n, P), Wi(n, W);\r\n }\r\n F && (g || $ ? (ki(Mt, '#' + Yt + ' > .tns-item', 'font-size:' + m.getComputedStyle(G[0]).fontSize + ';', Ri(Mt)), ki(Mt, '#' + Yt, 'font-size:0;', Ri(Mt))) : I && Ii(G, function (t, e) {\r\n var n;\r\n t.style.marginLeft = (n = e, y ? y + '(' + 100 * n + '% / ' + Lt + ')' : 100 * n / Lt + '%');\r\n }));\r\n if (D) {\r\n if (x) {\r\n var i = M && H.autoHeight ? hn(H.speed) : '';\r\n ki(Mt, '#' + Yt + '-mw', i, Ri(Mt));\r\n }\r\n i = cn(H.edgePadding, H.gutter, H.fixedWidth, H.speed, H.autoHeight), ki(Mt, '#' + Yt + '-iw', i, Ri(Mt)), I && (i = F && !$ ? 'width:' + fn(H.fixedWidth, H.gutter, H.items) + ';' : '', x && (i += hn(st)), ki(Mt, '#' + Yt, i, Ri(Mt))), i = F && !$ ? dn(H.fixedWidth, H.gutter, H.items) : '', H.gutter && (i += vn(H.gutter)), I || (x && (i += hn(st)), b && (i += mn(st))), i && ki(Mt, '#' + Yt + ' > .tns-item', i, Ri(Mt));\r\n } else {\r\n I && dt && (M.style[x] = st / 1e3 + 's'), j.style.cssText = cn(et, nt, tt, dt), I && F && !$ && (V.style.width = fn(tt, nt, rt));\r\n var i = F && !$ ? dn(tt, nt, rt) : '';\r\n nt && (i += vn(nt)), i && ki(Mt, '#' + Yt + ' > .tns-item', i, Ri(Mt));\r\n }\r\n if (k && D) for (var a in k) {\r\n a = parseInt(a);\r\n var r = k[a];\r\n var i = '';\r\n var o = '';\r\n var u = '';\r\n var l = '';\r\n var s = '';\r\n var c = $ ? null : sn('items', a);\r\n var f = sn('fixedWidth', a);\r\n var d = sn('speed', a);\r\n var v = sn('edgePadding', a);\r\n var p = sn('autoHeight', a);\r\n var h = sn('gutter', a);\r\n x && M && sn('autoHeight', a) && 'speed' in r && (o = '#' + Yt + '-mw{' + hn(d) + '}'), ('edgePadding' in r || 'gutter' in r) && (u = '#' + Yt + '-iw{' + cn(v, h, f, d, p) + '}'), I && F && !$ && ('fixedWidth' in r || 'items' in r || tt && 'gutter' in r) && (l = 'width:' + fn(f, h, c) + ';'), x && 'speed' in r && (l += hn(d)), l && (l = '#' + Yt + '{' + l + '}'), ('fixedWidth' in r || tt && 'gutter' in r || !I && 'items' in r) && (s += dn(f, h, c)), 'gutter' in r && (s += vn(h)), !I && 'speed' in r && (x && (s += hn(d)), b && (s += mn(d))), s && (s = '#' + Yt + ' > .tns-item{' + s + '}'), (i = o + u + l + s) && Mt.insertRule('@media (min-width: ' + a / 16 + 'em) {' + i + '}', Mt.cssRules.length);\r\n }\r\n }(), yn();\r\n var _e = ft ? I ? function () {\r\n var t = zt;\r\n var e = Wt;\r\n t += ot, e -= ot, et ? (t += 1, e -= 1) : tt && (it + nt) % (tt + nt) && (e -= 1), Nt && (e < It ? It -= Q : It < t && (It += Q));\r\n } : function () {\r\n if (Wt < It) for (; zt + Q <= It;) It -= Q; else if (It < zt) for (; It <= Wt - Q;) It += Q;\r\n } : function () {\r\n It = Math.max(zt, Math.min(Wt, It));\r\n };\r\n var Ze = I ? function () {\r\n var e;\r\n var n;\r\n var i;\r\n var a;\r\n var t;\r\n var r;\r\n var o;\r\n var u;\r\n var l;\r\n var s;\r\n var c;\r\n Jn(V, ''), x || !st ? (ti(), st && Yi(V) || ai()) : (e = V, n = Ot, i = Dt, a = kt, t = Zn(), r = st, o = ai, u = Math.min(r, 10), l = 0 <= t.indexOf('%') ? '%' : 'px', t = t.replace(l, ''), s = Number(e.style[n].replace(i, '').replace(a, '').replace(l, '')), c = (t - s) / r * u, setTimeout(function t() {\r\n r -= u, s += c, e.style[n] = i + s + l + a, 0 < r ? setTimeout(t, u) : o();\r\n }, u)), F || Ci();\r\n } : function () {\r\n At = [];\r\n var t = {};\r\n t[s] = t[c] = ai, _i(G[Pt], t), Ui(G[It], t), ei(Pt, P, z, !0), ei(It, W, P), s && c && st && Yi(V) || ai();\r\n };\r\n return {\r\n version: '2.9.3', getInfo: Ei, events: Qt, goTo: ri, play: function () {\r\n gt && !Pe && (ci(), We = !1);\r\n }, pause: function () {\r\n Pe && (fi(), We = !0);\r\n }, isOn: Y, updateSliderHeight: Fn, refresh: yn, destroy: function () {\r\n if (Mt.disabled = !0, Mt.ownerNode && Mt.ownerNode.remove(), _i(m, {resize: Cn}), lt && _i(O, ie), xe && _i(xe, $t), Ae && _i(Ae, te), _i(V, ee), _i(V, ne), je && _i(je, {click: di}), gt && clearInterval(Ie), I && s) {\r\n var t = {};\r\n t[s] = ai, _i(V, t);\r\n }\r\n mt && _i(V, ae), yt && _i(V, re);\r\n var r = [A, be, Me, Te, Ne, Ve];\r\n for (var e in d.forEach(function (t, e) {\r\n var n = 'container' === t ? T : H[t];\r\n if ('object' == typeof n && n) {\r\n var i = !!n.previousElementSibling && n.previousElementSibling;\r\n var a = n.parentNode;\r\n n.outerHTML = r[e], H[t] = i ? i.nextElementSibling : a.firstElementChild;\r\n }\r\n }), d = P = z = C = W = F = T = j = V = E = A = G = Q = q = X = $ = tt = et = nt = it = rt = ot = ut = lt = st = ct = ft = dt = Mt = Tt = N = At = Nt = Lt = Bt = St = Ht = Ot = Dt = kt = Rt = It = Pt = zt = Wt = Ft = jt = Vt = Gt = Qt = Xt = Yt = Kt = Jt = Ut = _t = Zt = $t = te = ee = ne = ie = ae = re = oe = ue = le = se = ce = fe = de = pe = he = L = vt = pt = xe = be = we = Ce = ye = ge = ht = Ae = Ne = Ee = Le = Be = Se = He = Oe = De = ke = Re = gt = xt = Fe = bt = wt = je = Ve = Ct = Ge = Ie = Pe = ze = We = qe = Ye = Ke = Qe = Je = Xe = Ue = mt = yt = null, this) 'rebuild' !== e && (this[e] = null);\r\n Y = !1;\r\n }, rebuild: function () {\r\n return $i(Li(H, v));\r\n }\r\n };\r\n }\r\n\r\n function $e(t) {\r\n t && (vt = ht = mt = yt = lt = gt = wt = Ct = !1);\r\n }\r\n\r\n function tn() {\r\n for (var t = I ? It - Nt : It; t < 0;) t += Q;\r\n return t % Q + 1;\r\n }\r\n\r\n function en(t) {\r\n return t = t ? Math.max(0, Math.min(ft ? Q - 1 : Q - rt, t)) : 0, I ? t + Nt : t;\r\n }\r\n\r\n function nn(t) {\r\n for (null == t && (t = It), I && (t -= Nt); t < 0;) t += Q;\r\n return Math.floor(t % Q);\r\n }\r\n\r\n function an() {\r\n var t;\r\n var e = nn();\r\n return t = le ? e : tt || $ ? Math.ceil((e + 1) * Le / Q - 1) : Math.floor(e / rt), !ft && I && It === Wt && (t = Le - 1), t;\r\n }\r\n\r\n function rn() {\r\n return m.innerWidth || O.documentElement.clientWidth || O.body.clientWidth;\r\n }\r\n\r\n function on(t) {\r\n return 'top' === t ? 'afterbegin' : 'beforeend';\r\n }\r\n\r\n function un() {\r\n var t = et ? 2 * et - nt : 0;\r\n return function t(e) {\r\n if (null != e) {\r\n var n;\r\n var i;\r\n var a = O.createElement('div');\r\n return e.appendChild(a), i = (n = a.getBoundingClientRect()).right - n.left, a.remove(), i || t(e.parentNode);\r\n }\r\n }(E) - t;\r\n }\r\n\r\n function ln(t) {\r\n if (H[t]) return !0;\r\n if (k) for (var e in k) if (k[e][t]) return !0;\r\n return !1;\r\n }\r\n\r\n function sn(t, e) {\r\n if (null == e && (e = X), 'items' === t && tt) return Math.floor((it + nt) / (tt + nt)) || 1;\r\n var n = H[t];\r\n if (k) for (var i in k) e >= parseInt(i) && t in k[i] && (n = k[i][t]);\r\n return 'slideBy' === t && 'page' === n && (n = sn('items')), I || 'slideBy' !== t && 'items' !== t || (n = Math.floor(n)), n;\r\n }\r\n\r\n function cn(t, e, n, i, a) {\r\n var r = '';\r\n if (void 0 !== t) {\r\n var o = t;\r\n e && (o -= e), r = F ? 'margin: 0 ' + o + 'px 0 ' + t + 'px;' : 'margin: ' + t + 'px 0 ' + o + 'px 0;';\r\n } else if (e && !n) {\r\n var u = '-' + e + 'px';\r\n r = 'margin: 0 ' + (F ? u + ' 0 0' : '0 ' + u + ' 0') + ';';\r\n }\r\n return !I && a && x && i && (r += hn(i)), r;\r\n }\r\n\r\n function fn(t, e, n) {\r\n return t ? (t + e) * Lt + 'px' : y ? y + '(' + 100 * Lt + '% / ' + n + ')' : 100 * Lt / n + '%';\r\n }\r\n\r\n function dn(t, e, n) {\r\n var i;\r\n if (t) i = t + e + 'px'; else {\r\n I || (n = Math.floor(n));\r\n var a = I ? Lt : n;\r\n i = y ? y + '(100% / ' + a + ')' : 100 / a + '%';\r\n }\r\n return i = 'width:' + i, 'inner' !== R ? i + ';' : i + ' !important;';\r\n }\r\n\r\n function vn(t) {\r\n var e = '';\r\n !1 !== t && (e = (F ? 'padding-' : 'margin-') + (F ? 'right' : 'bottom') + ': ' + t + 'px;');\r\n return e;\r\n }\r\n\r\n function pn(t, e) {\r\n var n = t.substring(0, t.length - e).toLowerCase();\r\n return n && (n = '-' + n + '-'), n;\r\n }\r\n\r\n function hn(t) {\r\n return pn(x, 18) + 'transition-duration:' + t / 1e3 + 's;';\r\n }\r\n\r\n function mn(t) {\r\n return pn(b, 17) + 'animation-duration:' + t / 1e3 + 's;';\r\n }\r\n\r\n function yn() {\r\n if (ln('autoHeight') || $ || !F) {\r\n var t = V.querySelectorAll('img');\r\n Ii(t, function (t) {\r\n var e = t.src;\r\n Tt || (e && e.indexOf('data:image') < 0 ? (t.src = '', Ui(t, he), zi(t, 'loading'), t.src = e) : kn(t));\r\n }), Ai(function () {\r\n zn(Gi(t), function () {\r\n L = !0;\r\n });\r\n }), ln('autoHeight') && (t = In(It, Math.min(It + rt - 1, Lt - 1))), Tt ? gn() : Ai(function () {\r\n zn(Gi(t), gn);\r\n });\r\n } else I && $n(), bn(), wn();\r\n }\r\n\r\n function gn() {\r\n if ($ && 1 < Q) {\r\n var i = ft ? It : Q - 1;\r\n !function t() {\r\n var e = G[i].getBoundingClientRect().left;\r\n var n = G[i - 1].getBoundingClientRect().right;\r\n Math.abs(e - n) <= 1 ? xn() : setTimeout(function () {\r\n t();\r\n }, 16);\r\n }();\r\n } else xn();\r\n }\r\n\r\n function xn() {\r\n F && !$ || (jn(), $ ? (St = _n(), Ut && (_t = Tn()), Wt = Rt(), $e(Kt || _t)) : Ci()), I && $n(), bn(), wn();\r\n }\r\n\r\n function bn() {\r\n if (Vn(), T.insertAdjacentHTML('afterbegin', '
slide ' + Hn() + ' of ' + Q + '
'), B = T.querySelector('.tns-liveregion .current'), se) {\r\n var t = gt ? 'stop' : 'start';\r\n je ? ji(je, {'data-action': t}) : H.autoplayButtonOutput && (T.insertAdjacentHTML(on(H.autoplayPosition), ''), je = T.querySelector('[data-action]')), je && Ui(je, {click: di}), gt && (ci(), wt && Ui(V, ee), Ct && Ui(V, ne));\r\n }\r\n if (ue) {\r\n if (Ae) ji(Ae, {'aria-label': 'Carousel Pagination'}), Ii(Ee = Ae.children, function (t, e) {\r\n ji(t, {'data-nav': e, tabindex: '-1', 'aria-label': ke + (e + 1), 'aria-controls': Yt});\r\n }); else {\r\n for (var e = '', n = le ? '' : 'style=\"display:none\"', i = 0; i < Q; i++) e += '';\r\n e = '
' + e + '
', T.insertAdjacentHTML(on(H.navPosition), e), Ae = T.querySelector('.tns-nav'), Ee = Ae.children;\r\n }\r\n if (Ti(), x) {\r\n var a = x.substring(0, x.length - 18).toLowerCase();\r\n var r = 'transition: all ' + st / 1e3 + 's';\r\n a && (r = '-' + a + '-' + r), ki(Mt, '[aria-controls^=' + Yt + '-item]', r, Ri(Mt));\r\n }\r\n ji(Ee[He], {'aria-label': ke + (He + 1) + Re}), Vi(Ee[He], 'tabindex'), zi(Ee[He], De), Ui(Ae, te);\r\n }\r\n oe && (xe || we && Ce || (T.insertAdjacentHTML(on(H.controlsPosition), '
'), xe = T.querySelector('.tns-controls')), we && Ce || (we = xe.children[0], Ce = xe.children[1]), H.controlsContainer && ji(xe, {\r\n 'aria-label': 'Carousel Navigation',\r\n tabindex: '0'\r\n }), (H.controlsContainer || H.prevButton && H.nextButton) && ji([we, Ce], {\r\n 'aria-controls': Yt,\r\n tabindex: '-1'\r\n }), (H.controlsContainer || H.prevButton && H.nextButton) && (ji(we, {'data-controls': 'prev'}), ji(Ce, {'data-controls': 'next'})), ye = Qn(we), ge = Qn(Ce), Kn(), xe ? Ui(xe, $t) : (Ui(we, $t), Ui(Ce, $t))), An();\r\n }\r\n\r\n function wn() {\r\n if (I && s) {\r\n var t = {};\r\n t[s] = ai, Ui(V, t);\r\n }\r\n mt && Ui(V, ae, H.preventScrollOnTouch), yt && Ui(V, re), lt && Ui(O, ie), 'inner' === R ? Qt.on('outerResized', function () {\r\n Mn(), Qt.emit('innerLoaded', Ei());\r\n }) : (k || tt || $ || dt || !F) && Ui(m, {resize: Cn}), dt && ('outer' === R ? Qt.on('innerLoaded', Pn) : Kt || Pn()), Dn(), Kt ? Bn() : _t && Ln(), Qt.on('indexChanged', Wn), 'inner' === R && Qt.emit('innerLoaded', Ei()), 'function' == typeof Gt && Gt(Ei()), Y = !0;\r\n }\r\n\r\n function Cn(t) {\r\n Ai(function () {\r\n Mn(pi(t));\r\n });\r\n }\r\n\r\n function Mn(t) {\r\n if (Y) {\r\n 'outer' === R && Qt.emit('outerResized', Ei(t)), X = rn();\r\n var e;\r\n var n = q;\r\n var i = !1;\r\n k && (En(), (e = n !== q) && Qt.emit('newBreakpointStart', Ei(t)));\r\n var a;\r\n var r;\r\n var o;\r\n var u;\r\n var l = rt;\r\n var s = Kt;\r\n var c = _t;\r\n var f = lt;\r\n var d = vt;\r\n var v = ht;\r\n var p = mt;\r\n var h = yt;\r\n var m = gt;\r\n var y = wt;\r\n var g = Ct;\r\n var x = It;\r\n if (e) {\r\n var b = tt;\r\n var w = dt;\r\n var C = pt;\r\n var M = at;\r\n var T = bt;\r\n if (!D) var E = nt;\r\n var A = et;\r\n }\r\n if (lt = sn('arrowKeys'), vt = sn('controls'), ht = sn('nav'), mt = sn('touch'), at = sn('center'), yt = sn('mouseDrag'), gt = sn('autoplay'), wt = sn('autoplayHoverPause'), Ct = sn('autoplayResetOnVisibility'), e && (Kt = sn('disable'), tt = sn('fixedWidth'), st = sn('speed'), dt = sn('autoHeight'), pt = sn('controlsText'), bt = sn('autoplayText'), xt = sn('autoplayTimeout'), D || (et = sn('edgePadding'), nt = sn('gutter'))), $e(Kt), it = un(), F && !$ || Kt || (jn(), F || (Ci(), i = !0)), (tt || $) && (St = _n(), Wt = Rt()), (e || tt) && (rt = sn('items'), ot = sn('slideBy'), (r = rt !== l) && (tt || $ || (Wt = Rt()), _e())), e && Kt !== s && (Kt ? Bn() : function () {\r\n if (!Jt) return;\r\n if (Mt.disabled = !1, V.className += Xt, $n(), ft) for (var t = Nt; t--;) I && Xi(G[t]), Xi(G[Lt - t - 1]);\r\n if (!I) for (var e = It, n = It + Q; e < n; e++) {\r\n var i = G[e];\r\n var a = e < It + rt ? P : W;\r\n i.style.left = 100 * (e - It) / rt + '%', zi(i, a);\r\n }\r\n Nn(), Jt = !1;\r\n }()), Ut && (e || tt || $) && (_t = Tn()) !== c && (_t ? (ti(Zn(en(0))), Ln()) : (!function () {\r\n if (!Zt) return;\r\n et && D && (j.style.margin = '');\r\n if (Nt) for (var t = 'tns-transparent', e = Nt; e--;) I && Wi(G[e], t), Wi(G[Lt - e - 1], t);\r\n Nn(), Zt = !1;\r\n }(), i = !0)), $e(Kt || _t), gt || (wt = Ct = !1), lt !== f && (lt ? Ui(O, ie) : _i(O, ie)), vt !== d && (vt ? xe ? Xi(xe) : (we && Xi(we), Ce && Xi(Ce)) : xe ? Qi(xe) : (we && Qi(we), Ce && Qi(Ce))), ht !== v && (ht ? (Xi(Ae), Ti()) : Qi(Ae)), mt !== p && (mt ? Ui(V, ae, H.preventScrollOnTouch) : _i(V, ae)), yt !== h && (yt ? Ui(V, re) : _i(V, re)), gt !== m && (gt ? (je && Xi(je), Pe || We || ci()) : (je && Qi(je), Pe && fi())), wt !== y && (wt ? Ui(V, ee) : _i(V, ee)), Ct !== g && (Ct ? Ui(O, ne) : _i(O, ne)), e) {\r\n if (tt === b && at === M || (i = !0), dt !== w && (dt || (j.style.height = '')), vt && pt !== C && (we.innerHTML = pt[0], Ce.innerHTML = pt[1]), je && bt !== T) {\r\n var N = gt ? 1 : 0;\r\n var L = je.innerHTML;\r\n var B = L.length - T[N].length;\r\n L.substring(B) === T[N] && (je.innerHTML = L.substring(0, B) + bt[N]);\r\n }\r\n } else at && (tt || $) && (i = !0);\r\n if ((r || tt && !$) && (Le = Mi(), Ti()), (a = It !== x) ? (Qt.emit('indexChanged', Ei()), i = !0) : r ? a || Wn() : (tt || $) && (Dn(), Vn(), Sn()), r && !I && function () {\r\n for (var t = It + Math.min(Q, rt), e = Lt; e--;) {\r\n var n = G[e];\r\n It <= e && e < t ? (zi(n, 'tns-moving'), n.style.left = 100 * (e - It) / rt + '%', zi(n, P), Wi(n, W)) : n.style.left && (n.style.left = '', zi(n, W), Wi(n, P)), Wi(n, z);\r\n }\r\n setTimeout(function () {\r\n Ii(G, function (t) {\r\n Wi(t, 'tns-moving');\r\n });\r\n }, 300);\r\n }(), !Kt && !_t) {\r\n if (e && !D && (et === A && nt === E || (j.style.cssText = cn(et, nt, tt, st, dt)), F)) {\r\n I && (V.style.width = fn(tt, nt, rt));\r\n var S = dn(tt, nt, rt) + vn(nt);\r\n u = Ri(o = Mt) - 1, 'deleteRule' in o ? o.deleteRule(u) : o.removeRule(u), ki(Mt, '#' + Yt + ' > .tns-item', S, Ri(Mt));\r\n }\r\n dt && Pn(), i && ($n(), Pt = It);\r\n }\r\n e && Qt.emit('newBreakpointEnd', Ei(t));\r\n }\r\n }\r\n\r\n function Tn() {\r\n if (!tt && !$) return Q <= (at ? rt - (rt - 1) / 2 : rt);\r\n var t = tt ? (tt + nt) * Q : N[Q];\r\n var e = et ? it + 2 * et : it + nt;\r\n return at && (e -= tt ? (it - tt) / 2 : (it - (N[It + 1] - N[It] - nt)) / 2), t <= e;\r\n }\r\n\r\n function En() {\r\n for (var t in q = 0, k) (t = parseInt(t)) <= X && (q = t);\r\n }\r\n\r\n function An() {\r\n !gt && je && Qi(je), !ht && Ae && Qi(Ae), vt || (xe ? Qi(xe) : (we && Qi(we), Ce && Qi(Ce)));\r\n }\r\n\r\n function Nn() {\r\n gt && je && Xi(je), ht && Ae && Xi(Ae), vt && (xe ? Xi(xe) : (we && Xi(we), Ce && Xi(Ce)));\r\n }\r\n\r\n function Ln() {\r\n if (!Zt) {\r\n if (et && (j.style.margin = '0px'), Nt) for (var t = 'tns-transparent', e = Nt; e--;) I && zi(G[e], t), zi(G[Lt - e - 1], t);\r\n An(), Zt = !0;\r\n }\r\n }\r\n\r\n function Bn() {\r\n if (!Jt) {\r\n if (Mt.disabled = !0, V.className = V.className.replace(Xt.substring(1), ''), Vi(V, ['style']), ft) for (var t = Nt; t--;) I && Qi(G[t]), Qi(G[Lt - t - 1]);\r\n if (F && I || Vi(j, ['style']), !I) for (var e = It, n = It + Q; e < n; e++) {\r\n var i = G[e];\r\n Vi(i, ['style']), Wi(i, P), Wi(i, W);\r\n }\r\n An(), Jt = !0;\r\n }\r\n }\r\n\r\n function Sn() {\r\n var t = Hn();\r\n B.innerHTML !== t && (B.innerHTML = t);\r\n }\r\n\r\n function Hn() {\r\n var t = On();\r\n var e = t[0] + 1;\r\n var n = t[1] + 1;\r\n return e === n ? e + '' : e + ' to ' + n;\r\n }\r\n\r\n function On(t) {\r\n null == t && (t = Zn());\r\n var n;\r\n var i;\r\n var a;\r\n var r = It;\r\n if (at || et ? ($ || tt) && (i = -(parseFloat(t) + et), a = i + it + 2 * et) : $ && (i = N[It], a = i + it), $) N.forEach(function (t, e) {\r\n e < Lt && ((at || et) && t <= i + .5 && (r = e), .5 <= a - t && (n = e));\r\n }); else {\r\n if (tt) {\r\n var e = tt + nt;\r\n at || et ? (r = Math.floor(i / e), n = Math.ceil(a / e - 1)) : n = r + Math.ceil(it / e) - 1;\r\n } else if (at || et) {\r\n var o = rt - 1;\r\n if (at ? (r -= o / 2, n = It + o / 2) : n = It + o, et) {\r\n var u = et * rt / it;\r\n r -= u, n += u;\r\n }\r\n r = Math.floor(r), n = Math.ceil(n);\r\n } else n = r + rt - 1;\r\n r = Math.max(r, 0), n = Math.min(n, Lt - 1);\r\n }\r\n return [r, n];\r\n }\r\n\r\n function Dn() {\r\n if (Tt && !Kt) {\r\n var t = On();\r\n t.push(Et), In.apply(null, t).forEach(function (t) {\r\n if (!Pi(t, pe)) {\r\n var e = {};\r\n e[s] = function (t) {\r\n t.stopPropagation();\r\n }, Ui(t, e), Ui(t, he), t.src = Fi(t, 'data-src');\r\n var n = Fi(t, 'data-srcset');\r\n n && (t.srcset = n), zi(t, 'loading');\r\n }\r\n });\r\n }\r\n }\r\n\r\n function kn(t) {\r\n zi(t, 'loaded'), Rn(t);\r\n }\r\n\r\n function Rn(t) {\r\n zi(t, pe), Wi(t, 'loading'), _i(t, he);\r\n }\r\n\r\n function In(t, e, n) {\r\n var i = [];\r\n for (n || (n = 'img'); t <= e;) Ii(G[t].querySelectorAll(n), function (t) {\r\n i.push(t);\r\n }), t++;\r\n return i;\r\n }\r\n\r\n function Pn() {\r\n var t = In.apply(null, On());\r\n Ai(function () {\r\n zn(t, Fn);\r\n });\r\n }\r\n\r\n function zn(n, t) {\r\n return L ? t() : (n.forEach(function (t, e) {\r\n !Tt && t.complete && Rn(t), Pi(t, pe) && n.splice(e, 1);\r\n }), n.length ? void Ai(function () {\r\n zn(n, t);\r\n }) : t());\r\n }\r\n\r\n function Wn() {\r\n Dn(), Vn(), Sn(), Kn(), function () {\r\n if (ht && (He = 0 <= Se ? Se : an(), Se = -1, He !== Oe)) {\r\n var t = Ee[Oe];\r\n var e = Ee[He];\r\n ji(t, {\r\n tabindex: '-1',\r\n 'aria-label': ke + (Oe + 1)\r\n }), Wi(t, De), ji(e, {'aria-label': ke + (He + 1) + Re}), Vi(e, 'tabindex'), zi(e, De), Oe = He;\r\n }\r\n }();\r\n }\r\n\r\n function qn(t, e) {\r\n for (var n = [], i = t, a = Math.min(t + e, Lt); i < a; i++) n.push(G[i].offsetHeight);\r\n return Math.max.apply(null, n);\r\n }\r\n\r\n function Fn() {\r\n var t = dt ? qn(It, rt) : qn(Nt, Q);\r\n var e = M || j;\r\n e.style.height !== t && (e.style.height = t + 'px');\r\n }\r\n\r\n function jn() {\r\n N = [0];\r\n var n = F ? 'left' : 'top';\r\n var i = F ? 'right' : 'bottom';\r\n var a = G[0].getBoundingClientRect()[n];\r\n Ii(G, function (t, e) {\r\n e && N.push(t.getBoundingClientRect()[n] - a), e === Lt - 1 && N.push(t.getBoundingClientRect()[i] - a);\r\n });\r\n }\r\n\r\n function Vn() {\r\n var t = On();\r\n var n = t[0];\r\n var i = t[1];\r\n Ii(G, function (t, e) {\r\n n <= e && e <= i ? qi(t, 'aria-hidden') && (Vi(t, ['aria-hidden', 'tabindex']), zi(t, de)) : qi(t, 'aria-hidden') || (ji(t, {\r\n 'aria-hidden': 'true',\r\n tabindex: '-1'\r\n }), Wi(t, de));\r\n });\r\n }\r\n\r\n function Gn(t) {\r\n return t.nodeName.toLowerCase();\r\n }\r\n\r\n function Qn(t) {\r\n return 'button' === Gn(t);\r\n }\r\n\r\n function Xn(t) {\r\n return 'true' === t.getAttribute('aria-disabled');\r\n }\r\n\r\n function Yn(t, e, n) {\r\n t ? e.disabled = n : e.setAttribute('aria-disabled', n.toString());\r\n }\r\n\r\n function Kn() {\r\n if (vt && !ct && !ft) {\r\n var t = ye ? we.disabled : Xn(we);\r\n var e = ge ? Ce.disabled : Xn(Ce);\r\n var n = It <= zt;\r\n var i = !ct && Wt <= It;\r\n n && !t && Yn(ye, we, !0), !n && t && Yn(ye, we, !1), i && !e && Yn(ge, Ce, !0), !i && e && Yn(ge, Ce, !1);\r\n }\r\n }\r\n\r\n function Jn(t, e) {\r\n x && (t.style[x] = e);\r\n }\r\n\r\n function Un(t) {\r\n return null == t && (t = It), $ ? (it - (et ? nt : 0) - (N[t + 1] - N[t] - nt)) / 2 : tt ? (it - tt) / 2 : (rt - 1) / 2;\r\n }\r\n\r\n function _n() {\r\n var t = it + (et ? nt : 0) - (tt ? (tt + nt) * Lt : N[Lt]);\r\n return at && !ft && (t = tt ? -(tt + nt) * (Lt - 1) - Un() : Un(Lt - 1) - N[Lt - 1]), 0 < t && (t = 0), t;\r\n }\r\n\r\n function Zn(t) {\r\n var e;\r\n if (null == t && (t = It), F && !$) if (tt) e = -(tt + nt) * t, at && (e += Un()); else {\r\n var n = r ? Lt : rt;\r\n at && (t -= Un()), e = 100 * -t / n;\r\n } else e = -N[t], at && $ && (e += Un());\r\n return Bt && (e = Math.max(e, St)), e += !F || $ || tt ? 'px' : '%';\r\n }\r\n\r\n function $n(t) {\r\n Jn(V, '0s'), ti(t);\r\n }\r\n\r\n function ti(t) {\r\n null == t && (t = Zn()), V.style[Ot] = Dt + t + kt;\r\n }\r\n\r\n function ei(t, e, n, i) {\r\n var a = t + rt;\r\n ft || (a = Math.min(a, Lt));\r\n for (var r = t; r < a; r++) {\r\n var o = G[r];\r\n i || (o.style.left = 100 * (r - It) / rt + '%'), C && u && (o.style[u] = o.style[l] = C * (r - t) / 1e3 + 's'), Wi(o, e), zi(o, n), i && At.push(o);\r\n }\r\n }\r\n\r\n function ni(t, e) {\r\n Ht && _e(), (It !== Pt || e) && (Qt.emit('indexChanged', Ei()), Qt.emit('transitionStart', Ei()), dt && Pn(), Pe && t && 0 <= ['click', 'keydown'].indexOf(t.type) && fi(), Vt = !0, Ze());\r\n }\r\n\r\n function ii(t) {\r\n return t.toLowerCase().replace(/-/g, '');\r\n }\r\n\r\n function ai(t) {\r\n if (I || Vt) {\r\n if (Qt.emit('transitionEnd', Ei(t)), !I && 0 < At.length) for (var e = 0; e < At.length; e++) {\r\n var n = At[e];\r\n n.style.left = '', l && u && (n.style[l] = '', n.style[u] = ''), Wi(n, z), zi(n, W);\r\n }\r\n if (!t || !I && t.target.parentNode === V || t.target === V && ii(t.propertyName) === ii(Ot)) {\r\n if (!Ht) {\r\n var i = It;\r\n _e(), It !== i && (Qt.emit('indexChanged', Ei()), $n());\r\n }\r\n 'inner' === R && Qt.emit('innerLoaded', Ei()), Vt = !1, Pt = It;\r\n }\r\n }\r\n }\r\n\r\n function ri(t, e) {\r\n if (!_t) if ('prev' === t) oi(e, -1); else if ('next' === t) oi(e, 1); else {\r\n if (Vt) {\r\n if (qt) return;\r\n ai();\r\n }\r\n var n = nn();\r\n var i = 0;\r\n if ('first' === t ? i = -n : 'last' === t ? i = I ? Q - rt - n : Q - 1 - n : ('number' != typeof t && (t = parseInt(t)), isNaN(t) || (e || (t = Math.max(0, Math.min(Q - 1, t))), i = t - n)), !I && i && Math.abs(i) < rt) {\r\n var a = 0 < i ? 1 : -1;\r\n i += zt <= It + i - Q ? Q * a : 2 * Q * a * -1;\r\n }\r\n It += i, I && ft && (It < zt && (It += Q), Wt < It && (It -= Q)), nn(It) !== nn(Pt) && ni(e);\r\n }\r\n }\r\n\r\n function oi(t, e) {\r\n if (Vt) {\r\n if (qt) return;\r\n ai();\r\n }\r\n var n;\r\n if (!e) {\r\n for (var i = hi(t = pi(t)); i !== xe && [we, Ce].indexOf(i) < 0;) i = i.parentNode;\r\n var a = [we, Ce].indexOf(i);\r\n 0 <= a && (n = !0, e = 0 === a ? -1 : 1);\r\n }\r\n if (ct) {\r\n if (It === zt && -1 === e) return void ri('last', t);\r\n if (It === Wt && 1 === e) return void ri('first', t);\r\n }\r\n e && (It += ot * e, $ && (It = Math.floor(It)), ni(n || t && 'keydown' === t.type ? t : null));\r\n }\r\n\r\n function ui() {\r\n Ie = setInterval(function () {\r\n oi(null, Fe);\r\n }, xt), Pe = !0;\r\n }\r\n\r\n function li() {\r\n clearInterval(Ie), Pe = !1;\r\n }\r\n\r\n function si(t, e) {\r\n ji(je, {'data-action': t}), je.innerHTML = Ge[0] + t + Ge[1] + e;\r\n }\r\n\r\n function ci() {\r\n ui(), je && si('stop', bt[1]);\r\n }\r\n\r\n function fi() {\r\n li(), je && si('start', bt[0]);\r\n }\r\n\r\n function di() {\r\n Pe ? (fi(), We = !0) : (ci(), We = !1);\r\n }\r\n\r\n function vi(t) {\r\n t.focus();\r\n }\r\n\r\n function pi(t) {\r\n return mi(t = t || m.event) ? t.changedTouches[0] : t;\r\n }\r\n\r\n function hi(t) {\r\n return t.target || m.event.srcElement;\r\n }\r\n\r\n function mi(t) {\r\n return 0 <= t.type.indexOf('touch');\r\n }\r\n\r\n function yi(t) {\r\n t.preventDefault ? t.preventDefault() : t.returnValue = !1;\r\n }\r\n\r\n function gi() {\r\n return a = Ke.y - Ye.y, r = Ke.x - Ye.x, t = Math.atan2(a, r) * (180 / Math.PI), e = Ft, n = !1, i = Math.abs(90 - Math.abs(t)), 90 - e <= i ? n = 'horizontal' : i <= e && (n = 'vertical'), n === H.axis;\r\n var t;\r\n var e;\r\n var n;\r\n var i;\r\n var a;\r\n var r;\r\n }\r\n\r\n function xi(t) {\r\n if (Vt) {\r\n if (qt) return;\r\n ai();\r\n }\r\n gt && Pe && li(), Je = !0, Xe && (Ni(Xe), Xe = null);\r\n var e = pi(t);\r\n Qt.emit(mi(t) ? 'touchStart' : 'dragStart', Ei(t)), !mi(t) && 0 <= ['img', 'a'].indexOf(Gn(hi(t))) && yi(t), Ke.x = Ye.x = e.clientX, Ke.y = Ye.y = e.clientY, I && (Qe = parseFloat(V.style[Ot].replace(Dt, '')), Jn(V, '0s'));\r\n }\r\n\r\n function bi(t) {\r\n if (Je) {\r\n var e = pi(t);\r\n Ke.x = e.clientX, Ke.y = e.clientY, I ? Xe || (Xe = Ai(function () {\r\n !function t(e) {\r\n if (!jt) return void (Je = !1);\r\n Ni(Xe);\r\n Je && (Xe = Ai(function () {\r\n t(e);\r\n }));\r\n '?' === jt && (jt = gi());\r\n if (jt) {\r\n !me && mi(e) && (me = !0);\r\n try {\r\n e.type && Qt.emit(mi(e) ? 'touchMove' : 'dragMove', Ei(e));\r\n } catch (t) {\r\n }\r\n var n = Qe;\r\n var i = Ue(Ke, Ye);\r\n if (!F || tt || $) n += i, n += 'px'; else {\r\n var a = r ? i * rt * 100 / ((it + nt) * Lt) : 100 * i / (it + nt);\r\n n += a, n += '%';\r\n }\r\n V.style[Ot] = Dt + n + kt;\r\n }\r\n }(t);\r\n })) : ('?' === jt && (jt = gi()), jt && (me = !0)), ('boolean' != typeof t.cancelable || t.cancelable) && me && t.preventDefault();\r\n }\r\n }\r\n\r\n function wi(i) {\r\n if (Je) {\r\n Xe && (Ni(Xe), Xe = null), I && Jn(V, ''), Je = !1;\r\n var t = pi(i);\r\n Ke.x = t.clientX, Ke.y = t.clientY;\r\n var a = Ue(Ke, Ye);\r\n if (Math.abs(a)) {\r\n if (!mi(i)) {\r\n var n = hi(i);\r\n Ui(n, {\r\n click: function t(e) {\r\n yi(e), _i(n, {click: t});\r\n }\r\n });\r\n }\r\n I ? Xe = Ai(function () {\r\n if (F && !$) {\r\n var t = -a * rt / (it + nt);\r\n t = 0 < a ? Math.floor(t) : Math.ceil(t), It += t;\r\n } else {\r\n var e = -(Qe + a);\r\n if (e <= 0) It = zt; else if (e >= N[Lt - 1]) It = Wt; else for (var n = 0; n < Lt && e >= N[n];) e > N[It = n] && a < 0 && (It += 1), n++;\r\n }\r\n ni(i, a), Qt.emit(mi(i) ? 'touchEnd' : 'dragEnd', Ei(i));\r\n }) : jt && oi(i, 0 < a ? -1 : 1);\r\n }\r\n }\r\n 'auto' === H.preventScrollOnTouch && (me = !1), Ft && (jt = '?'), gt && !Pe && ui();\r\n }\r\n\r\n function Ci() {\r\n (M || j).style.height = N[It + rt] - N[It] + 'px';\r\n }\r\n\r\n function Mi() {\r\n var t = tt ? (tt + nt) * Q / it : Q / rt;\r\n return Math.min(Math.ceil(t), Q);\r\n }\r\n\r\n function Ti() {\r\n if (ht && !le && Le !== Be) {\r\n var t = Be;\r\n var e = Le;\r\n var n = Xi;\r\n for (Le < Be && (t = Le, e = Be, n = Qi); t < e;) n(Ee[t]), t++;\r\n Be = Le;\r\n }\r\n }\r\n\r\n function Ei(t) {\r\n return {\r\n container: V,\r\n slideItems: G,\r\n navContainer: Ae,\r\n navItems: Ee,\r\n controlsContainer: xe,\r\n hasControls: oe,\r\n prevButton: we,\r\n nextButton: Ce,\r\n items: rt,\r\n slideBy: ot,\r\n cloneCount: Nt,\r\n slideCount: Q,\r\n slideCountNew: Lt,\r\n index: It,\r\n indexCached: Pt,\r\n displayIndex: tn(),\r\n navCurrentIndex: He,\r\n navCurrentIndexCached: Oe,\r\n pages: Le,\r\n pagesCached: Be,\r\n sheet: Mt,\r\n isOn: Y,\r\n event: t || {}\r\n };\r\n }\r\n\r\n f && console.warn('No slides found in', H.container);\r\n };\r\n return $i;\r\n }();\r\n});\r\n","/* eslint-disable */\r\ndefineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Libraries/Swiper', function () {\r\n\r\n 'use strict';\r\n\r\n /**\r\n * Swiper 4.4.1\r\n * Most modern mobile touch slider and framework with hardware accelerated transitions\r\n * http://www.idangero.us/swiper/\r\n *\r\n * Copyright 2014-2018 Vladimir Kharlampidi\r\n *\r\n * Released under the MIT License\r\n *\r\n * Released on: September 14, 2018\r\n */\r\n\r\n /**\r\n * SSR Window 1.0.1\r\n * Better handling for window object in SSR environment\r\n * https://github.com/nolimits4web/ssr-window\r\n *\r\n * Copyright 2018, Vladimir Kharlampidi\r\n *\r\n * Licensed under MIT\r\n *\r\n * Released on: July 18, 2018\r\n */\r\n var doc = (typeof document === 'undefined') ? {\r\n body: {},\r\n addEventListener: function addEventListener() {\r\n },\r\n removeEventListener: function removeEventListener() {\r\n },\r\n activeElement: {\r\n blur: function blur() {\r\n },\r\n nodeName: '',\r\n },\r\n querySelector: function querySelector() {\r\n return null;\r\n },\r\n querySelectorAll: function querySelectorAll() {\r\n return [];\r\n },\r\n getElementById: function getElementById() {\r\n return null;\r\n },\r\n createEvent: function createEvent() {\r\n return {\r\n initEvent: function initEvent() {\r\n },\r\n };\r\n },\r\n createElement: function createElement() {\r\n return {\r\n children: [],\r\n childNodes: [],\r\n style: {},\r\n setAttribute: function setAttribute() {\r\n },\r\n getElementsByTagName: function getElementsByTagName() {\r\n return [];\r\n },\r\n };\r\n },\r\n location: {hash: ''},\r\n } : document; // eslint-disable-line\r\n\r\n var win = (typeof window === 'undefined') ? {\r\n document: doc,\r\n navigator: {\r\n userAgent: '',\r\n },\r\n location: {},\r\n history: {},\r\n CustomEvent: function CustomEvent() {\r\n return this;\r\n },\r\n addEventListener: function addEventListener() {\r\n },\r\n removeEventListener: function removeEventListener() {\r\n },\r\n getComputedStyle: function getComputedStyle() {\r\n return {\r\n getPropertyValue: function getPropertyValue() {\r\n return '';\r\n },\r\n };\r\n },\r\n Image: function Image() {\r\n },\r\n Date: function Date() {\r\n },\r\n screen: {},\r\n setTimeout: function setTimeout() {\r\n },\r\n clearTimeout: function clearTimeout() {\r\n },\r\n } : window; // eslint-disable-line\r\n\r\n /**\r\n * Dom7 2.1.2\r\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\r\n * http://framework7.io/docs/dom.html\r\n *\r\n * Copyright 2018, Vladimir Kharlampidi\r\n * The iDangero.us\r\n * http://www.idangero.us/\r\n *\r\n * Licensed under MIT\r\n *\r\n * Released on: September 13, 2018\r\n */\r\n\r\n var Dom7 = function Dom7(arr) {\r\n var self = this;\r\n // Create array-like object\r\n for (var i = 0; i < arr.length; i += 1) {\r\n self[i] = arr[i];\r\n }\r\n self.length = arr.length;\r\n // Return collection with methods\r\n return this;\r\n };\r\n\r\n function $(selector, context) {\r\n var arr = [];\r\n var i = 0;\r\n if (selector && !context) {\r\n if (selector instanceof Dom7) {\r\n return selector;\r\n }\r\n }\r\n if (selector) {\r\n // String\r\n if (typeof selector === 'string') {\r\n var els;\r\n var tempParent;\r\n var html = selector.trim();\r\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\r\n var toCreate = 'div';\r\n if (html.indexOf(':~]/)) {\r\n // Pure ID selector\r\n els = [doc.getElementById(selector.trim().split('#')[1])];\r\n } else {\r\n // Other selectors\r\n els = (context || doc).querySelectorAll(selector.trim());\r\n }\r\n for (i = 0; i < els.length; i += 1) {\r\n if (els[i]) {\r\n arr.push(els[i]);\r\n }\r\n }\r\n }\r\n } else if (selector.nodeType || selector === win || selector === doc) {\r\n // Node/element\r\n arr.push(selector);\r\n } else if (selector.length > 0 && selector[0].nodeType) {\r\n // Array of elements or instance of Dom\r\n for (i = 0; i < selector.length; i += 1) {\r\n arr.push(selector[i]);\r\n }\r\n }\r\n }\r\n return new Dom7(arr);\r\n }\r\n\r\n $.fn = Dom7.prototype;\r\n $.Class = Dom7;\r\n $.Dom7 = Dom7;\r\n\r\n function unique(arr) {\r\n var uniqueArray = [];\r\n for (var i = 0; i < arr.length; i += 1) {\r\n if (uniqueArray.indexOf(arr[i]) === -1) {\r\n uniqueArray.push(arr[i]);\r\n }\r\n }\r\n return uniqueArray;\r\n }\r\n\r\n // Classes and attributes\r\n function addClass(className) {\r\n var this$1 = this;\r\n\r\n if (typeof className === 'undefined') {\r\n return this;\r\n }\r\n var classes = className.split(' ');\r\n for (var i = 0; i < classes.length; i += 1) {\r\n for (var j = 0; j < this.length; j += 1) {\r\n if (typeof this$1[j] !== 'undefined' && typeof this$1[j].classList !== 'undefined') {\r\n this$1[j].classList.add(classes[i]);\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function removeClass(className) {\r\n var this$1 = this;\r\n\r\n var classes = className.split(' ');\r\n for (var i = 0; i < classes.length; i += 1) {\r\n for (var j = 0; j < this.length; j += 1) {\r\n if (typeof this$1[j] !== 'undefined' && typeof this$1[j].classList !== 'undefined') {\r\n this$1[j].classList.remove(classes[i]);\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function hasClass(className) {\r\n if (!this[0]) {\r\n return false;\r\n }\r\n return this[0].classList.contains(className);\r\n }\r\n\r\n function toggleClass(className) {\r\n var this$1 = this;\r\n\r\n var classes = className.split(' ');\r\n for (var i = 0; i < classes.length; i += 1) {\r\n for (var j = 0; j < this.length; j += 1) {\r\n if (typeof this$1[j] !== 'undefined' && typeof this$1[j].classList !== 'undefined') {\r\n this$1[j].classList.toggle(classes[i]);\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function attr(attrs, value) {\r\n var arguments$1 = arguments;\r\n var this$1 = this;\r\n\r\n if (arguments.length === 1 && typeof attrs === 'string') {\r\n // Get attr\r\n if (this[0]) {\r\n return this[0].getAttribute(attrs);\r\n }\r\n return undefined;\r\n }\r\n\r\n // Set attrs\r\n for (var i = 0; i < this.length; i += 1) {\r\n if (arguments$1.length === 2) {\r\n // String\r\n this$1[i].setAttribute(attrs, value);\r\n } else {\r\n // Object\r\n // eslint-disable-next-line\r\n for (var attrName in attrs) {\r\n this$1[i][attrName] = attrs[attrName];\r\n this$1[i].setAttribute(attrName, attrs[attrName]);\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n // eslint-disable-next-line\r\n function removeAttr(attr) {\r\n var this$1 = this;\r\n\r\n for (var i = 0; i < this.length; i += 1) {\r\n this$1[i].removeAttribute(attr);\r\n }\r\n return this;\r\n }\r\n\r\n function data(key, value) {\r\n var this$1 = this;\r\n\r\n var el;\r\n if (typeof value === 'undefined') {\r\n el = this[0];\r\n // Get value\r\n if (el) {\r\n if (el.dom7ElementDataStorage && (key in el.dom7ElementDataStorage)) {\r\n return el.dom7ElementDataStorage[key];\r\n }\r\n\r\n var dataKey = el.getAttribute((\"data-\" + key));\r\n if (dataKey) {\r\n return dataKey;\r\n }\r\n return undefined;\r\n }\r\n return undefined;\r\n }\r\n\r\n // Set value\r\n for (var i = 0; i < this.length; i += 1) {\r\n el = this$1[i];\r\n if (!el.dom7ElementDataStorage) {\r\n el.dom7ElementDataStorage = {};\r\n }\r\n el.dom7ElementDataStorage[key] = value;\r\n }\r\n return this;\r\n }\r\n\r\n // Transforms\r\n // eslint-disable-next-line\r\n function transform(transform) {\r\n var this$1 = this;\r\n\r\n for (var i = 0; i < this.length; i += 1) {\r\n var elStyle = this$1[i].style;\r\n elStyle.webkitTransform = transform;\r\n elStyle.transform = transform;\r\n }\r\n return this;\r\n }\r\n\r\n function transition(duration) {\r\n var this$1 = this;\r\n\r\n if (typeof duration !== 'string') {\r\n duration = duration + \"ms\"; // eslint-disable-line\r\n }\r\n for (var i = 0; i < this.length; i += 1) {\r\n var elStyle = this$1[i].style;\r\n elStyle.webkitTransitionDuration = duration;\r\n elStyle.transitionDuration = duration;\r\n }\r\n return this;\r\n }\r\n\r\n // Events\r\n function on() {\r\n var this$1 = this;\r\n var assign;\r\n\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n var eventType = args[0];\r\n var targetSelector = args[1];\r\n var listener = args[2];\r\n var capture = args[3];\r\n if (typeof args[1] === 'function') {\r\n (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);\r\n targetSelector = undefined;\r\n }\r\n if (!capture) {\r\n capture = false;\r\n }\r\n\r\n function handleLiveEvent(e) {\r\n var target = e.target;\r\n if (!target) {\r\n return;\r\n }\r\n var eventData = e.target.dom7EventData || [];\r\n if (eventData.indexOf(e) < 0) {\r\n eventData.unshift(e);\r\n }\r\n if ($(target).is(targetSelector)) {\r\n listener.apply(target, eventData);\r\n }\r\n else {\r\n var parents = $(target).parents(); // eslint-disable-line\r\n for (var k = 0; k < parents.length; k += 1) {\r\n if ($(parents[k]).is(targetSelector)) {\r\n listener.apply(parents[k], eventData);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function handleEvent(e) {\r\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\r\n if (eventData.indexOf(e) < 0) {\r\n eventData.unshift(e);\r\n }\r\n listener.apply(this, eventData);\r\n }\r\n\r\n var events = eventType.split(' ');\r\n var j;\r\n for (var i = 0; i < this.length; i += 1) {\r\n var el = this$1[i];\r\n if (!targetSelector) {\r\n for (j = 0; j < events.length; j += 1) {\r\n var event = events[j];\r\n if (!el.dom7Listeners) {\r\n el.dom7Listeners = {};\r\n }\r\n if (!el.dom7Listeners[event]) {\r\n el.dom7Listeners[event] = [];\r\n }\r\n el.dom7Listeners[event].push({\r\n listener: listener,\r\n proxyListener: handleEvent,\r\n });\r\n el.addEventListener(event, handleEvent, capture);\r\n }\r\n } else {\r\n // Live events\r\n for (j = 0; j < events.length; j += 1) {\r\n var event$1 = events[j];\r\n if (!el.dom7LiveListeners) {\r\n el.dom7LiveListeners = {};\r\n }\r\n if (!el.dom7LiveListeners[event$1]) {\r\n el.dom7LiveListeners[event$1] = [];\r\n }\r\n el.dom7LiveListeners[event$1].push({\r\n listener: listener,\r\n proxyListener: handleLiveEvent,\r\n });\r\n el.addEventListener(event$1, handleLiveEvent, capture);\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function off() {\r\n var this$1 = this;\r\n var assign;\r\n\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n var eventType = args[0];\r\n var targetSelector = args[1];\r\n var listener = args[2];\r\n var capture = args[3];\r\n if (typeof args[1] === 'function') {\r\n (assign = args, eventType = assign[0], listener = assign[1], capture = assign[2]);\r\n targetSelector = undefined;\r\n }\r\n if (!capture) {\r\n capture = false;\r\n }\r\n\r\n var events = eventType.split(' ');\r\n for (var i = 0; i < events.length; i += 1) {\r\n var event = events[i];\r\n for (var j = 0; j < this.length; j += 1) {\r\n var el = this$1[j];\r\n var handlers = (void 0);\r\n if (!targetSelector && el.dom7Listeners) {\r\n handlers = el.dom7Listeners[event];\r\n } else if (targetSelector && el.dom7LiveListeners) {\r\n handlers = el.dom7LiveListeners[event];\r\n }\r\n if (handlers && handlers.length) {\r\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\r\n var handler = handlers[k];\r\n if (listener && handler.listener === listener) {\r\n el.removeEventListener(event, handler.proxyListener, capture);\r\n handlers.splice(k, 1);\r\n } else if (!listener) {\r\n el.removeEventListener(event, handler.proxyListener, capture);\r\n handlers.splice(k, 1);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function trigger() {\r\n var this$1 = this;\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n\r\n var events = args[0].split(' ');\r\n var eventData = args[1];\r\n for (var i = 0; i < events.length; i += 1) {\r\n var event = events[i];\r\n for (var j = 0; j < this.length; j += 1) {\r\n var el = this$1[j];\r\n var evt = (void 0);\r\n try {\r\n evt = new win.CustomEvent(event, {\r\n detail: eventData,\r\n bubbles: true,\r\n cancelable: true,\r\n });\r\n } catch (e) {\r\n evt = doc.createEvent('Event');\r\n evt.initEvent(event, true, true);\r\n evt.detail = eventData;\r\n }\r\n // eslint-disable-next-line\r\n el.dom7EventData = args.filter(function (data, dataIndex) {\r\n return dataIndex > 0;\r\n });\r\n el.dispatchEvent(evt);\r\n el.dom7EventData = [];\r\n delete el.dom7EventData;\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function transitionEnd(callback) {\r\n var events = ['webkitTransitionEnd', 'transitionend'];\r\n var dom = this;\r\n var i;\r\n\r\n function fireCallBack(e) {\r\n /* jshint validthis:true */\r\n if (e.target !== this) {\r\n return;\r\n }\r\n callback.call(this, e);\r\n for (i = 0; i < events.length; i += 1) {\r\n dom.off(events[i], fireCallBack);\r\n }\r\n }\r\n\r\n if (callback) {\r\n for (i = 0; i < events.length; i += 1) {\r\n dom.on(events[i], fireCallBack);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function outerWidth(includeMargins) {\r\n if (this.length > 0) {\r\n if (includeMargins) {\r\n // eslint-disable-next-line\r\n var styles = this.styles();\r\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\r\n }\r\n return this[0].offsetWidth;\r\n }\r\n return null;\r\n }\r\n\r\n function outerHeight(includeMargins) {\r\n if (this.length > 0) {\r\n if (includeMargins) {\r\n // eslint-disable-next-line\r\n var styles = this.styles();\r\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\r\n }\r\n return this[0].offsetHeight;\r\n }\r\n return null;\r\n }\r\n\r\n function offset() {\r\n if (this.length > 0) {\r\n var el = this[0];\r\n var box = el.getBoundingClientRect();\r\n var body = doc.body;\r\n var clientTop = el.clientTop || body.clientTop || 0;\r\n var clientLeft = el.clientLeft || body.clientLeft || 0;\r\n var scrollTop = el === win ? win.scrollY : el.scrollTop;\r\n var scrollLeft = el === win ? win.scrollX : el.scrollLeft;\r\n return {\r\n top: (box.top + scrollTop) - clientTop,\r\n left: (box.left + scrollLeft) - clientLeft,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n function styles() {\r\n if (this[0]) {\r\n return win.getComputedStyle(this[0], null);\r\n }\r\n return {};\r\n }\r\n\r\n function css(props, value) {\r\n var this$1 = this;\r\n\r\n var i;\r\n if (arguments.length === 1) {\r\n if (typeof props === 'string') {\r\n if (this[0]) {\r\n return win.getComputedStyle(this[0], null).getPropertyValue(props);\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i += 1) {\r\n // eslint-disable-next-line\r\n for (var prop in props) {\r\n this$1[i].style[prop] = props[prop];\r\n }\r\n }\r\n return this;\r\n }\r\n }\r\n if (arguments.length === 2 && typeof props === 'string') {\r\n for (i = 0; i < this.length; i += 1) {\r\n this$1[i].style[props] = value;\r\n }\r\n return this;\r\n }\r\n return this;\r\n }\r\n\r\n // Iterate over the collection passing elements to `callback`\r\n function each(callback) {\r\n var this$1 = this;\r\n\r\n // Don't bother continuing without a callback\r\n if (!callback) {\r\n return this;\r\n }\r\n // Iterate over the current collection\r\n for (var i = 0; i < this.length; i += 1) {\r\n // If the callback returns false\r\n if (callback.call(this$1[i], i, this$1[i]) === false) {\r\n // End the loop early\r\n return this$1;\r\n }\r\n }\r\n // Return `this` to allow chained DOM operations\r\n return this;\r\n }\r\n\r\n // eslint-disable-next-line\r\n function html(html) {\r\n var this$1 = this;\r\n\r\n if (typeof html === 'undefined') {\r\n return this[0] ? this[0].innerHTML : undefined;\r\n }\r\n\r\n for (var i = 0; i < this.length; i += 1) {\r\n this$1[i].innerHTML = html;\r\n }\r\n return this;\r\n }\r\n\r\n // eslint-disable-next-line\r\n function text(text) {\r\n var this$1 = this;\r\n\r\n if (typeof text === 'undefined') {\r\n if (this[0]) {\r\n return this[0].textContent.trim();\r\n }\r\n return null;\r\n }\r\n\r\n for (var i = 0; i < this.length; i += 1) {\r\n this$1[i].textContent = text;\r\n }\r\n return this;\r\n }\r\n\r\n function is(selector) {\r\n var el = this[0];\r\n var compareWith;\r\n var i;\r\n if (!el || typeof selector === 'undefined') {\r\n return false;\r\n }\r\n if (typeof selector === 'string') {\r\n if (el.matches) {\r\n return el.matches(selector);\r\n }\r\n else if (el.webkitMatchesSelector) {\r\n return el.webkitMatchesSelector(selector);\r\n }\r\n else if (el.msMatchesSelector) {\r\n return el.msMatchesSelector(selector);\r\n }\r\n\r\n compareWith = $(selector);\r\n for (i = 0; i < compareWith.length; i += 1) {\r\n if (compareWith[i] === el) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n } else if (selector === doc) {\r\n return el === doc;\r\n }\r\n else if (selector === win) {\r\n return el === win;\r\n }\r\n\r\n if (selector.nodeType || selector instanceof Dom7) {\r\n compareWith = selector.nodeType ? [selector] : selector;\r\n for (i = 0; i < compareWith.length; i += 1) {\r\n if (compareWith[i] === el) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n return false;\r\n }\r\n\r\n function index() {\r\n var child = this[0];\r\n var i;\r\n if (child) {\r\n i = 0;\r\n // eslint-disable-next-line\r\n while ((child = child.previousSibling) !== null) {\r\n if (child.nodeType === 1) {\r\n i += 1;\r\n }\r\n }\r\n return i;\r\n }\r\n return undefined;\r\n }\r\n\r\n // eslint-disable-next-line\r\n function eq(index) {\r\n if (typeof index === 'undefined') {\r\n return this;\r\n }\r\n var length = this.length;\r\n var returnIndex;\r\n if (index > length - 1) {\r\n return new Dom7([]);\r\n }\r\n if (index < 0) {\r\n returnIndex = length + index;\r\n if (returnIndex < 0) {\r\n return new Dom7([]);\r\n }\r\n return new Dom7([this[returnIndex]]);\r\n }\r\n return new Dom7([this[index]]);\r\n }\r\n\r\n function append() {\r\n var this$1 = this;\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n\r\n var newChild;\r\n\r\n for (var k = 0; k < args.length; k += 1) {\r\n newChild = args[k];\r\n for (var i = 0; i < this.length; i += 1) {\r\n if (typeof newChild === 'string') {\r\n var tempDiv = doc.createElement('div');\r\n tempDiv.innerHTML = newChild;\r\n while (tempDiv.firstChild) {\r\n this$1[i].appendChild(tempDiv.firstChild);\r\n }\r\n } else if (newChild instanceof Dom7) {\r\n for (var j = 0; j < newChild.length; j += 1) {\r\n this$1[i].appendChild(newChild[j]);\r\n }\r\n } else {\r\n this$1[i].appendChild(newChild);\r\n }\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n function prepend(newChild) {\r\n var this$1 = this;\r\n\r\n var i;\r\n var j;\r\n for (i = 0; i < this.length; i += 1) {\r\n if (typeof newChild === 'string') {\r\n var tempDiv = doc.createElement('div');\r\n tempDiv.innerHTML = newChild;\r\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\r\n this$1[i].insertBefore(tempDiv.childNodes[j], this$1[i].childNodes[0]);\r\n }\r\n } else if (newChild instanceof Dom7) {\r\n for (j = 0; j < newChild.length; j += 1) {\r\n this$1[i].insertBefore(newChild[j], this$1[i].childNodes[0]);\r\n }\r\n } else {\r\n this$1[i].insertBefore(newChild, this$1[i].childNodes[0]);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function next(selector) {\r\n if (this.length > 0) {\r\n if (selector) {\r\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\r\n return new Dom7([this[0].nextElementSibling]);\r\n }\r\n return new Dom7([]);\r\n }\r\n\r\n if (this[0].nextElementSibling) {\r\n return new Dom7([this[0].nextElementSibling]);\r\n }\r\n return new Dom7([]);\r\n }\r\n return new Dom7([]);\r\n }\r\n\r\n function nextAll(selector) {\r\n var nextEls = [];\r\n var el = this[0];\r\n if (!el) {\r\n return new Dom7([]);\r\n }\r\n while (el.nextElementSibling) {\r\n var next = el.nextElementSibling; // eslint-disable-line\r\n if (selector) {\r\n if ($(next).is(selector)) {\r\n nextEls.push(next);\r\n }\r\n } else {\r\n nextEls.push(next);\r\n }\r\n el = next;\r\n }\r\n return new Dom7(nextEls);\r\n }\r\n\r\n function prev(selector) {\r\n if (this.length > 0) {\r\n var el = this[0];\r\n if (selector) {\r\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\r\n return new Dom7([el.previousElementSibling]);\r\n }\r\n return new Dom7([]);\r\n }\r\n\r\n if (el.previousElementSibling) {\r\n return new Dom7([el.previousElementSibling]);\r\n }\r\n return new Dom7([]);\r\n }\r\n return new Dom7([]);\r\n }\r\n\r\n function prevAll(selector) {\r\n var prevEls = [];\r\n var el = this[0];\r\n if (!el) {\r\n return new Dom7([]);\r\n }\r\n while (el.previousElementSibling) {\r\n var prev = el.previousElementSibling; // eslint-disable-line\r\n if (selector) {\r\n if ($(prev).is(selector)) {\r\n prevEls.push(prev);\r\n }\r\n } else {\r\n prevEls.push(prev);\r\n }\r\n el = prev;\r\n }\r\n return new Dom7(prevEls);\r\n }\r\n\r\n function parent(selector) {\r\n var this$1 = this;\r\n\r\n var parents = []; // eslint-disable-line\r\n for (var i = 0; i < this.length; i += 1) {\r\n if (this$1[i].parentNode !== null) {\r\n if (selector) {\r\n if ($(this$1[i].parentNode).is(selector)) {\r\n parents.push(this$1[i].parentNode);\r\n }\r\n } else {\r\n parents.push(this$1[i].parentNode);\r\n }\r\n }\r\n }\r\n return $(unique(parents));\r\n }\r\n\r\n function parents(selector) {\r\n var this$1 = this;\r\n\r\n var parents = []; // eslint-disable-line\r\n for (var i = 0; i < this.length; i += 1) {\r\n var parent = this$1[i].parentNode; // eslint-disable-line\r\n while (parent) {\r\n if (selector) {\r\n if ($(parent).is(selector)) {\r\n parents.push(parent);\r\n }\r\n } else {\r\n parents.push(parent);\r\n }\r\n parent = parent.parentNode;\r\n }\r\n }\r\n return $(unique(parents));\r\n }\r\n\r\n function closest(selector) {\r\n var closest = this; // eslint-disable-line\r\n if (typeof selector === 'undefined') {\r\n return new Dom7([]);\r\n }\r\n if (!closest.is(selector)) {\r\n closest = closest.parents(selector).eq(0);\r\n }\r\n return closest;\r\n }\r\n\r\n function find(selector) {\r\n var this$1 = this;\r\n\r\n var foundElements = [];\r\n for (var i = 0; i < this.length; i += 1) {\r\n var found = this$1[i].querySelectorAll(selector);\r\n for (var j = 0; j < found.length; j += 1) {\r\n foundElements.push(found[j]);\r\n }\r\n }\r\n return new Dom7(foundElements);\r\n }\r\n\r\n function children(selector) {\r\n var this$1 = this;\r\n\r\n var children = []; // eslint-disable-line\r\n for (var i = 0; i < this.length; i += 1) {\r\n var childNodes = this$1[i].childNodes;\r\n\r\n for (var j = 0; j < childNodes.length; j += 1) {\r\n if (!selector) {\r\n if (childNodes[j].nodeType === 1) {\r\n children.push(childNodes[j]);\r\n }\r\n } else if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) {\r\n children.push(childNodes[j]);\r\n }\r\n }\r\n }\r\n return new Dom7(unique(children));\r\n }\r\n\r\n function remove() {\r\n var this$1 = this;\r\n\r\n for (var i = 0; i < this.length; i += 1) {\r\n if (this$1[i].parentNode) {\r\n this$1[i].parentNode.removeChild(this$1[i]);\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n function add() {\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n\r\n var dom = this;\r\n var i;\r\n var j;\r\n for (i = 0; i < args.length; i += 1) {\r\n var toAdd = $(args[i]);\r\n for (j = 0; j < toAdd.length; j += 1) {\r\n dom[dom.length] = toAdd[j];\r\n dom.length += 1;\r\n }\r\n }\r\n return dom;\r\n }\r\n\r\n var Methods = {\r\n addClass: addClass,\r\n removeClass: removeClass,\r\n hasClass: hasClass,\r\n toggleClass: toggleClass,\r\n attr: attr,\r\n removeAttr: removeAttr,\r\n data: data,\r\n transform: transform,\r\n transition: transition,\r\n on: on,\r\n off: off,\r\n trigger: trigger,\r\n transitionEnd: transitionEnd,\r\n outerWidth: outerWidth,\r\n outerHeight: outerHeight,\r\n offset: offset,\r\n css: css,\r\n each: each,\r\n html: html,\r\n text: text,\r\n is: is,\r\n index: index,\r\n eq: eq,\r\n append: append,\r\n prepend: prepend,\r\n next: next,\r\n nextAll: nextAll,\r\n prev: prev,\r\n prevAll: prevAll,\r\n parent: parent,\r\n parents: parents,\r\n closest: closest,\r\n find: find,\r\n children: children,\r\n remove: remove,\r\n add: add,\r\n styles: styles,\r\n };\r\n\r\n Object.keys(Methods).forEach(function (methodName) {\r\n $.fn[methodName] = Methods[methodName];\r\n });\r\n\r\n var Utils = {\r\n deleteProps: function deleteProps(obj) {\r\n var object = obj;\r\n Object.keys(object).forEach(function (key) {\r\n try {\r\n object[key] = null;\r\n } catch (e) {\r\n // no getter for object\r\n }\r\n try {\r\n delete object[key];\r\n } catch (e) {\r\n // something got wrong\r\n }\r\n });\r\n },\r\n nextTick: function nextTick(callback, delay) {\r\n if (delay === void 0) delay = 0;\r\n\r\n return setTimeout(callback, delay);\r\n },\r\n now: function now() {\r\n return Date.now();\r\n },\r\n getTranslate: function getTranslate(el, axis) {\r\n if (axis === void 0) axis = 'x';\r\n\r\n var matrix;\r\n var curTransform;\r\n var transformMatrix;\r\n\r\n var curStyle = win.getComputedStyle(el, null);\r\n\r\n if (win.WebKitCSSMatrix) {\r\n curTransform = curStyle.transform || curStyle.webkitTransform;\r\n if (curTransform.split(',').length > 6) {\r\n curTransform = curTransform.split(', ').map(function (a) {\r\n return a.replace(',', '.');\r\n }).join(', ');\r\n }\r\n // Some old versions of Webkit choke when 'none' is passed; pass\r\n // empty string instead in this case\r\n transformMatrix = new win.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\r\n } else {\r\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\r\n matrix = transformMatrix.toString().split(',');\r\n }\r\n\r\n if (axis === 'x') {\r\n // Latest Chrome and webkits Fix\r\n if (win.WebKitCSSMatrix) {\r\n curTransform = transformMatrix.m41;\r\n }\r\n // Crazy IE10 Matrix\r\n else if (matrix.length === 16) {\r\n curTransform = parseFloat(matrix[12]);\r\n }\r\n // Normal Browsers\r\n else {\r\n curTransform = parseFloat(matrix[4]);\r\n }\r\n }\r\n if (axis === 'y') {\r\n // Latest Chrome and webkits Fix\r\n if (win.WebKitCSSMatrix) {\r\n curTransform = transformMatrix.m42;\r\n }\r\n // Crazy IE10 Matrix\r\n else if (matrix.length === 16) {\r\n curTransform = parseFloat(matrix[13]);\r\n }\r\n // Normal Browsers\r\n else {\r\n curTransform = parseFloat(matrix[5]);\r\n }\r\n }\r\n return curTransform || 0;\r\n },\r\n parseUrlQuery: function parseUrlQuery(url) {\r\n var query = {};\r\n var urlToParse = url || win.location.href;\r\n var i;\r\n var params;\r\n var param;\r\n var length;\r\n if (typeof urlToParse === 'string' && urlToParse.length) {\r\n urlToParse = urlToParse.indexOf('?') > -1 ? urlToParse.replace(/\\S*\\?/, '') : '';\r\n params = urlToParse.split('&').filter(function (paramsPart) {\r\n return paramsPart !== '';\r\n });\r\n length = params.length;\r\n\r\n for (i = 0; i < length; i += 1) {\r\n param = params[i].replace(/#\\S+/g, '').split('=');\r\n query[decodeURIComponent(param[0])] = typeof param[1] === 'undefined' ? undefined : decodeURIComponent(param[1]) || '';\r\n }\r\n }\r\n return query;\r\n },\r\n isObject: function isObject(o) {\r\n return typeof o === 'object' && o !== null && o.constructor && o.constructor === Object;\r\n },\r\n extend: function extend() {\r\n var args = [], len$1 = arguments.length;\r\n while (len$1--) args[len$1] = arguments[len$1];\r\n\r\n var to = Object(args[0]);\r\n for (var i = 1; i < args.length; i += 1) {\r\n var nextSource = args[i];\r\n if (nextSource !== undefined && nextSource !== null) {\r\n var keysArray = Object.keys(Object(nextSource));\r\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\r\n var nextKey = keysArray[nextIndex];\r\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\r\n if (desc !== undefined && desc.enumerable) {\r\n if (Utils.isObject(to[nextKey]) && Utils.isObject(nextSource[nextKey])) {\r\n Utils.extend(to[nextKey], nextSource[nextKey]);\r\n } else if (!Utils.isObject(to[nextKey]) && Utils.isObject(nextSource[nextKey])) {\r\n to[nextKey] = {};\r\n Utils.extend(to[nextKey], nextSource[nextKey]);\r\n } else {\r\n to[nextKey] = nextSource[nextKey];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return to;\r\n },\r\n };\r\n\r\n var Support = (function Support() {\r\n var testDiv = doc.createElement('div');\r\n return {\r\n touch: (win.Modernizr && win.Modernizr.touch === true) || (function checkTouch() {\r\n return !!(('ontouchstart' in win) || (win.DocumentTouch && doc instanceof win.DocumentTouch));\r\n }()),\r\n\r\n pointerEvents: !!(win.navigator.pointerEnabled || win.PointerEvent),\r\n prefixedPointerEvents: !!win.navigator.msPointerEnabled,\r\n\r\n transition: (function checkTransition() {\r\n var style = testDiv.style;\r\n return ('transition' in style || 'webkitTransition' in style || 'MozTransition' in style);\r\n }()),\r\n transforms3d: (win.Modernizr && win.Modernizr.csstransforms3d === true) || (function checkTransforms3d() {\r\n var style = testDiv.style;\r\n return ('webkitPerspective' in style || 'MozPerspective' in style || 'OPerspective' in style || 'MsPerspective' in style || 'perspective' in style);\r\n }()),\r\n\r\n flexbox: (function checkFlexbox() {\r\n var style = testDiv.style;\r\n var styles = ('alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient').split(' ');\r\n for (var i = 0; i < styles.length; i += 1) {\r\n if (styles[i] in style) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }()),\r\n\r\n observer: (function checkObserver() {\r\n return ('MutationObserver' in win || 'WebkitMutationObserver' in win);\r\n }()),\r\n\r\n passiveListener: (function checkPassiveListener() {\r\n var supportsPassive = false;\r\n try {\r\n var opts = Object.defineProperty({}, 'passive', {\r\n // eslint-disable-next-line\r\n get: function get() {\r\n supportsPassive = true;\r\n },\r\n });\r\n win.addEventListener('testPassiveListener', null, opts);\r\n } catch (e) {\r\n // No support\r\n }\r\n return supportsPassive;\r\n }()),\r\n\r\n gestures: (function checkGestures() {\r\n return 'ongesturestart' in win;\r\n }()),\r\n };\r\n }());\r\n\r\n var SwiperClass = function SwiperClass(params) {\r\n if (params === void 0) params = {};\r\n\r\n var self = this;\r\n self.params = params;\r\n\r\n // Events\r\n self.eventsListeners = {};\r\n\r\n if (self.params && self.params.on) {\r\n Object.keys(self.params.on).forEach(function (eventName) {\r\n self.on(eventName, self.params.on[eventName]);\r\n });\r\n }\r\n };\r\n\r\n var staticAccessors = {components: {configurable: true}};\r\n\r\n SwiperClass.prototype.on = function on(events, handler, priority) {\r\n var self = this;\r\n if (typeof handler !== 'function') {\r\n return self;\r\n }\r\n var method = priority ? 'unshift' : 'push';\r\n events.split(' ').forEach(function (event) {\r\n if (!self.eventsListeners[event]) {\r\n self.eventsListeners[event] = [];\r\n }\r\n self.eventsListeners[event][method](handler);\r\n });\r\n return self;\r\n };\r\n\r\n SwiperClass.prototype.once = function once(events, handler, priority) {\r\n var self = this;\r\n if (typeof handler !== 'function') {\r\n return self;\r\n }\r\n\r\n function onceHandler() {\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n\r\n handler.apply(self, args);\r\n self.off(events, onceHandler);\r\n }\r\n\r\n return self.on(events, onceHandler, priority);\r\n };\r\n\r\n SwiperClass.prototype.off = function off(events, handler) {\r\n var self = this;\r\n if (!self.eventsListeners) {\r\n return self;\r\n }\r\n events.split(' ').forEach(function (event) {\r\n if (typeof handler === 'undefined') {\r\n self.eventsListeners[event] = [];\r\n } else if (self.eventsListeners[event] && self.eventsListeners[event].length) {\r\n self.eventsListeners[event].forEach(function (eventHandler, index) {\r\n if (eventHandler === handler) {\r\n self.eventsListeners[event].splice(index, 1);\r\n }\r\n });\r\n }\r\n });\r\n return self;\r\n };\r\n\r\n SwiperClass.prototype.emit = function emit() {\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n\r\n var self = this;\r\n if (!self.eventsListeners) {\r\n return self;\r\n }\r\n var events;\r\n var data;\r\n var context;\r\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\r\n events = args[0];\r\n data = args.slice(1, args.length);\r\n context = self;\r\n } else {\r\n events = args[0].events;\r\n data = args[0].data;\r\n context = args[0].context || self;\r\n }\r\n var eventsArray = Array.isArray(events) ? events : events.split(' ');\r\n eventsArray.forEach(function (event) {\r\n if (self.eventsListeners && self.eventsListeners[event]) {\r\n var handlers = [];\r\n self.eventsListeners[event].forEach(function (eventHandler) {\r\n handlers.push(eventHandler);\r\n });\r\n handlers.forEach(function (eventHandler) {\r\n eventHandler.apply(context, data);\r\n });\r\n }\r\n });\r\n return self;\r\n };\r\n\r\n SwiperClass.prototype.useModulesParams = function useModulesParams(instanceParams) {\r\n var instance = this;\r\n if (!instance.modules) {\r\n return;\r\n }\r\n Object.keys(instance.modules).forEach(function (moduleName) {\r\n var module = instance.modules[moduleName];\r\n // Extend params\r\n if (module.params) {\r\n Utils.extend(instanceParams, module.params);\r\n }\r\n });\r\n };\r\n\r\n SwiperClass.prototype.useModules = function useModules(modulesParams) {\r\n if (modulesParams === void 0) modulesParams = {};\r\n\r\n var instance = this;\r\n if (!instance.modules) {\r\n return;\r\n }\r\n Object.keys(instance.modules).forEach(function (moduleName) {\r\n var module = instance.modules[moduleName];\r\n var moduleParams = modulesParams[moduleName] || {};\r\n // Extend instance methods and props\r\n if (module.instance) {\r\n Object.keys(module.instance).forEach(function (modulePropName) {\r\n var moduleProp = module.instance[modulePropName];\r\n if (typeof moduleProp === 'function') {\r\n instance[modulePropName] = moduleProp.bind(instance);\r\n } else {\r\n instance[modulePropName] = moduleProp;\r\n }\r\n });\r\n }\r\n // Add event listeners\r\n if (module.on && instance.on) {\r\n Object.keys(module.on).forEach(function (moduleEventName) {\r\n instance.on(moduleEventName, module.on[moduleEventName]);\r\n });\r\n }\r\n\r\n // Module create callback\r\n if (module.create) {\r\n module.create.bind(instance)(moduleParams);\r\n }\r\n });\r\n };\r\n\r\n staticAccessors.components.set = function (components) {\r\n var Class = this;\r\n if (!Class.use) {\r\n return;\r\n }\r\n Class.use(components);\r\n };\r\n\r\n SwiperClass.installModule = function installModule(module) {\r\n var params = [], len = arguments.length - 1;\r\n while (len-- > 0) params[len] = arguments[len + 1];\r\n\r\n var Class = this;\r\n if (!Class.prototype.modules) {\r\n Class.prototype.modules = {};\r\n }\r\n var name = module.name || (((Object.keys(Class.prototype.modules).length) + \"_\" + (Utils.now())));\r\n Class.prototype.modules[name] = module;\r\n // Prototype\r\n if (module.proto) {\r\n Object.keys(module.proto).forEach(function (key) {\r\n Class.prototype[key] = module.proto[key];\r\n });\r\n }\r\n // Class\r\n if (module.static) {\r\n Object.keys(module.static).forEach(function (key) {\r\n Class[key] = module.static[key];\r\n });\r\n }\r\n // Callback\r\n if (module.install) {\r\n module.install.apply(Class, params);\r\n }\r\n return Class;\r\n };\r\n\r\n SwiperClass.use = function use(module) {\r\n var params = [], len = arguments.length - 1;\r\n while (len-- > 0) params[len] = arguments[len + 1];\r\n\r\n var Class = this;\r\n if (Array.isArray(module)) {\r\n module.forEach(function (m) {\r\n return Class.installModule(m);\r\n });\r\n return Class;\r\n }\r\n return Class.installModule.apply(Class, [module].concat(params));\r\n };\r\n\r\n Object.defineProperties(SwiperClass, staticAccessors);\r\n\r\n function updateSize() {\r\n var swiper = this;\r\n var width;\r\n var height;\r\n var $el = swiper.$el;\r\n if (typeof swiper.params.width !== 'undefined') {\r\n width = swiper.params.width;\r\n } else {\r\n width = $el[0].clientWidth;\r\n }\r\n if (typeof swiper.params.height !== 'undefined') {\r\n height = swiper.params.height;\r\n } else {\r\n height = $el[0].clientHeight;\r\n }\r\n if ((width === 0 && swiper.isHorizontal()) || (height === 0 && swiper.isVertical())) {\r\n return;\r\n }\r\n\r\n // Subtract paddings\r\n width = width - parseInt($el.css('padding-left'), 10) - parseInt($el.css('padding-right'), 10);\r\n height = height - parseInt($el.css('padding-top'), 10) - parseInt($el.css('padding-bottom'), 10);\r\n\r\n Utils.extend(swiper, {\r\n width: width,\r\n height: height,\r\n size: swiper.isHorizontal() ? width : height,\r\n });\r\n }\r\n\r\n function updateSlides() {\r\n var swiper = this;\r\n var params = swiper.params;\r\n\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var swiperSize = swiper.size;\r\n var rtl = swiper.rtlTranslate;\r\n var wrongRTL = swiper.wrongRTL;\r\n var isVirtual = swiper.virtual && params.virtual.enabled;\r\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\r\n var slides = $wrapperEl.children((\".\" + (swiper.params.slideClass)));\r\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\r\n var snapGrid = [];\r\n var slidesGrid = [];\r\n var slidesSizesGrid = [];\r\n\r\n var offsetBefore = params.slidesOffsetBefore;\r\n if (typeof offsetBefore === 'function') {\r\n offsetBefore = params.slidesOffsetBefore.call(swiper);\r\n }\r\n\r\n var offsetAfter = params.slidesOffsetAfter;\r\n if (typeof offsetAfter === 'function') {\r\n offsetAfter = params.slidesOffsetAfter.call(swiper);\r\n }\r\n\r\n var previousSnapGridLength = swiper.snapGrid.length;\r\n var previousSlidesGridLength = swiper.snapGrid.length;\r\n\r\n var spaceBetween = params.spaceBetween;\r\n var slidePosition = -offsetBefore;\r\n var prevSlideSize = 0;\r\n var index = 0;\r\n if (typeof swiperSize === 'undefined') {\r\n return;\r\n }\r\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\r\n spaceBetween = (parseFloat(spaceBetween.replace('%', '')) / 100) * swiperSize;\r\n }\r\n\r\n swiper.virtualSize = -spaceBetween;\r\n\r\n // reset margins\r\n if (rtl) {\r\n slides.css({marginLeft: '', marginTop: ''});\r\n }\r\n else {\r\n slides.css({marginRight: '', marginBottom: ''});\r\n }\r\n\r\n var slidesNumberEvenToRows;\r\n if (params.slidesPerColumn > 1) {\r\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\r\n slidesNumberEvenToRows = slidesLength;\r\n } else {\r\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\r\n }\r\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\r\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\r\n }\r\n }\r\n\r\n // Calc slides\r\n var slideSize;\r\n var slidesPerColumn = params.slidesPerColumn;\r\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\r\n var numFullColumns = slidesPerRow - ((params.slidesPerColumn * slidesPerRow) - slidesLength);\r\n for (var i = 0; i < slidesLength; i += 1) {\r\n slideSize = 0;\r\n var slide = slides.eq(i);\r\n if (params.slidesPerColumn > 1) {\r\n // Set slides order\r\n var newSlideOrderIndex = (void 0);\r\n var column = (void 0);\r\n var row = (void 0);\r\n if (params.slidesPerColumnFill === 'column') {\r\n column = Math.floor(i / slidesPerColumn);\r\n row = i - (column * slidesPerColumn);\r\n if (column > numFullColumns || (column === numFullColumns && row === slidesPerColumn - 1)) {\r\n row += 1;\r\n if (row >= slidesPerColumn) {\r\n row = 0;\r\n column += 1;\r\n }\r\n }\r\n newSlideOrderIndex = column + ((row * slidesNumberEvenToRows) / slidesPerColumn);\r\n slide\r\n .css({\r\n '-webkit-box-ordinal-group': newSlideOrderIndex,\r\n '-moz-box-ordinal-group': newSlideOrderIndex,\r\n '-ms-flex-order': newSlideOrderIndex,\r\n '-webkit-order': newSlideOrderIndex,\r\n order: newSlideOrderIndex,\r\n });\r\n } else {\r\n row = Math.floor(i / slidesPerRow);\r\n column = i - (row * slidesPerRow);\r\n }\r\n slide\r\n .css(\r\n (\"margin-\" + (swiper.isHorizontal() ? 'top' : 'left')),\r\n (row !== 0 && params.spaceBetween) && (((params.spaceBetween) + \"px\"))\r\n )\r\n .attr('data-swiper-column', column)\r\n .attr('data-swiper-row', row);\r\n }\r\n if (slide.css('display') === 'none') {\r\n continue;\r\n } // eslint-disable-line\r\n\r\n if (params.slidesPerView === 'auto') {\r\n var slideStyles = win.getComputedStyle(slide[0], null);\r\n var currentTransform = slide[0].style.transform;\r\n var currentWebKitTransform = slide[0].style.webkitTransform;\r\n if (currentTransform) {\r\n slide[0].style.transform = 'none';\r\n }\r\n if (currentWebKitTransform) {\r\n slide[0].style.webkitTransform = 'none';\r\n }\r\n if (params.roundLengths) {\r\n slideSize = swiper.isHorizontal()\r\n ? slide.outerWidth(true)\r\n : slide.outerHeight(true);\r\n } else {\r\n // eslint-disable-next-line\r\n if (swiper.isHorizontal()) {\r\n slideSize = slide[0].getBoundingClientRect().width\r\n + parseFloat(slideStyles.getPropertyValue('margin-left'))\r\n + parseFloat(slideStyles.getPropertyValue('margin-right'));\r\n } else {\r\n slideSize = slide[0].getBoundingClientRect().height\r\n + parseFloat(slideStyles.getPropertyValue('margin-top'))\r\n + parseFloat(slideStyles.getPropertyValue('margin-bottom'));\r\n }\r\n }\r\n if (currentTransform) {\r\n slide[0].style.transform = currentTransform;\r\n }\r\n if (currentWebKitTransform) {\r\n slide[0].style.webkitTransform = currentWebKitTransform;\r\n }\r\n if (params.roundLengths) {\r\n slideSize = Math.floor(slideSize);\r\n }\r\n } else {\r\n slideSize = (swiperSize - ((params.slidesPerView - 1) * spaceBetween)) / params.slidesPerView;\r\n if (params.roundLengths) {\r\n slideSize = Math.floor(slideSize);\r\n }\r\n\r\n if (slides[i]) {\r\n if (swiper.isHorizontal()) {\r\n slides[i].style.width = slideSize + \"px\";\r\n } else {\r\n slides[i].style.height = slideSize + \"px\";\r\n }\r\n }\r\n }\r\n if (slides[i]) {\r\n slides[i].swiperSlideSize = slideSize;\r\n }\r\n slidesSizesGrid.push(slideSize);\r\n\r\n\r\n if (params.centeredSlides) {\r\n slidePosition = slidePosition + (slideSize / 2) + (prevSlideSize / 2) + spaceBetween;\r\n if (prevSlideSize === 0 && i !== 0) {\r\n slidePosition = slidePosition - (swiperSize / 2) - spaceBetween;\r\n }\r\n if (i === 0) {\r\n slidePosition = slidePosition - (swiperSize / 2) - spaceBetween;\r\n }\r\n if (Math.abs(slidePosition) < 1 / 1000) {\r\n slidePosition = 0;\r\n }\r\n if (params.roundLengths) {\r\n slidePosition = Math.floor(slidePosition);\r\n }\r\n if ((index) % params.slidesPerGroup === 0) {\r\n snapGrid.push(slidePosition);\r\n }\r\n slidesGrid.push(slidePosition);\r\n } else {\r\n if (params.roundLengths) {\r\n slidePosition = Math.floor(slidePosition);\r\n }\r\n if ((index) % params.slidesPerGroup === 0) {\r\n snapGrid.push(slidePosition);\r\n }\r\n slidesGrid.push(slidePosition);\r\n slidePosition = slidePosition + slideSize + spaceBetween;\r\n }\r\n\r\n swiper.virtualSize += slideSize + spaceBetween;\r\n\r\n prevSlideSize = slideSize;\r\n\r\n index += 1;\r\n }\r\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\r\n var newSlidesGrid;\r\n\r\n if (\r\n rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\r\n $wrapperEl.css({width: ((swiper.virtualSize + params.spaceBetween) + \"px\")});\r\n }\r\n if (!Support.flexbox || params.setWrapperSize) {\r\n if (swiper.isHorizontal()) {\r\n $wrapperEl.css({width: ((swiper.virtualSize + params.spaceBetween) + \"px\")});\r\n }\r\n else {\r\n $wrapperEl.css({height: ((swiper.virtualSize + params.spaceBetween) + \"px\")});\r\n }\r\n }\r\n\r\n if (params.slidesPerColumn > 1) {\r\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\r\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\r\n if (swiper.isHorizontal()) {\r\n $wrapperEl.css({width: ((swiper.virtualSize + params.spaceBetween) + \"px\")});\r\n }\r\n else {\r\n $wrapperEl.css({height: ((swiper.virtualSize + params.spaceBetween) + \"px\")});\r\n }\r\n if (params.centeredSlides) {\r\n newSlidesGrid = [];\r\n for (var i$1 = 0; i$1 < snapGrid.length; i$1 += 1) {\r\n var slidesGridItem = snapGrid[i$1];\r\n if (params.roundLengths) {\r\n slidesGridItem = Math.floor(slidesGridItem);\r\n }\r\n if (snapGrid[i$1] < swiper.virtualSize + snapGrid[0]) {\r\n newSlidesGrid.push(slidesGridItem);\r\n }\r\n }\r\n snapGrid = newSlidesGrid;\r\n }\r\n }\r\n\r\n // Remove last grid elements depending on width\r\n if (!params.centeredSlides) {\r\n newSlidesGrid = [];\r\n for (var i$2 = 0; i$2 < snapGrid.length; i$2 += 1) {\r\n var slidesGridItem$1 = snapGrid[i$2];\r\n if (params.roundLengths) {\r\n slidesGridItem$1 = Math.floor(slidesGridItem$1);\r\n }\r\n if (snapGrid[i$2] <= swiper.virtualSize - swiperSize) {\r\n newSlidesGrid.push(slidesGridItem$1);\r\n }\r\n }\r\n snapGrid = newSlidesGrid;\r\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\r\n snapGrid.push(swiper.virtualSize - swiperSize);\r\n }\r\n }\r\n if (snapGrid.length === 0) {\r\n snapGrid = [0];\r\n }\r\n\r\n if (params.spaceBetween !== 0) {\r\n if (swiper.isHorizontal()) {\r\n if (rtl) {\r\n slides.css({marginLeft: (spaceBetween + \"px\")});\r\n }\r\n else {\r\n slides.css({marginRight: (spaceBetween + \"px\")});\r\n }\r\n } else {\r\n slides.css({marginBottom: (spaceBetween + \"px\")});\r\n }\r\n }\r\n\r\n if (params.centerInsufficientSlides) {\r\n var allSlidesSize = 0;\r\n slidesSizesGrid.forEach(function (slideSizeValue) {\r\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\r\n });\r\n allSlidesSize -= params.spaceBetween;\r\n if (allSlidesSize < swiperSize) {\r\n var allSlidesOffset = (swiperSize - allSlidesSize) / 2;\r\n snapGrid.forEach(function (snap, snapIndex) {\r\n snapGrid[snapIndex] = snap - allSlidesOffset;\r\n });\r\n slidesGrid.forEach(function (snap, snapIndex) {\r\n slidesGrid[snapIndex] = snap + allSlidesOffset;\r\n });\r\n }\r\n }\r\n\r\n Utils.extend(swiper, {\r\n slides: slides,\r\n snapGrid: snapGrid,\r\n slidesGrid: slidesGrid,\r\n slidesSizesGrid: slidesSizesGrid,\r\n });\r\n\r\n if (slidesLength !== previousSlidesLength) {\r\n swiper.emit('slidesLengthChange');\r\n }\r\n if (snapGrid.length !== previousSnapGridLength) {\r\n if (swiper.params.watchOverflow) {\r\n swiper.checkOverflow();\r\n }\r\n swiper.emit('snapGridLengthChange');\r\n }\r\n if (slidesGrid.length !== previousSlidesGridLength) {\r\n swiper.emit('slidesGridLengthChange');\r\n }\r\n\r\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\r\n swiper.updateSlidesOffset();\r\n }\r\n }\r\n\r\n function updateAutoHeight(speed) {\r\n var swiper = this;\r\n var activeSlides = [];\r\n var newHeight = 0;\r\n var i;\r\n if (typeof speed === 'number') {\r\n swiper.setTransition(speed);\r\n } else if (speed === true) {\r\n swiper.setTransition(swiper.params.speed);\r\n }\r\n // Find slides currently in view\r\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\r\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\r\n var index = swiper.activeIndex + i;\r\n if (index > swiper.slides.length) {\r\n break;\r\n }\r\n activeSlides.push(swiper.slides.eq(index)[0]);\r\n }\r\n } else {\r\n activeSlides.push(swiper.slides.eq(swiper.activeIndex)[0]);\r\n }\r\n\r\n // Find new height from highest slide in view\r\n for (i = 0; i < activeSlides.length; i += 1) {\r\n if (typeof activeSlides[i] !== 'undefined') {\r\n var height = activeSlides[i].offsetHeight;\r\n newHeight = height > newHeight ? height : newHeight;\r\n }\r\n }\r\n\r\n // Update Height\r\n if (newHeight) {\r\n swiper.$wrapperEl.css('height', (newHeight + \"px\"));\r\n }\r\n }\r\n\r\n function updateSlidesOffset() {\r\n var swiper = this;\r\n var slides = swiper.slides;\r\n for (var i = 0; i < slides.length; i += 1) {\r\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\r\n }\r\n }\r\n\r\n function updateSlidesProgress(translate) {\r\n if (translate === void 0) translate = (this && this.translate) || 0;\r\n\r\n var swiper = this;\r\n var params = swiper.params;\r\n\r\n var slides = swiper.slides;\r\n var rtl = swiper.rtlTranslate;\r\n\r\n if (slides.length === 0) {\r\n return;\r\n }\r\n if (typeof slides[0].swiperSlideOffset === 'undefined') {\r\n swiper.updateSlidesOffset();\r\n }\r\n\r\n var offsetCenter = -translate;\r\n if (rtl) {\r\n offsetCenter = translate;\r\n }\r\n\r\n // Visible Slides\r\n slides.removeClass(params.slideVisibleClass);\r\n\r\n swiper.visibleSlidesIndexes = [];\r\n swiper.visibleSlides = [];\r\n\r\n for (var i = 0; i < slides.length; i += 1) {\r\n var slide = slides[i];\r\n var slideProgress = (\r\n (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0)) - slide.swiperSlideOffset\r\n ) / (slide.swiperSlideSize + params.spaceBetween);\r\n if (params.watchSlidesVisibility) {\r\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\r\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\r\n var isVisible = (slideBefore >= 0 && slideBefore < swiper.size)\r\n || (slideAfter > 0 && slideAfter <= swiper.size)\r\n || (slideBefore <= 0 && slideAfter >= swiper.size);\r\n if (isVisible) {\r\n swiper.visibleSlides.push(slide);\r\n swiper.visibleSlidesIndexes.push(i);\r\n slides.eq(i).addClass(params.slideVisibleClass);\r\n }\r\n }\r\n slide.progress = rtl ? -slideProgress : slideProgress;\r\n }\r\n swiper.visibleSlides = $(swiper.visibleSlides);\r\n }\r\n\r\n function updateProgress(translate) {\r\n if (translate === void 0) translate = (this && this.translate) || 0;\r\n\r\n var swiper = this;\r\n var params = swiper.params;\r\n\r\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\r\n var progress = swiper.progress;\r\n var isBeginning = swiper.isBeginning;\r\n var isEnd = swiper.isEnd;\r\n var wasBeginning = isBeginning;\r\n var wasEnd = isEnd;\r\n if (translatesDiff === 0) {\r\n progress = 0;\r\n isBeginning = true;\r\n isEnd = true;\r\n } else {\r\n progress = (translate - swiper.minTranslate()) / (translatesDiff);\r\n isBeginning = progress <= 0;\r\n isEnd = progress >= 1;\r\n }\r\n Utils.extend(swiper, {\r\n progress: progress,\r\n isBeginning: isBeginning,\r\n isEnd: isEnd,\r\n });\r\n\r\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\r\n swiper.updateSlidesProgress(translate);\r\n }\r\n\r\n if (isBeginning && !wasBeginning) {\r\n swiper.emit('reachBeginning toEdge');\r\n }\r\n if (isEnd && !wasEnd) {\r\n swiper.emit('reachEnd toEdge');\r\n }\r\n if ((wasBeginning && !isBeginning) || (wasEnd && !isEnd)) {\r\n swiper.emit('fromEdge');\r\n }\r\n\r\n swiper.emit('progress', progress);\r\n }\r\n\r\n function updateSlidesClasses() {\r\n var swiper = this;\r\n\r\n var slides = swiper.slides;\r\n var params = swiper.params;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var activeIndex = swiper.activeIndex;\r\n var realIndex = swiper.realIndex;\r\n var isVirtual = swiper.virtual && params.virtual.enabled;\r\n\r\n slides.removeClass(((params.slideActiveClass) + \" \" + (params.slideNextClass) + \" \" + (params.slidePrevClass) + \" \" + (params.slideDuplicateActiveClass) + \" \" + (params.slideDuplicateNextClass) + \" \" + (params.slideDuplicatePrevClass)));\r\n\r\n var activeSlide;\r\n if (isVirtual) {\r\n activeSlide = swiper.$wrapperEl.find((\".\" + (params.slideClass) + \"[data-swiper-slide-index=\\\"\" + activeIndex + \"\\\"]\"));\r\n } else {\r\n activeSlide = slides.eq(activeIndex);\r\n }\r\n\r\n // Active classes\r\n activeSlide.addClass(params.slideActiveClass);\r\n\r\n if (params.loop) {\r\n // Duplicate to all looped slides\r\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\r\n $wrapperEl\r\n .children((\".\" + (params.slideClass) + \":not(.\" + (params.slideDuplicateClass) + \")[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\"))\r\n .addClass(params.slideDuplicateActiveClass);\r\n } else {\r\n $wrapperEl\r\n .children((\".\" + (params.slideClass) + \".\" + (params.slideDuplicateClass) + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\"))\r\n .addClass(params.slideDuplicateActiveClass);\r\n }\r\n }\r\n // Next Slide\r\n var nextSlide = activeSlide.nextAll((\".\" + (params.slideClass))).eq(0).addClass(params.slideNextClass);\r\n if (params.loop && nextSlide.length === 0) {\r\n nextSlide = slides.eq(0);\r\n nextSlide.addClass(params.slideNextClass);\r\n }\r\n // Prev Slide\r\n var prevSlide = activeSlide.prevAll((\".\" + (params.slideClass))).eq(0).addClass(params.slidePrevClass);\r\n if (params.loop && prevSlide.length === 0) {\r\n prevSlide = slides.eq(-1);\r\n prevSlide.addClass(params.slidePrevClass);\r\n }\r\n if (params.loop) {\r\n // Duplicate to all looped slides\r\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\r\n $wrapperEl\r\n .children((\".\" + (params.slideClass) + \":not(.\" + (params.slideDuplicateClass) + \")[data-swiper-slide-index=\\\"\" + (nextSlide.attr('data-swiper-slide-index')) + \"\\\"]\"))\r\n .addClass(params.slideDuplicateNextClass);\r\n } else {\r\n $wrapperEl\r\n .children((\".\" + (params.slideClass) + \".\" + (params.slideDuplicateClass) + \"[data-swiper-slide-index=\\\"\" + (nextSlide.attr('data-swiper-slide-index')) + \"\\\"]\"))\r\n .addClass(params.slideDuplicateNextClass);\r\n }\r\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\r\n $wrapperEl\r\n .children((\".\" + (params.slideClass) + \":not(.\" + (params.slideDuplicateClass) + \")[data-swiper-slide-index=\\\"\" + (prevSlide.attr('data-swiper-slide-index')) + \"\\\"]\"))\r\n .addClass(params.slideDuplicatePrevClass);\r\n } else {\r\n $wrapperEl\r\n .children((\".\" + (params.slideClass) + \".\" + (params.slideDuplicateClass) + \"[data-swiper-slide-index=\\\"\" + (prevSlide.attr('data-swiper-slide-index')) + \"\\\"]\"))\r\n .addClass(params.slideDuplicatePrevClass);\r\n }\r\n }\r\n }\r\n\r\n function updateActiveIndex(newActiveIndex) {\r\n var swiper = this;\r\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\r\n var slidesGrid = swiper.slidesGrid;\r\n var snapGrid = swiper.snapGrid;\r\n var params = swiper.params;\r\n var previousIndex = swiper.activeIndex;\r\n var previousRealIndex = swiper.realIndex;\r\n var previousSnapIndex = swiper.snapIndex;\r\n var activeIndex = newActiveIndex;\r\n var snapIndex;\r\n if (typeof activeIndex === 'undefined') {\r\n for (var i = 0; i < slidesGrid.length; i += 1) {\r\n if (typeof slidesGrid[i + 1] !== 'undefined') {\r\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - ((slidesGrid[i + 1] - slidesGrid[i]) / 2)) {\r\n activeIndex = i;\r\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\r\n activeIndex = i + 1;\r\n }\r\n } else if (translate >= slidesGrid[i]) {\r\n activeIndex = i;\r\n }\r\n }\r\n // Normalize slideIndex\r\n if (params.normalizeSlideIndex) {\r\n if (activeIndex < 0 || typeof activeIndex === 'undefined') {\r\n activeIndex = 0;\r\n }\r\n }\r\n }\r\n if (snapGrid.indexOf(translate) >= 0) {\r\n snapIndex = snapGrid.indexOf(translate);\r\n } else {\r\n snapIndex = Math.floor(activeIndex / params.slidesPerGroup);\r\n }\r\n if (snapIndex >= snapGrid.length) {\r\n snapIndex = snapGrid.length - 1;\r\n }\r\n if (activeIndex === previousIndex) {\r\n if (snapIndex !== previousSnapIndex) {\r\n swiper.snapIndex = snapIndex;\r\n swiper.emit('snapIndexChange');\r\n }\r\n return;\r\n }\r\n\r\n // Get real index\r\n var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\r\n\r\n Utils.extend(swiper, {\r\n snapIndex: snapIndex,\r\n realIndex: realIndex,\r\n previousIndex: previousIndex,\r\n activeIndex: activeIndex,\r\n });\r\n swiper.emit('activeIndexChange');\r\n swiper.emit('snapIndexChange');\r\n if (previousRealIndex !== realIndex) {\r\n swiper.emit('realIndexChange');\r\n }\r\n swiper.emit('slideChange');\r\n }\r\n\r\n function updateClickedSlide(e) {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var slide = $(e.target).closest((\".\" + (params.slideClass)))[0];\r\n var slideFound = false;\r\n if (slide) {\r\n for (var i = 0; i < swiper.slides.length; i += 1) {\r\n if (swiper.slides[i] === slide) {\r\n slideFound = true;\r\n }\r\n }\r\n }\r\n\r\n if (slide && slideFound) {\r\n swiper.clickedSlide = slide;\r\n if (swiper.virtual && swiper.params.virtual.enabled) {\r\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\r\n } else {\r\n swiper.clickedIndex = $(slide).index();\r\n }\r\n } else {\r\n swiper.clickedSlide = undefined;\r\n swiper.clickedIndex = undefined;\r\n return;\r\n }\r\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\r\n swiper.slideToClickedSlide();\r\n }\r\n }\r\n\r\n var update = {\r\n updateSize: updateSize,\r\n updateSlides: updateSlides,\r\n updateAutoHeight: updateAutoHeight,\r\n updateSlidesOffset: updateSlidesOffset,\r\n updateSlidesProgress: updateSlidesProgress,\r\n updateProgress: updateProgress,\r\n updateSlidesClasses: updateSlidesClasses,\r\n updateActiveIndex: updateActiveIndex,\r\n updateClickedSlide: updateClickedSlide,\r\n };\r\n\r\n function getTranslate(axis) {\r\n if (axis === void 0) axis = this.isHorizontal() ? 'x' : 'y';\r\n\r\n var swiper = this;\r\n\r\n var params = swiper.params;\r\n var rtl = swiper.rtlTranslate;\r\n var translate = swiper.translate;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n\r\n if (params.virtualTranslate) {\r\n return rtl ? -translate : translate;\r\n }\r\n\r\n var currentTranslate = Utils.getTranslate($wrapperEl[0], axis);\r\n if (rtl) {\r\n currentTranslate = -currentTranslate;\r\n }\r\n\r\n return currentTranslate || 0;\r\n }\r\n\r\n function setTranslate(translate, byController) {\r\n var swiper = this;\r\n var rtl = swiper.rtlTranslate;\r\n var params = swiper.params;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var progress = swiper.progress;\r\n var x = 0;\r\n var y = 0;\r\n var z = 0;\r\n\r\n if (swiper.isHorizontal()) {\r\n x = rtl ? -translate : translate;\r\n } else {\r\n y = translate;\r\n }\r\n\r\n if (params.roundLengths) {\r\n x = Math.floor(x);\r\n y = Math.floor(y);\r\n }\r\n\r\n if (!params.virtualTranslate) {\r\n if (Support.transforms3d) {\r\n $wrapperEl.transform((\"translate3d(\" + x + \"px, \" + y + \"px, \" + z + \"px)\"));\r\n }\r\n else {\r\n $wrapperEl.transform((\"translate(\" + x + \"px, \" + y + \"px)\"));\r\n }\r\n }\r\n swiper.previousTranslate = swiper.translate;\r\n swiper.translate = swiper.isHorizontal() ? x : y;\r\n\r\n // Check if we need to update progress\r\n var newProgress;\r\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\r\n if (translatesDiff === 0) {\r\n newProgress = 0;\r\n } else {\r\n newProgress = (translate - swiper.minTranslate()) / (translatesDiff);\r\n }\r\n if (newProgress !== progress) {\r\n swiper.updateProgress(translate);\r\n }\r\n\r\n swiper.emit('setTranslate', swiper.translate, byController);\r\n }\r\n\r\n function minTranslate() {\r\n return (-this.snapGrid[0]);\r\n }\r\n\r\n function maxTranslate() {\r\n return (-this.snapGrid[this.snapGrid.length - 1]);\r\n }\r\n\r\n var translate = {\r\n getTranslate: getTranslate,\r\n setTranslate: setTranslate,\r\n minTranslate: minTranslate,\r\n maxTranslate: maxTranslate,\r\n };\r\n\r\n function setTransition(duration, byController) {\r\n var swiper = this;\r\n\r\n swiper.$wrapperEl.transition(duration);\r\n\r\n swiper.emit('setTransition', duration, byController);\r\n }\r\n\r\n function transitionStart(runCallbacks, direction) {\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var activeIndex = swiper.activeIndex;\r\n var params = swiper.params;\r\n var previousIndex = swiper.previousIndex;\r\n if (params.autoHeight) {\r\n swiper.updateAutoHeight();\r\n }\r\n\r\n var dir = direction;\r\n if (!dir) {\r\n if (activeIndex > previousIndex) {\r\n dir = 'next';\r\n }\r\n else if (activeIndex < previousIndex) {\r\n dir = 'prev';\r\n }\r\n else {\r\n dir = 'reset';\r\n }\r\n }\r\n\r\n swiper.emit('transitionStart');\r\n\r\n if (runCallbacks && activeIndex !== previousIndex) {\r\n if (dir === 'reset') {\r\n swiper.emit('slideResetTransitionStart');\r\n return;\r\n }\r\n swiper.emit('slideChangeTransitionStart');\r\n if (dir === 'next') {\r\n swiper.emit('slideNextTransitionStart');\r\n } else {\r\n swiper.emit('slidePrevTransitionStart');\r\n }\r\n }\r\n }\r\n\r\n function transitionEnd$1(runCallbacks, direction) {\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var activeIndex = swiper.activeIndex;\r\n var previousIndex = swiper.previousIndex;\r\n swiper.animating = false;\r\n swiper.setTransition(0);\r\n\r\n var dir = direction;\r\n if (!dir) {\r\n if (activeIndex > previousIndex) {\r\n dir = 'next';\r\n }\r\n else if (activeIndex < previousIndex) {\r\n dir = 'prev';\r\n }\r\n else {\r\n dir = 'reset';\r\n }\r\n }\r\n\r\n swiper.emit('transitionEnd');\r\n\r\n if (runCallbacks && activeIndex !== previousIndex) {\r\n if (dir === 'reset') {\r\n swiper.emit('slideResetTransitionEnd');\r\n return;\r\n }\r\n swiper.emit('slideChangeTransitionEnd');\r\n if (dir === 'next') {\r\n swiper.emit('slideNextTransitionEnd');\r\n } else {\r\n swiper.emit('slidePrevTransitionEnd');\r\n }\r\n }\r\n }\r\n\r\n var transition$1 = {\r\n setTransition: setTransition,\r\n transitionStart: transitionStart,\r\n transitionEnd: transitionEnd$1,\r\n };\r\n\r\n function slideTo(index, speed, runCallbacks, internal) {\r\n if (index === void 0) index = 0;\r\n if (speed === void 0) speed = this.params.speed;\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var slideIndex = index;\r\n if (slideIndex < 0) {\r\n slideIndex = 0;\r\n }\r\n\r\n var params = swiper.params;\r\n var snapGrid = swiper.snapGrid;\r\n var slidesGrid = swiper.slidesGrid;\r\n var previousIndex = swiper.previousIndex;\r\n var activeIndex = swiper.activeIndex;\r\n var rtl = swiper.rtlTranslate;\r\n if (swiper.animating && params.preventInteractionOnTransition) {\r\n return false;\r\n }\r\n\r\n var snapIndex = Math.floor(slideIndex / params.slidesPerGroup);\r\n if (snapIndex >= snapGrid.length) {\r\n snapIndex = snapGrid.length - 1;\r\n }\r\n\r\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\r\n swiper.emit('beforeSlideChangeStart');\r\n }\r\n\r\n var translate = -snapGrid[snapIndex];\r\n\r\n // Update progress\r\n swiper.updateProgress(translate);\r\n\r\n // Normalize slideIndex\r\n if (params.normalizeSlideIndex) {\r\n for (var i = 0; i < slidesGrid.length; i += 1) {\r\n if (-Math.floor(translate * 100) >= Math.floor(slidesGrid[i] * 100)) {\r\n slideIndex = i;\r\n }\r\n }\r\n }\r\n // Directions locks\r\n if (swiper.initialized && slideIndex !== activeIndex) {\r\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\r\n return false;\r\n }\r\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\r\n if ((activeIndex || 0) !== slideIndex) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n var direction;\r\n if (slideIndex > activeIndex) {\r\n direction = 'next';\r\n }\r\n else if (slideIndex < activeIndex) {\r\n direction = 'prev';\r\n }\r\n else {\r\n direction = 'reset';\r\n }\r\n\r\n\r\n // Update Index\r\n if ((rtl && -translate === swiper.translate) || (!rtl && translate === swiper.translate)) {\r\n swiper.updateActiveIndex(slideIndex);\r\n // Update Height\r\n if (params.autoHeight) {\r\n swiper.updateAutoHeight();\r\n }\r\n swiper.updateSlidesClasses();\r\n if (params.effect !== 'slide') {\r\n swiper.setTranslate(translate);\r\n }\r\n if (direction !== 'reset') {\r\n swiper.transitionStart(runCallbacks, direction);\r\n swiper.transitionEnd(runCallbacks, direction);\r\n }\r\n return false;\r\n }\r\n\r\n if (speed === 0 || !Support.transition) {\r\n swiper.setTransition(0);\r\n swiper.setTranslate(translate);\r\n swiper.updateActiveIndex(slideIndex);\r\n swiper.updateSlidesClasses();\r\n swiper.emit('beforeTransitionStart', speed, internal);\r\n swiper.transitionStart(runCallbacks, direction);\r\n swiper.transitionEnd(runCallbacks, direction);\r\n } else {\r\n swiper.setTransition(speed);\r\n swiper.setTranslate(translate);\r\n swiper.updateActiveIndex(slideIndex);\r\n swiper.updateSlidesClasses();\r\n swiper.emit('beforeTransitionStart', speed, internal);\r\n swiper.transitionStart(runCallbacks, direction);\r\n if (!swiper.animating) {\r\n swiper.animating = true;\r\n if (!swiper.onSlideToWrapperTransitionEnd) {\r\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n if (e.target !== this) {\r\n return;\r\n }\r\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\r\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\r\n swiper.onSlideToWrapperTransitionEnd = null;\r\n delete swiper.onSlideToWrapperTransitionEnd;\r\n swiper.transitionEnd(runCallbacks, direction);\r\n };\r\n }\r\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\r\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function slideToLoop(index, speed, runCallbacks, internal) {\r\n if (index === void 0) index = 0;\r\n if (speed === void 0) speed = this.params.speed;\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var newIndex = index;\r\n if (swiper.params.loop) {\r\n newIndex += swiper.loopedSlides;\r\n }\r\n\r\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\r\n }\r\n\r\n /* eslint no-unused-vars: \"off\" */\r\n function slideNext(speed, runCallbacks, internal) {\r\n if (speed === void 0) speed = this.params.speed;\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var params = swiper.params;\r\n var animating = swiper.animating;\r\n if (params.loop) {\r\n if (animating) {\r\n return false;\r\n }\r\n swiper.loopFix();\r\n // eslint-disable-next-line\r\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\r\n return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal);\r\n }\r\n return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal);\r\n }\r\n\r\n /* eslint no-unused-vars: \"off\" */\r\n function slidePrev(speed, runCallbacks, internal) {\r\n if (speed === void 0) speed = this.params.speed;\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var params = swiper.params;\r\n var animating = swiper.animating;\r\n var snapGrid = swiper.snapGrid;\r\n var slidesGrid = swiper.slidesGrid;\r\n var rtlTranslate = swiper.rtlTranslate;\r\n\r\n if (params.loop) {\r\n if (animating) {\r\n return false;\r\n }\r\n swiper.loopFix();\r\n // eslint-disable-next-line\r\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\r\n }\r\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\r\n\r\n function normalize(val) {\r\n if (val < 0) {\r\n return -Math.floor(Math.abs(val));\r\n }\r\n return Math.floor(val);\r\n }\r\n\r\n var normalizedTranslate = normalize(translate);\r\n var normalizedSnapGrid = snapGrid.map(function (val) {\r\n return normalize(val);\r\n });\r\n var normalizedSlidesGrid = slidesGrid.map(function (val) {\r\n return normalize(val);\r\n });\r\n\r\n var currentSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)];\r\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\r\n var prevIndex;\r\n if (typeof prevSnap !== 'undefined') {\r\n prevIndex = slidesGrid.indexOf(prevSnap);\r\n if (prevIndex < 0) {\r\n prevIndex = swiper.activeIndex - 1;\r\n }\r\n }\r\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\r\n }\r\n\r\n /* eslint no-unused-vars: \"off\" */\r\n function slideReset(speed, runCallbacks, internal) {\r\n if (speed === void 0) speed = this.params.speed;\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\r\n }\r\n\r\n /* eslint no-unused-vars: \"off\" */\r\n function slideToClosest(speed, runCallbacks, internal) {\r\n if (speed === void 0) speed = this.params.speed;\r\n if (runCallbacks === void 0) runCallbacks = true;\r\n\r\n var swiper = this;\r\n var index = swiper.activeIndex;\r\n var snapIndex = Math.floor(index / swiper.params.slidesPerGroup);\r\n\r\n if (snapIndex < swiper.snapGrid.length - 1) {\r\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\r\n\r\n var currentSnap = swiper.snapGrid[snapIndex];\r\n var nextSnap = swiper.snapGrid[snapIndex + 1];\r\n\r\n if ((translate - currentSnap) > (nextSnap - currentSnap) / 2) {\r\n index = swiper.params.slidesPerGroup;\r\n }\r\n }\r\n\r\n return swiper.slideTo(index, speed, runCallbacks, internal);\r\n }\r\n\r\n function slideToClickedSlide() {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n\r\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\r\n var slideToIndex = swiper.clickedIndex;\r\n var realIndex;\r\n if (params.loop) {\r\n if (swiper.animating) {\r\n return;\r\n }\r\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\r\n if (params.centeredSlides) {\r\n if (\r\n (slideToIndex < swiper.loopedSlides - (slidesPerView / 2))\r\n || (slideToIndex > (swiper.slides.length - swiper.loopedSlides) + (slidesPerView / 2))\r\n ) {\r\n swiper.loopFix();\r\n slideToIndex = $wrapperEl\r\n .children((\".\" + (params.slideClass) + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + (params.slideDuplicateClass) + \")\"))\r\n .eq(0)\r\n .index();\r\n\r\n Utils.nextTick(function () {\r\n swiper.slideTo(slideToIndex);\r\n });\r\n } else {\r\n swiper.slideTo(slideToIndex);\r\n }\r\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\r\n swiper.loopFix();\r\n slideToIndex = $wrapperEl\r\n .children((\".\" + (params.slideClass) + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + (params.slideDuplicateClass) + \")\"))\r\n .eq(0)\r\n .index();\r\n\r\n Utils.nextTick(function () {\r\n swiper.slideTo(slideToIndex);\r\n });\r\n } else {\r\n swiper.slideTo(slideToIndex);\r\n }\r\n } else {\r\n swiper.slideTo(slideToIndex);\r\n }\r\n }\r\n\r\n var slide = {\r\n slideTo: slideTo,\r\n slideToLoop: slideToLoop,\r\n slideNext: slideNext,\r\n slidePrev: slidePrev,\r\n slideReset: slideReset,\r\n slideToClosest: slideToClosest,\r\n slideToClickedSlide: slideToClickedSlide,\r\n };\r\n\r\n function loopCreate() {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n // Remove duplicated slides\r\n $wrapperEl.children((\".\" + (params.slideClass) + \".\" + (params.slideDuplicateClass))).remove();\r\n\r\n var slides = $wrapperEl.children((\".\" + (params.slideClass)));\r\n\r\n if (params.loopFillGroupWithBlank) {\r\n var blankSlidesNum = params.slidesPerGroup - (slides.length % params.slidesPerGroup);\r\n if (blankSlidesNum !== params.slidesPerGroup) {\r\n for (var i = 0; i < blankSlidesNum; i += 1) {\r\n var blankNode = $(doc.createElement('div')).addClass(((params.slideClass) + \" \" + (params.slideBlankClass)));\r\n $wrapperEl.append(blankNode);\r\n }\r\n slides = $wrapperEl.children((\".\" + (params.slideClass)));\r\n }\r\n }\r\n\r\n if (params.slidesPerView === 'auto' && !params.loopedSlides) {\r\n params.loopedSlides = slides.length;\r\n }\r\n\r\n swiper.loopedSlides = parseInt(params.loopedSlides || params.slidesPerView, 10);\r\n swiper.loopedSlides += params.loopAdditionalSlides;\r\n if (swiper.loopedSlides > slides.length) {\r\n swiper.loopedSlides = slides.length;\r\n }\r\n\r\n var prependSlides = [];\r\n var appendSlides = [];\r\n slides.each(function (index, el) {\r\n var slide = $(el);\r\n if (index < swiper.loopedSlides) {\r\n appendSlides.push(el);\r\n }\r\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) {\r\n prependSlides.push(el);\r\n }\r\n slide.attr('data-swiper-slide-index', index);\r\n });\r\n for (var i$1 = 0; i$1 < appendSlides.length; i$1 += 1) {\r\n $wrapperEl.append($(appendSlides[i$1].cloneNode(true)).addClass(params.slideDuplicateClass));\r\n }\r\n for (var i$2 = prependSlides.length - 1; i$2 >= 0; i$2 -= 1) {\r\n $wrapperEl.prepend($(prependSlides[i$2].cloneNode(true)).addClass(params.slideDuplicateClass));\r\n }\r\n }\r\n\r\n function loopFix() {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var activeIndex = swiper.activeIndex;\r\n var slides = swiper.slides;\r\n var loopedSlides = swiper.loopedSlides;\r\n var allowSlidePrev = swiper.allowSlidePrev;\r\n var allowSlideNext = swiper.allowSlideNext;\r\n var snapGrid = swiper.snapGrid;\r\n var rtl = swiper.rtlTranslate;\r\n var newIndex;\r\n swiper.allowSlidePrev = true;\r\n swiper.allowSlideNext = true;\r\n\r\n var snapTranslate = -snapGrid[activeIndex];\r\n var diff = snapTranslate - swiper.getTranslate();\r\n\r\n\r\n // Fix For Negative Oversliding\r\n if (activeIndex < loopedSlides) {\r\n newIndex = (slides.length - (loopedSlides * 3)) + activeIndex;\r\n newIndex += loopedSlides;\r\n var slideChanged = swiper.slideTo(newIndex, 0, false, true);\r\n if (slideChanged && diff !== 0) {\r\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\r\n }\r\n } else if ((params.slidesPerView === 'auto' && activeIndex >= loopedSlides * 2) || (activeIndex >= slides.length - loopedSlides)) {\r\n // Fix For Positive Oversliding\r\n newIndex = -slides.length + activeIndex + loopedSlides;\r\n newIndex += loopedSlides;\r\n var slideChanged$1 = swiper.slideTo(newIndex, 0, false, true);\r\n if (slideChanged$1 && diff !== 0) {\r\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\r\n }\r\n }\r\n swiper.allowSlidePrev = allowSlidePrev;\r\n swiper.allowSlideNext = allowSlideNext;\r\n }\r\n\r\n function loopDestroy() {\r\n var swiper = this;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var params = swiper.params;\r\n var slides = swiper.slides;\r\n $wrapperEl.children((\".\" + (params.slideClass) + \".\" + (params.slideDuplicateClass))).remove();\r\n slides.removeAttr('data-swiper-slide-index');\r\n }\r\n\r\n var loop = {\r\n loopCreate: loopCreate,\r\n loopFix: loopFix,\r\n loopDestroy: loopDestroy,\r\n };\r\n\r\n function setGrabCursor(moving) {\r\n var swiper = this;\r\n if (Support.touch || !swiper.params.simulateTouch || (swiper.params.watchOverflow && swiper.isLocked)) {\r\n return;\r\n }\r\n var el = swiper.el;\r\n el.style.cursor = 'move';\r\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\r\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\r\n el.style.cursor = moving ? 'grabbing' : 'grab';\r\n }\r\n\r\n function unsetGrabCursor() {\r\n var swiper = this;\r\n if (Support.touch || (swiper.params.watchOverflow && swiper.isLocked)) {\r\n return;\r\n }\r\n swiper.el.style.cursor = '';\r\n }\r\n\r\n var grabCursor = {\r\n setGrabCursor: setGrabCursor,\r\n unsetGrabCursor: unsetGrabCursor,\r\n };\r\n\r\n function appendSlide(slides) {\r\n var swiper = this;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var params = swiper.params;\r\n if (params.loop) {\r\n swiper.loopDestroy();\r\n }\r\n if (typeof slides === 'object' && 'length' in slides) {\r\n for (var i = 0; i < slides.length; i += 1) {\r\n if (slides[i]) {\r\n $wrapperEl.append(slides[i]);\r\n }\r\n }\r\n } else {\r\n $wrapperEl.append(slides);\r\n }\r\n if (params.loop) {\r\n swiper.loopCreate();\r\n }\r\n if (!(params.observer && Support.observer)) {\r\n swiper.update();\r\n }\r\n }\r\n\r\n function prependSlide(slides) {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var activeIndex = swiper.activeIndex;\r\n\r\n if (params.loop) {\r\n swiper.loopDestroy();\r\n }\r\n var newActiveIndex = activeIndex + 1;\r\n if (typeof slides === 'object' && 'length' in slides) {\r\n for (var i = 0; i < slides.length; i += 1) {\r\n if (slides[i]) {\r\n $wrapperEl.prepend(slides[i]);\r\n }\r\n }\r\n newActiveIndex = activeIndex + slides.length;\r\n } else {\r\n $wrapperEl.prepend(slides);\r\n }\r\n if (params.loop) {\r\n swiper.loopCreate();\r\n }\r\n if (!(params.observer && Support.observer)) {\r\n swiper.update();\r\n }\r\n swiper.slideTo(newActiveIndex, 0, false);\r\n }\r\n\r\n function addSlide(index, slides) {\r\n var swiper = this;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var params = swiper.params;\r\n var activeIndex = swiper.activeIndex;\r\n var activeIndexBuffer = activeIndex;\r\n if (params.loop) {\r\n activeIndexBuffer -= swiper.loopedSlides;\r\n swiper.loopDestroy();\r\n swiper.slides = $wrapperEl.children((\".\" + (params.slideClass)));\r\n }\r\n var baseLength = swiper.slides.length;\r\n if (index <= 0) {\r\n swiper.prependSlide(slides);\r\n return;\r\n }\r\n if (index >= baseLength) {\r\n swiper.appendSlide(slides);\r\n return;\r\n }\r\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\r\n\r\n var slidesBuffer = [];\r\n for (var i = baseLength - 1; i >= index; i -= 1) {\r\n var currentSlide = swiper.slides.eq(i);\r\n currentSlide.remove();\r\n slidesBuffer.unshift(currentSlide);\r\n }\r\n\r\n if (typeof slides === 'object' && 'length' in slides) {\r\n for (var i$1 = 0; i$1 < slides.length; i$1 += 1) {\r\n if (slides[i$1]) {\r\n $wrapperEl.append(slides[i$1]);\r\n }\r\n }\r\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\r\n } else {\r\n $wrapperEl.append(slides);\r\n }\r\n\r\n for (var i$2 = 0; i$2 < slidesBuffer.length; i$2 += 1) {\r\n $wrapperEl.append(slidesBuffer[i$2]);\r\n }\r\n\r\n if (params.loop) {\r\n swiper.loopCreate();\r\n }\r\n if (!(params.observer && Support.observer)) {\r\n swiper.update();\r\n }\r\n if (params.loop) {\r\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\r\n } else {\r\n swiper.slideTo(newActiveIndex, 0, false);\r\n }\r\n }\r\n\r\n function removeSlide(slidesIndexes) {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var activeIndex = swiper.activeIndex;\r\n\r\n var activeIndexBuffer = activeIndex;\r\n if (params.loop) {\r\n activeIndexBuffer -= swiper.loopedSlides;\r\n swiper.loopDestroy();\r\n swiper.slides = $wrapperEl.children((\".\" + (params.slideClass)));\r\n }\r\n var newActiveIndex = activeIndexBuffer;\r\n var indexToRemove;\r\n\r\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\r\n for (var i = 0; i < slidesIndexes.length; i += 1) {\r\n indexToRemove = slidesIndexes[i];\r\n if (swiper.slides[indexToRemove]) {\r\n swiper.slides.eq(indexToRemove).remove();\r\n }\r\n if (indexToRemove < newActiveIndex) {\r\n newActiveIndex -= 1;\r\n }\r\n }\r\n newActiveIndex = Math.max(newActiveIndex, 0);\r\n } else {\r\n indexToRemove = slidesIndexes;\r\n if (swiper.slides[indexToRemove]) {\r\n swiper.slides.eq(indexToRemove).remove();\r\n }\r\n if (indexToRemove < newActiveIndex) {\r\n newActiveIndex -= 1;\r\n }\r\n newActiveIndex = Math.max(newActiveIndex, 0);\r\n }\r\n\r\n if (params.loop) {\r\n swiper.loopCreate();\r\n }\r\n\r\n if (!(params.observer && Support.observer)) {\r\n swiper.update();\r\n }\r\n if (params.loop) {\r\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\r\n } else {\r\n swiper.slideTo(newActiveIndex, 0, false);\r\n }\r\n }\r\n\r\n function removeAllSlides() {\r\n var swiper = this;\r\n\r\n var slidesIndexes = [];\r\n for (var i = 0; i < swiper.slides.length; i += 1) {\r\n slidesIndexes.push(i);\r\n }\r\n swiper.removeSlide(slidesIndexes);\r\n }\r\n\r\n var manipulation = {\r\n appendSlide: appendSlide,\r\n prependSlide: prependSlide,\r\n addSlide: addSlide,\r\n removeSlide: removeSlide,\r\n removeAllSlides: removeAllSlides,\r\n };\r\n\r\n var Device = (function Device() {\r\n var ua = win.navigator.userAgent;\r\n\r\n var device = {\r\n ios: false,\r\n android: false,\r\n androidChrome: false,\r\n desktop: false,\r\n windows: false,\r\n iphone: false,\r\n ipod: false,\r\n ipad: false,\r\n cordova: win.cordova || win.phonegap,\r\n phonegap: win.cordova || win.phonegap,\r\n };\r\n\r\n var windows = ua.match(/(Windows Phone);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\r\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\r\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\r\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\r\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\r\n\r\n\r\n // Windows\r\n if (windows) {\r\n device.os = 'windows';\r\n device.osVersion = windows[2];\r\n device.windows = true;\r\n }\r\n // Android\r\n if (android && !windows) {\r\n device.os = 'android';\r\n device.osVersion = android[2];\r\n device.android = true;\r\n device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0;\r\n }\r\n if (ipad || iphone || ipod) {\r\n device.os = 'ios';\r\n device.ios = true;\r\n }\r\n // iOS\r\n if (iphone && !ipod) {\r\n device.osVersion = iphone[2].replace(/_/g, '.');\r\n device.iphone = true;\r\n }\r\n if (ipad) {\r\n device.osVersion = ipad[2].replace(/_/g, '.');\r\n device.ipad = true;\r\n }\r\n if (ipod) {\r\n device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;\r\n device.iphone = true;\r\n }\r\n // iOS 8+ changed UA\r\n if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) {\r\n if (device.osVersion.split('.')[0] === '10') {\r\n device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];\r\n }\r\n }\r\n\r\n // Desktop\r\n device.desktop = !(device.os || device.android || device.webView);\r\n\r\n // Webview\r\n device.webView = (iphone || ipad || ipod) && ua.match(/.*AppleWebKit(?!.*Safari)/i);\r\n\r\n // Minimal UI\r\n if (device.os && device.os === 'ios') {\r\n var osVersionArr = device.osVersion.split('.');\r\n var metaViewport = doc.querySelector('meta[name=\"viewport\"]');\r\n device.minimalUi = !device.webView\r\n && (ipod || iphone)\r\n && (osVersionArr[0] * 1 === 7 ? osVersionArr[1] * 1 >= 1 : osVersionArr[0] * 1 > 7)\r\n && metaViewport && metaViewport.getAttribute('content').indexOf('minimal-ui') >= 0;\r\n }\r\n\r\n // Pixel Ratio\r\n device.pixelRatio = win.devicePixelRatio || 1;\r\n\r\n // Export object\r\n return device;\r\n }());\r\n\r\n function onTouchStart(event) {\r\n var swiper = this;\r\n var data = swiper.touchEventsData;\r\n var params = swiper.params;\r\n var touches = swiper.touches;\r\n if (swiper.animating && params.preventInteractionOnTransition) {\r\n return;\r\n }\r\n var e = event;\r\n if (e.originalEvent) {\r\n e = e.originalEvent;\r\n }\r\n data.isTouchEvent = e.type === 'touchstart';\r\n if (!data.isTouchEvent && 'which' in e && e.which === 3) {\r\n return;\r\n }\r\n if (!data.isTouchEvent && 'button' in e && e.button > 0) {\r\n return;\r\n }\r\n if (data.isTouched && data.isMoved) {\r\n return;\r\n }\r\n if (params.noSwiping && $(e.target).closest(params.noSwipingSelector ? params.noSwipingSelector : (\".\" + (params.noSwipingClass)))[0]) {\r\n swiper.allowClick = true;\r\n return;\r\n }\r\n if (params.swipeHandler) {\r\n if (!$(e).closest(params.swipeHandler)[0]) {\r\n return;\r\n }\r\n }\r\n\r\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\r\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\r\n var startX = touches.currentX;\r\n var startY = touches.currentY;\r\n\r\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore\r\n\r\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\r\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\r\n if (\r\n edgeSwipeDetection\r\n && ((startX <= edgeSwipeThreshold)\r\n || (startX >= win.screen.width - edgeSwipeThreshold))\r\n ) {\r\n return;\r\n }\r\n\r\n Utils.extend(data, {\r\n isTouched: true,\r\n isMoved: false,\r\n allowTouchCallbacks: true,\r\n isScrolling: undefined,\r\n startMoving: undefined,\r\n });\r\n\r\n touches.startX = startX;\r\n touches.startY = startY;\r\n data.touchStartTime = Utils.now();\r\n swiper.allowClick = true;\r\n swiper.updateSize();\r\n swiper.swipeDirection = undefined;\r\n if (params.threshold > 0) {\r\n data.allowThresholdMove = false;\r\n }\r\n if (e.type !== 'touchstart') {\r\n var preventDefault = true;\r\n if ($(e.target).is(data.formElements)) {\r\n preventDefault = false;\r\n }\r\n if (\r\n doc.activeElement\r\n && $(doc.activeElement).is(data.formElements)\r\n && doc.activeElement !== e.target\r\n ) {\r\n doc.activeElement.blur();\r\n }\r\n if (preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault) {\r\n e.preventDefault();\r\n }\r\n }\r\n swiper.emit('touchStart', e);\r\n }\r\n\r\n function onTouchMove(event) {\r\n var swiper = this;\r\n var data = swiper.touchEventsData;\r\n var params = swiper.params;\r\n var touches = swiper.touches;\r\n var rtl = swiper.rtlTranslate;\r\n var e = event;\r\n if (e.originalEvent) {\r\n e = e.originalEvent;\r\n }\r\n if (!data.isTouched) {\r\n if (data.startMoving && data.isScrolling) {\r\n swiper.emit('touchMoveOpposite', e);\r\n }\r\n return;\r\n }\r\n if (data.isTouchEvent && e.type === 'mousemove') {\r\n return;\r\n }\r\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\r\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\r\n if (e.preventedByNestedSwiper) {\r\n touches.startX = pageX;\r\n touches.startY = pageY;\r\n return;\r\n }\r\n if (!swiper.allowTouchMove) {\r\n // isMoved = true;\r\n swiper.allowClick = false;\r\n if (data.isTouched) {\r\n Utils.extend(touches, {\r\n startX: pageX,\r\n startY: pageY,\r\n currentX: pageX,\r\n currentY: pageY,\r\n });\r\n data.touchStartTime = Utils.now();\r\n }\r\n return;\r\n }\r\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\r\n if (swiper.isVertical()) {\r\n // Vertical\r\n if (\r\n (pageY < touches.startY && swiper.translate <= swiper.maxTranslate())\r\n || (pageY > touches.startY && swiper.translate >= swiper.minTranslate())\r\n ) {\r\n data.isTouched = false;\r\n data.isMoved = false;\r\n return;\r\n }\r\n } else if (\r\n (pageX < touches.startX && swiper.translate <= swiper.maxTranslate())\r\n || (pageX > touches.startX && swiper.translate >= swiper.minTranslate())\r\n ) {\r\n return;\r\n }\r\n }\r\n if (data.isTouchEvent && doc.activeElement) {\r\n if (e.target === doc.activeElement && $(e.target).is(data.formElements)) {\r\n data.isMoved = true;\r\n swiper.allowClick = false;\r\n return;\r\n }\r\n }\r\n if (data.allowTouchCallbacks) {\r\n swiper.emit('touchMove', e);\r\n }\r\n if (e.targetTouches && e.targetTouches.length > 1) {\r\n return;\r\n }\r\n\r\n touches.currentX = pageX;\r\n touches.currentY = pageY;\r\n\r\n var diffX = touches.currentX - touches.startX;\r\n var diffY = touches.currentY - touches.startY;\r\n if (swiper.params.threshold && Math.sqrt((Math.pow(diffX, 2)) + (Math.pow(diffY, 2))) < swiper.params.threshold) {\r\n return;\r\n }\r\n\r\n if (typeof data.isScrolling === 'undefined') {\r\n var touchAngle;\r\n if ((swiper.isHorizontal() && touches.currentY === touches.startY) || (swiper.isVertical() && touches.currentX === touches.startX)) {\r\n data.isScrolling = false;\r\n } else {\r\n // eslint-disable-next-line\r\n if ((diffX * diffX) + (diffY * diffY) >= 25) {\r\n touchAngle = (Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180) / Math.PI;\r\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : (90 - touchAngle > params.touchAngle);\r\n }\r\n }\r\n }\r\n if (data.isScrolling) {\r\n swiper.emit('touchMoveOpposite', e);\r\n }\r\n if (typeof data.startMoving === 'undefined') {\r\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\r\n data.startMoving = true;\r\n }\r\n }\r\n if (data.isScrolling) {\r\n data.isTouched = false;\r\n return;\r\n }\r\n if (!data.startMoving) {\r\n return;\r\n }\r\n swiper.allowClick = false;\r\n e.preventDefault();\r\n if (params.touchMoveStopPropagation && !params.nested) {\r\n e.stopPropagation();\r\n }\r\n\r\n if (!data.isMoved) {\r\n if (params.loop) {\r\n swiper.loopFix();\r\n }\r\n data.startTranslate = swiper.getTranslate();\r\n swiper.setTransition(0);\r\n if (swiper.animating) {\r\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\r\n }\r\n data.allowMomentumBounce = false;\r\n // Grab Cursor\r\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\r\n swiper.setGrabCursor(true);\r\n }\r\n swiper.emit('sliderFirstMove', e);\r\n }\r\n swiper.emit('sliderMove', e);\r\n data.isMoved = true;\r\n\r\n var diff = swiper.isHorizontal() ? diffX : diffY;\r\n touches.diff = diff;\r\n\r\n diff *= params.touchRatio;\r\n if (rtl) {\r\n diff = -diff;\r\n }\r\n\r\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\r\n data.currentTranslate = diff + data.startTranslate;\r\n\r\n var disableParentSwiper = true;\r\n var resistanceRatio = params.resistanceRatio;\r\n if (params.touchReleaseOnEdges) {\r\n resistanceRatio = 0;\r\n }\r\n if ((diff > 0 && data.currentTranslate > swiper.minTranslate())) {\r\n disableParentSwiper = false;\r\n if (params.resistance) {\r\n data.currentTranslate = (swiper.minTranslate() - 1) + (Math.pow((-swiper.minTranslate() + data.startTranslate + diff), resistanceRatio));\r\n }\r\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\r\n disableParentSwiper = false;\r\n if (params.resistance) {\r\n data.currentTranslate = (swiper.maxTranslate() + 1) - (Math.pow((swiper.maxTranslate() - data.startTranslate - diff), resistanceRatio));\r\n }\r\n }\r\n\r\n if (disableParentSwiper) {\r\n e.preventedByNestedSwiper = true;\r\n }\r\n\r\n // Directions locks\r\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\r\n data.currentTranslate = data.startTranslate;\r\n }\r\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\r\n data.currentTranslate = data.startTranslate;\r\n }\r\n\r\n\r\n // Threshold\r\n if (params.threshold > 0) {\r\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\r\n if (!data.allowThresholdMove) {\r\n data.allowThresholdMove = true;\r\n touches.startX = touches.currentX;\r\n touches.startY = touches.currentY;\r\n data.currentTranslate = data.startTranslate;\r\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\r\n return;\r\n }\r\n } else {\r\n data.currentTranslate = data.startTranslate;\r\n return;\r\n }\r\n }\r\n\r\n if (!params.followFinger) {\r\n return;\r\n }\r\n\r\n // Update active index in free mode\r\n if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n }\r\n if (params.freeMode) {\r\n // Velocity\r\n if (data.velocities.length === 0) {\r\n data.velocities.push({\r\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\r\n time: data.touchStartTime,\r\n });\r\n }\r\n data.velocities.push({\r\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\r\n time: Utils.now(),\r\n });\r\n }\r\n // Update progress\r\n swiper.updateProgress(data.currentTranslate);\r\n // Update translate\r\n swiper.setTranslate(data.currentTranslate);\r\n }\r\n\r\n function onTouchEnd(event) {\r\n var swiper = this;\r\n var data = swiper.touchEventsData;\r\n\r\n var params = swiper.params;\r\n var touches = swiper.touches;\r\n var rtl = swiper.rtlTranslate;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var slidesGrid = swiper.slidesGrid;\r\n var snapGrid = swiper.snapGrid;\r\n var e = event;\r\n if (e.originalEvent) {\r\n e = e.originalEvent;\r\n }\r\n if (data.allowTouchCallbacks) {\r\n swiper.emit('touchEnd', e);\r\n }\r\n data.allowTouchCallbacks = false;\r\n if (!data.isTouched) {\r\n if (data.isMoved && params.grabCursor) {\r\n swiper.setGrabCursor(false);\r\n }\r\n data.isMoved = false;\r\n data.startMoving = false;\r\n return;\r\n }\r\n // Return Grab Cursor\r\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\r\n swiper.setGrabCursor(false);\r\n }\r\n\r\n // Time diff\r\n var touchEndTime = Utils.now();\r\n var timeDiff = touchEndTime - data.touchStartTime;\r\n\r\n // Tap, doubleTap, Click\r\n if (swiper.allowClick) {\r\n swiper.updateClickedSlide(e);\r\n swiper.emit('tap', e);\r\n if (timeDiff < 300 && (touchEndTime - data.lastClickTime) > 300) {\r\n if (data.clickTimeout) {\r\n clearTimeout(data.clickTimeout);\r\n }\r\n data.clickTimeout = Utils.nextTick(function () {\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n swiper.emit('click', e);\r\n }, 300);\r\n }\r\n if (timeDiff < 300 && (touchEndTime - data.lastClickTime) < 300) {\r\n if (data.clickTimeout) {\r\n clearTimeout(data.clickTimeout);\r\n }\r\n swiper.emit('doubleTap', e);\r\n }\r\n }\r\n\r\n data.lastClickTime = Utils.now();\r\n Utils.nextTick(function () {\r\n if (!swiper.destroyed) {\r\n swiper.allowClick = true;\r\n }\r\n });\r\n\r\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\r\n data.isTouched = false;\r\n data.isMoved = false;\r\n data.startMoving = false;\r\n return;\r\n }\r\n data.isTouched = false;\r\n data.isMoved = false;\r\n data.startMoving = false;\r\n\r\n var currentPos;\r\n if (params.followFinger) {\r\n currentPos = rtl ? swiper.translate : -swiper.translate;\r\n } else {\r\n currentPos = -data.currentTranslate;\r\n }\r\n\r\n if (params.freeMode) {\r\n if (currentPos < -swiper.minTranslate()) {\r\n swiper.slideTo(swiper.activeIndex);\r\n return;\r\n }\r\n if (currentPos > -swiper.maxTranslate()) {\r\n if (swiper.slides.length < snapGrid.length) {\r\n swiper.slideTo(snapGrid.length - 1);\r\n } else {\r\n swiper.slideTo(swiper.slides.length - 1);\r\n }\r\n return;\r\n }\r\n\r\n if (params.freeModeMomentum) {\r\n if (data.velocities.length > 1) {\r\n var lastMoveEvent = data.velocities.pop();\r\n var velocityEvent = data.velocities.pop();\r\n\r\n var distance = lastMoveEvent.position - velocityEvent.position;\r\n var time = lastMoveEvent.time - velocityEvent.time;\r\n swiper.velocity = distance / time;\r\n swiper.velocity /= 2;\r\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\r\n swiper.velocity = 0;\r\n }\r\n // this implies that the user stopped moving a finger then released.\r\n // There would be no events with distance zero, so the last event is stale.\r\n if (time > 150 || (Utils.now() - lastMoveEvent.time) > 300) {\r\n swiper.velocity = 0;\r\n }\r\n } else {\r\n swiper.velocity = 0;\r\n }\r\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\r\n\r\n data.velocities.length = 0;\r\n var momentumDuration = 1000 * params.freeModeMomentumRatio;\r\n var momentumDistance = swiper.velocity * momentumDuration;\r\n\r\n var newPosition = swiper.translate + momentumDistance;\r\n if (rtl) {\r\n newPosition = -newPosition;\r\n }\r\n\r\n var doBounce = false;\r\n var afterBouncePosition;\r\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\r\n var needsLoopFix;\r\n if (newPosition < swiper.maxTranslate()) {\r\n if (params.freeModeMomentumBounce) {\r\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\r\n newPosition = swiper.maxTranslate() - bounceAmount;\r\n }\r\n afterBouncePosition = swiper.maxTranslate();\r\n doBounce = true;\r\n data.allowMomentumBounce = true;\r\n } else {\r\n newPosition = swiper.maxTranslate();\r\n }\r\n if (params.loop && params.centeredSlides) {\r\n needsLoopFix = true;\r\n }\r\n } else if (newPosition > swiper.minTranslate()) {\r\n if (params.freeModeMomentumBounce) {\r\n if (newPosition - swiper.minTranslate() > bounceAmount) {\r\n newPosition = swiper.minTranslate() + bounceAmount;\r\n }\r\n afterBouncePosition = swiper.minTranslate();\r\n doBounce = true;\r\n data.allowMomentumBounce = true;\r\n } else {\r\n newPosition = swiper.minTranslate();\r\n }\r\n if (params.loop && params.centeredSlides) {\r\n needsLoopFix = true;\r\n }\r\n } else if (params.freeModeSticky) {\r\n var nextSlide;\r\n for (var j = 0; j < snapGrid.length; j += 1) {\r\n if (snapGrid[j] > -newPosition) {\r\n nextSlide = j;\r\n break;\r\n }\r\n }\r\n\r\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\r\n newPosition = snapGrid[nextSlide];\r\n } else {\r\n newPosition = snapGrid[nextSlide - 1];\r\n }\r\n newPosition = -newPosition;\r\n }\r\n if (needsLoopFix) {\r\n swiper.once('transitionEnd', function () {\r\n swiper.loopFix();\r\n });\r\n }\r\n // Fix duration\r\n if (swiper.velocity !== 0) {\r\n if (rtl) {\r\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\r\n } else {\r\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\r\n }\r\n } else if (params.freeModeSticky) {\r\n swiper.slideToClosest();\r\n return;\r\n }\r\n\r\n if (params.freeModeMomentumBounce && doBounce) {\r\n swiper.updateProgress(afterBouncePosition);\r\n swiper.setTransition(momentumDuration);\r\n swiper.setTranslate(newPosition);\r\n swiper.transitionStart(true, swiper.swipeDirection);\r\n swiper.animating = true;\r\n $wrapperEl.transitionEnd(function () {\r\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) {\r\n return;\r\n }\r\n swiper.emit('momentumBounce');\r\n\r\n swiper.setTransition(params.speed);\r\n swiper.setTranslate(afterBouncePosition);\r\n $wrapperEl.transitionEnd(function () {\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n swiper.transitionEnd();\r\n });\r\n });\r\n } else if (swiper.velocity) {\r\n swiper.updateProgress(newPosition);\r\n swiper.setTransition(momentumDuration);\r\n swiper.setTranslate(newPosition);\r\n swiper.transitionStart(true, swiper.swipeDirection);\r\n if (!swiper.animating) {\r\n swiper.animating = true;\r\n $wrapperEl.transitionEnd(function () {\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n swiper.transitionEnd();\r\n });\r\n }\r\n } else {\r\n swiper.updateProgress(newPosition);\r\n }\r\n\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n } else if (params.freeModeSticky) {\r\n swiper.slideToClosest();\r\n return;\r\n }\r\n\r\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\r\n swiper.updateProgress();\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n }\r\n return;\r\n }\r\n\r\n // Find current slide\r\n var stopIndex = 0;\r\n var groupSize = swiper.slidesSizesGrid[0];\r\n for (var i = 0; i < slidesGrid.length; i += params.slidesPerGroup) {\r\n if (typeof slidesGrid[i + params.slidesPerGroup] !== 'undefined') {\r\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + params.slidesPerGroup]) {\r\n stopIndex = i;\r\n groupSize = slidesGrid[i + params.slidesPerGroup] - slidesGrid[i];\r\n }\r\n } else if (currentPos >= slidesGrid[i]) {\r\n stopIndex = i;\r\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\r\n }\r\n }\r\n\r\n // Find current slide size\r\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\r\n\r\n if (timeDiff > params.longSwipesMs) {\r\n // Long touches\r\n if (!params.longSwipes) {\r\n swiper.slideTo(swiper.activeIndex);\r\n return;\r\n }\r\n if (swiper.swipeDirection === 'next') {\r\n if (ratio >= params.longSwipesRatio) {\r\n swiper.slideTo(stopIndex + params.slidesPerGroup);\r\n }\r\n else {\r\n swiper.slideTo(stopIndex);\r\n }\r\n }\r\n if (swiper.swipeDirection === 'prev') {\r\n if (ratio > (1 - params.longSwipesRatio)) {\r\n swiper.slideTo(stopIndex + params.slidesPerGroup);\r\n }\r\n else {\r\n swiper.slideTo(stopIndex);\r\n }\r\n }\r\n } else {\r\n // Short swipes\r\n if (!params.shortSwipes) {\r\n swiper.slideTo(swiper.activeIndex);\r\n return;\r\n }\r\n if (swiper.swipeDirection === 'next') {\r\n swiper.slideTo(stopIndex + params.slidesPerGroup);\r\n }\r\n if (swiper.swipeDirection === 'prev') {\r\n swiper.slideTo(stopIndex);\r\n }\r\n }\r\n }\r\n\r\n function onResize() {\r\n var swiper = this;\r\n\r\n var params = swiper.params;\r\n var el = swiper.el;\r\n\r\n if (el && el.offsetWidth === 0) {\r\n return;\r\n }\r\n\r\n // Breakpoints\r\n if (params.breakpoints) {\r\n swiper.setBreakpoint();\r\n }\r\n\r\n // Save locks\r\n var allowSlideNext = swiper.allowSlideNext;\r\n var allowSlidePrev = swiper.allowSlidePrev;\r\n var snapGrid = swiper.snapGrid;\r\n\r\n // Disable locks on resize\r\n swiper.allowSlideNext = true;\r\n swiper.allowSlidePrev = true;\r\n\r\n swiper.updateSize();\r\n swiper.updateSlides();\r\n\r\n if (params.freeMode) {\r\n var newTranslate = Math.min(Math.max(swiper.translate, swiper.maxTranslate()), swiper.minTranslate());\r\n swiper.setTranslate(newTranslate);\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n\r\n if (params.autoHeight) {\r\n swiper.updateAutoHeight();\r\n }\r\n } else {\r\n swiper.updateSlidesClasses();\r\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\r\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\r\n } else {\r\n swiper.slideTo(swiper.activeIndex, 0, false, true);\r\n }\r\n }\r\n // Return locks after resize\r\n swiper.allowSlidePrev = allowSlidePrev;\r\n swiper.allowSlideNext = allowSlideNext;\r\n\r\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\r\n swiper.checkOverflow();\r\n }\r\n }\r\n\r\n function onClick(e) {\r\n var swiper = this;\r\n if (!swiper.allowClick) {\r\n if (swiper.params.preventClicks) {\r\n e.preventDefault();\r\n }\r\n if (swiper.params.preventClicksPropagation && swiper.animating) {\r\n e.stopPropagation();\r\n e.stopImmediatePropagation();\r\n }\r\n }\r\n }\r\n\r\n function attachEvents() {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var touchEvents = swiper.touchEvents;\r\n var el = swiper.el;\r\n var wrapperEl = swiper.wrapperEl;\r\n\r\n {\r\n swiper.onTouchStart = onTouchStart.bind(swiper);\r\n swiper.onTouchMove = onTouchMove.bind(swiper);\r\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\r\n }\r\n\r\n swiper.onClick = onClick.bind(swiper);\r\n\r\n var target = params.touchEventsTarget === 'container' ? el : wrapperEl;\r\n var capture = !!params.nested;\r\n\r\n // Touch Events\r\n {\r\n if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {\r\n target.addEventListener(touchEvents.start, swiper.onTouchStart, false);\r\n doc.addEventListener(touchEvents.move, swiper.onTouchMove, capture);\r\n doc.addEventListener(touchEvents.end, swiper.onTouchEnd, false);\r\n } else {\r\n if (Support.touch) {\r\n var passiveListener = touchEvents.start === 'touchstart' && Support.passiveListener && params.passiveListeners ? {\r\n passive: true,\r\n capture: false\r\n } : false;\r\n target.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\r\n target.addEventListener(touchEvents.move, swiper.onTouchMove, Support.passiveListener ? {\r\n passive: false,\r\n capture: capture\r\n } : capture);\r\n target.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\r\n }\r\n if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {\r\n target.addEventListener('mousedown', swiper.onTouchStart, false);\r\n doc.addEventListener('mousemove', swiper.onTouchMove, capture);\r\n doc.addEventListener('mouseup', swiper.onTouchEnd, false);\r\n }\r\n }\r\n // Prevent Links Clicks\r\n if (params.preventClicks || params.preventClicksPropagation) {\r\n target.addEventListener('click', swiper.onClick, true);\r\n }\r\n }\r\n\r\n // Resize handler\r\n swiper.on((Device.ios || Device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate'), onResize, true);\r\n }\r\n\r\n function detachEvents() {\r\n var swiper = this;\r\n\r\n var params = swiper.params;\r\n var touchEvents = swiper.touchEvents;\r\n var el = swiper.el;\r\n var wrapperEl = swiper.wrapperEl;\r\n\r\n var target = params.touchEventsTarget === 'container' ? el : wrapperEl;\r\n var capture = !!params.nested;\r\n\r\n // Touch Events\r\n {\r\n if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {\r\n target.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\r\n doc.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\r\n doc.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\r\n } else {\r\n if (Support.touch) {\r\n var passiveListener = touchEvents.start === 'onTouchStart' && Support.passiveListener && params.passiveListeners ? {\r\n passive: true,\r\n capture: false\r\n } : false;\r\n target.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\r\n target.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\r\n target.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\r\n }\r\n if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {\r\n target.removeEventListener('mousedown', swiper.onTouchStart, false);\r\n doc.removeEventListener('mousemove', swiper.onTouchMove, capture);\r\n doc.removeEventListener('mouseup', swiper.onTouchEnd, false);\r\n }\r\n }\r\n // Prevent Links Clicks\r\n if (params.preventClicks || params.preventClicksPropagation) {\r\n target.removeEventListener('click', swiper.onClick, true);\r\n }\r\n }\r\n\r\n // Resize handler\r\n swiper.off((Device.ios || Device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate'), onResize);\r\n }\r\n\r\n var events = {\r\n attachEvents: attachEvents,\r\n detachEvents: detachEvents,\r\n };\r\n\r\n function setBreakpoint() {\r\n var swiper = this;\r\n var activeIndex = swiper.activeIndex;\r\n var initialized = swiper.initialized;\r\n var loopedSlides = swiper.loopedSlides;\r\n if (loopedSlides === void 0) loopedSlides = 0;\r\n var params = swiper.params;\r\n var breakpoints = params.breakpoints;\r\n if (!breakpoints || (breakpoints && Object.keys(breakpoints).length === 0)) {\r\n return;\r\n }\r\n // Set breakpoint for window width and update parameters\r\n var breakpoint = swiper.getBreakpoint(breakpoints);\r\n if (breakpoint && swiper.currentBreakpoint !== breakpoint) {\r\n var breakPointsParams = breakpoint in breakpoints ? breakpoints[breakpoint] : swiper.originalParams;\r\n var needsReLoop = params.loop && (breakPointsParams.slidesPerView !== params.slidesPerView);\r\n\r\n Utils.extend(swiper.params, breakPointsParams);\r\n\r\n Utils.extend(swiper, {\r\n allowTouchMove: swiper.params.allowTouchMove,\r\n allowSlideNext: swiper.params.allowSlideNext,\r\n allowSlidePrev: swiper.params.allowSlidePrev,\r\n });\r\n\r\n swiper.currentBreakpoint = breakpoint;\r\n\r\n if (needsReLoop && initialized) {\r\n swiper.loopDestroy();\r\n swiper.loopCreate();\r\n swiper.updateSlides();\r\n swiper.slideTo((activeIndex - loopedSlides) + swiper.loopedSlides, 0, false);\r\n }\r\n swiper.emit('breakpoint', breakPointsParams);\r\n }\r\n }\r\n\r\n function getBreakpoint(breakpoints) {\r\n var swiper = this;\r\n // Get breakpoint for window width\r\n if (!breakpoints) {\r\n return undefined;\r\n }\r\n var breakpoint = false;\r\n var points = [];\r\n Object.keys(breakpoints).forEach(function (point) {\r\n points.push(point);\r\n });\r\n points.sort(function (a, b) {\r\n return parseInt(a, 10) - parseInt(b, 10);\r\n });\r\n for (var i = 0; i < points.length; i += 1) {\r\n var point = points[i];\r\n if (swiper.params.breakpointsInverse) {\r\n if (point <= win.innerWidth) {\r\n breakpoint = point;\r\n }\r\n } else if (point >= win.innerWidth && !breakpoint) {\r\n breakpoint = point;\r\n }\r\n }\r\n return breakpoint || 'max';\r\n }\r\n\r\n var breakpoints = {setBreakpoint: setBreakpoint, getBreakpoint: getBreakpoint};\r\n\r\n var Browser = (function Browser() {\r\n function isSafari() {\r\n var ua = win.navigator.userAgent.toLowerCase();\r\n return (ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0);\r\n }\r\n\r\n return {\r\n isIE: !!win.navigator.userAgent.match(/Trident/g) || !!win.navigator.userAgent.match(/MSIE/g),\r\n isEdge: !!win.navigator.userAgent.match(/Edge/g),\r\n isSafari: isSafari(),\r\n isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(win.navigator.userAgent),\r\n };\r\n }());\r\n\r\n function addClasses() {\r\n var swiper = this;\r\n var classNames = swiper.classNames;\r\n var params = swiper.params;\r\n var rtl = swiper.rtl;\r\n var $el = swiper.$el;\r\n var suffixes = [];\r\n\r\n suffixes.push(params.direction);\r\n\r\n if (params.freeMode) {\r\n suffixes.push('free-mode');\r\n }\r\n if (!Support.flexbox) {\r\n suffixes.push('no-flexbox');\r\n }\r\n if (params.autoHeight) {\r\n suffixes.push('autoheight');\r\n }\r\n if (rtl) {\r\n suffixes.push('rtl');\r\n }\r\n if (params.slidesPerColumn > 1) {\r\n suffixes.push('multirow');\r\n }\r\n if (Device.android) {\r\n suffixes.push('android');\r\n }\r\n if (Device.ios) {\r\n suffixes.push('ios');\r\n }\r\n // WP8 Touch Events Fix\r\n if ((Browser.isIE || Browser.isEdge) && (Support.pointerEvents || Support.prefixedPointerEvents)) {\r\n suffixes.push((\"wp8-\" + (params.direction)));\r\n }\r\n\r\n suffixes.forEach(function (suffix) {\r\n classNames.push(params.containerModifierClass + suffix);\r\n });\r\n\r\n $el.addClass(classNames.join(' '));\r\n }\r\n\r\n function removeClasses() {\r\n var swiper = this;\r\n var $el = swiper.$el;\r\n var classNames = swiper.classNames;\r\n\r\n $el.removeClass(classNames.join(' '));\r\n }\r\n\r\n var classes = {addClasses: addClasses, removeClasses: removeClasses};\r\n\r\n function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\r\n var image;\r\n\r\n function onReady() {\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n\r\n if (!imageEl.complete || !checkForComplete) {\r\n if (src) {\r\n image = new win.Image();\r\n image.onload = onReady;\r\n image.onerror = onReady;\r\n if (sizes) {\r\n image.sizes = sizes;\r\n }\r\n if (srcset) {\r\n image.srcset = srcset;\r\n }\r\n if (src) {\r\n image.src = src;\r\n }\r\n } else {\r\n onReady();\r\n }\r\n } else {\r\n // image already loaded...\r\n onReady();\r\n }\r\n }\r\n\r\n function preloadImages() {\r\n var swiper = this;\r\n swiper.imagesToLoad = swiper.$el.find('img');\r\n\r\n function onReady() {\r\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) {\r\n return;\r\n }\r\n if (swiper.imagesLoaded !== undefined) {\r\n swiper.imagesLoaded += 1;\r\n }\r\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\r\n if (swiper.params.updateOnImagesReady) {\r\n swiper.update();\r\n }\r\n swiper.emit('imagesReady');\r\n }\r\n }\r\n\r\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\r\n var imageEl = swiper.imagesToLoad[i];\r\n swiper.loadImage(\r\n imageEl,\r\n imageEl.currentSrc || imageEl.getAttribute('src'),\r\n imageEl.srcset || imageEl.getAttribute('srcset'),\r\n imageEl.sizes || imageEl.getAttribute('sizes'),\r\n true,\r\n onReady\r\n );\r\n }\r\n }\r\n\r\n var images = {\r\n loadImage: loadImage,\r\n preloadImages: preloadImages,\r\n };\r\n\r\n function checkOverflow() {\r\n var swiper = this;\r\n var wasLocked = swiper.isLocked;\r\n\r\n swiper.isLocked = swiper.snapGrid.length === 1;\r\n swiper.allowSlideNext = !swiper.isLocked;\r\n swiper.allowSlidePrev = !swiper.isLocked;\r\n\r\n // events\r\n if (wasLocked !== swiper.isLocked) {\r\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\r\n }\r\n\r\n if (wasLocked && wasLocked !== swiper.isLocked) {\r\n swiper.isEnd = false;\r\n swiper.navigation.update();\r\n }\r\n }\r\n\r\n var checkOverflow$1 = {checkOverflow: checkOverflow};\r\n\r\n var defaults = {\r\n init: true,\r\n direction: 'horizontal',\r\n touchEventsTarget: 'container',\r\n initialSlide: 0,\r\n speed: 300,\r\n //\r\n preventInteractionOnTransition: false,\r\n\r\n // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView).\r\n edgeSwipeDetection: false,\r\n edgeSwipeThreshold: 20,\r\n\r\n // Free mode\r\n freeMode: false,\r\n freeModeMomentum: true,\r\n freeModeMomentumRatio: 1,\r\n freeModeMomentumBounce: true,\r\n freeModeMomentumBounceRatio: 1,\r\n freeModeMomentumVelocityRatio: 1,\r\n freeModeSticky: false,\r\n freeModeMinimumVelocity: 0.02,\r\n\r\n // Autoheight\r\n autoHeight: false,\r\n\r\n // Set wrapper width\r\n setWrapperSize: false,\r\n\r\n // Virtual Translate\r\n virtualTranslate: false,\r\n\r\n // Effects\r\n effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\r\n\r\n // Breakpoints\r\n breakpoints: undefined,\r\n breakpointsInverse: false,\r\n\r\n // Slides grid\r\n spaceBetween: 0,\r\n slidesPerView: 1,\r\n slidesPerColumn: 1,\r\n slidesPerColumnFill: 'column',\r\n slidesPerGroup: 1,\r\n centeredSlides: false,\r\n slidesOffsetBefore: 0, // in px\r\n slidesOffsetAfter: 0, // in px\r\n normalizeSlideIndex: true,\r\n centerInsufficientSlides: false,\r\n\r\n // Disable swiper and hide navigation when container not overflow\r\n watchOverflow: false,\r\n\r\n // Round length\r\n roundLengths: false,\r\n\r\n // Touches\r\n touchRatio: 1,\r\n touchAngle: 45,\r\n simulateTouch: true,\r\n shortSwipes: true,\r\n longSwipes: true,\r\n longSwipesRatio: 0.5,\r\n longSwipesMs: 300,\r\n followFinger: true,\r\n allowTouchMove: true,\r\n threshold: 0,\r\n touchMoveStopPropagation: true,\r\n touchStartPreventDefault: true,\r\n touchReleaseOnEdges: false,\r\n\r\n // Unique Navigation Elements\r\n uniqueNavElements: true,\r\n\r\n // Resistance\r\n resistance: true,\r\n resistanceRatio: 0.85,\r\n\r\n // Progress\r\n watchSlidesProgress: false,\r\n watchSlidesVisibility: false,\r\n\r\n // Cursor\r\n grabCursor: false,\r\n\r\n // Clicks\r\n preventClicks: true,\r\n preventClicksPropagation: true,\r\n slideToClickedSlide: false,\r\n\r\n // Images\r\n preloadImages: true,\r\n updateOnImagesReady: true,\r\n\r\n // loop\r\n loop: false,\r\n loopAdditionalSlides: 0,\r\n loopedSlides: null,\r\n loopFillGroupWithBlank: false,\r\n\r\n // Swiping/no swiping\r\n allowSlidePrev: true,\r\n allowSlideNext: true,\r\n swipeHandler: null, // '.swipe-handler',\r\n noSwiping: true,\r\n noSwipingClass: 'swiper-no-swiping',\r\n noSwipingSelector: null,\r\n\r\n // Passive Listeners\r\n passiveListeners: true,\r\n\r\n // NS\r\n containerModifierClass: 'swiper-container-', // NEW\r\n slideClass: 'swiper-slide',\r\n slideBlankClass: 'swiper-slide-invisible-blank',\r\n slideActiveClass: 'swiper-slide-active',\r\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\r\n slideVisibleClass: 'swiper-slide-visible',\r\n slideDuplicateClass: 'swiper-slide-duplicate',\r\n slideNextClass: 'swiper-slide-next',\r\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\r\n slidePrevClass: 'swiper-slide-prev',\r\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\r\n wrapperClass: 'swiper-wrapper',\r\n\r\n // Callbacks\r\n runCallbacksOnInit: true,\r\n };\r\n\r\n var prototypes = {\r\n update: update,\r\n translate: translate,\r\n transition: transition$1,\r\n slide: slide,\r\n loop: loop,\r\n grabCursor: grabCursor,\r\n manipulation: manipulation,\r\n events: events,\r\n breakpoints: breakpoints,\r\n checkOverflow: checkOverflow$1,\r\n classes: classes,\r\n images: images,\r\n };\r\n\r\n var extendedDefaults = {};\r\n\r\n var Swiper = (function (SwiperClass$$1) {\r\n function Swiper() {\r\n var assign;\r\n\r\n var args = [], len = arguments.length;\r\n while (len--) args[len] = arguments[len];\r\n var el;\r\n var params;\r\n if (args.length === 1 && args[0].constructor && args[0].constructor === Object) {\r\n params = args[0];\r\n } else {\r\n (assign = args, el = assign[0], params = assign[1]);\r\n }\r\n if (!params) {\r\n params = {};\r\n }\r\n\r\n params = Utils.extend({}, params);\r\n if (el && !params.el) {\r\n params.el = el;\r\n }\r\n\r\n SwiperClass$$1.call(this, params);\r\n\r\n Object.keys(prototypes).forEach(function (prototypeGroup) {\r\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\r\n if (!Swiper.prototype[protoMethod]) {\r\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\r\n }\r\n });\r\n });\r\n\r\n // Swiper Instance\r\n var swiper = this;\r\n if (typeof swiper.modules === 'undefined') {\r\n swiper.modules = {};\r\n }\r\n Object.keys(swiper.modules).forEach(function (moduleName) {\r\n var module = swiper.modules[moduleName];\r\n if (module.params) {\r\n var moduleParamName = Object.keys(module.params)[0];\r\n var moduleParams = module.params[moduleParamName];\r\n if (typeof moduleParams !== 'object' || moduleParams === null) {\r\n return;\r\n }\r\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\r\n return;\r\n }\r\n if (params[moduleParamName] === true) {\r\n params[moduleParamName] = {enabled: true};\r\n }\r\n if (\r\n typeof params[moduleParamName] === 'object'\r\n && !('enabled' in params[moduleParamName])\r\n ) {\r\n params[moduleParamName].enabled = true;\r\n }\r\n if (!params[moduleParamName]) {\r\n params[moduleParamName] = {enabled: false};\r\n }\r\n }\r\n });\r\n\r\n // Extend defaults with modules params\r\n var swiperParams = Utils.extend({}, defaults);\r\n swiper.useModulesParams(swiperParams);\r\n\r\n // Extend defaults with passed params\r\n swiper.params = Utils.extend({}, swiperParams, extendedDefaults, params);\r\n swiper.originalParams = Utils.extend({}, swiper.params);\r\n swiper.passedParams = Utils.extend({}, params);\r\n\r\n // Save Dom lib\r\n swiper.$ = $;\r\n\r\n // Find el\r\n var $el = $(swiper.params.el);\r\n el = $el[0];\r\n\r\n if (!el) {\r\n return undefined;\r\n }\r\n\r\n if ($el.length > 1) {\r\n var swipers = [];\r\n $el.each(function (index, containerEl) {\r\n var newParams = Utils.extend({}, params, {el: containerEl});\r\n swipers.push(new Swiper(newParams));\r\n });\r\n return swipers;\r\n }\r\n\r\n el.swiper = swiper;\r\n $el.data('swiper', swiper);\r\n\r\n // Find Wrapper\r\n var $wrapperEl = $el.children((\".\" + (swiper.params.wrapperClass)));\r\n\r\n // Extend Swiper\r\n Utils.extend(swiper, {\r\n $el: $el,\r\n el: el,\r\n $wrapperEl: $wrapperEl,\r\n wrapperEl: $wrapperEl[0],\r\n\r\n // Classes\r\n classNames: [],\r\n\r\n // Slides\r\n slides: $(),\r\n slidesGrid: [],\r\n snapGrid: [],\r\n slidesSizesGrid: [],\r\n\r\n // isDirection\r\n isHorizontal: function isHorizontal() {\r\n return swiper.params.direction === 'horizontal';\r\n },\r\n isVertical: function isVertical() {\r\n return swiper.params.direction === 'vertical';\r\n },\r\n // RTL\r\n rtl: (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\r\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\r\n wrongRTL: $wrapperEl.css('display') === '-webkit-box',\r\n\r\n // Indexes\r\n activeIndex: 0,\r\n realIndex: 0,\r\n\r\n //\r\n isBeginning: true,\r\n isEnd: false,\r\n\r\n // Props\r\n translate: 0,\r\n previousTranslate: 0,\r\n progress: 0,\r\n velocity: 0,\r\n animating: false,\r\n\r\n // Locks\r\n allowSlideNext: swiper.params.allowSlideNext,\r\n allowSlidePrev: swiper.params.allowSlidePrev,\r\n\r\n // Touch Events\r\n touchEvents: (function touchEvents() {\r\n var touch = ['touchstart', 'touchmove', 'touchend'];\r\n var desktop = ['mousedown', 'mousemove', 'mouseup'];\r\n if (Support.pointerEvents) {\r\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\r\n } else if (Support.prefixedPointerEvents) {\r\n desktop = ['MSPointerDown', 'MSPointerMove', 'MSPointerUp'];\r\n }\r\n swiper.touchEventsTouch = {\r\n start: touch[0],\r\n move: touch[1],\r\n end: touch[2],\r\n };\r\n swiper.touchEventsDesktop = {\r\n start: desktop[0],\r\n move: desktop[1],\r\n end: desktop[2],\r\n };\r\n return Support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\r\n }()),\r\n touchEventsData: {\r\n isTouched: undefined,\r\n isMoved: undefined,\r\n allowTouchCallbacks: undefined,\r\n touchStartTime: undefined,\r\n isScrolling: undefined,\r\n currentTranslate: undefined,\r\n startTranslate: undefined,\r\n allowThresholdMove: undefined,\r\n // Form elements to match\r\n formElements: 'input, select, option, textarea, button, video',\r\n // Last click time\r\n lastClickTime: Utils.now(),\r\n clickTimeout: undefined,\r\n // Velocities\r\n velocities: [],\r\n allowMomentumBounce: undefined,\r\n isTouchEvent: undefined,\r\n startMoving: undefined,\r\n },\r\n\r\n // Clicks\r\n allowClick: true,\r\n\r\n // Touches\r\n allowTouchMove: swiper.params.allowTouchMove,\r\n\r\n touches: {\r\n startX: 0,\r\n startY: 0,\r\n currentX: 0,\r\n currentY: 0,\r\n diff: 0,\r\n },\r\n\r\n // Images\r\n imagesToLoad: [],\r\n imagesLoaded: 0,\r\n\r\n });\r\n\r\n // Install Modules\r\n swiper.useModules();\r\n\r\n // Init\r\n if (swiper.params.init) {\r\n swiper.init();\r\n }\r\n\r\n // Return app instance\r\n return swiper;\r\n }\r\n\r\n if (SwiperClass$$1) Swiper.__proto__ = SwiperClass$$1;\r\n Swiper.prototype = Object.create(SwiperClass$$1 && SwiperClass$$1.prototype);\r\n Swiper.prototype.constructor = Swiper;\r\n\r\n var staticAccessors = {\r\n extendedDefaults: {configurable: true},\r\n defaults: {configurable: true},\r\n Class: {configurable: true},\r\n $: {configurable: true}\r\n };\r\n\r\n Swiper.prototype.slidesPerViewDynamic = function slidesPerViewDynamic() {\r\n var swiper = this;\r\n var params = swiper.params;\r\n var slides = swiper.slides;\r\n var slidesGrid = swiper.slidesGrid;\r\n var swiperSize = swiper.size;\r\n var activeIndex = swiper.activeIndex;\r\n var spv = 1;\r\n if (params.centeredSlides) {\r\n var slideSize = slides[activeIndex].swiperSlideSize;\r\n var breakLoop;\r\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\r\n if (slides[i] && !breakLoop) {\r\n slideSize += slides[i].swiperSlideSize;\r\n spv += 1;\r\n if (slideSize > swiperSize) {\r\n breakLoop = true;\r\n }\r\n }\r\n }\r\n for (var i$1 = activeIndex - 1; i$1 >= 0; i$1 -= 1) {\r\n if (slides[i$1] && !breakLoop) {\r\n slideSize += slides[i$1].swiperSlideSize;\r\n spv += 1;\r\n if (slideSize > swiperSize) {\r\n breakLoop = true;\r\n }\r\n }\r\n }\r\n } else {\r\n for (var i$2 = activeIndex + 1; i$2 < slides.length; i$2 += 1) {\r\n if (slidesGrid[i$2] - slidesGrid[activeIndex] < swiperSize) {\r\n spv += 1;\r\n }\r\n }\r\n }\r\n return spv;\r\n };\r\n\r\n Swiper.prototype.update = function update$$1() {\r\n var swiper = this;\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n var snapGrid = swiper.snapGrid;\r\n var params = swiper.params;\r\n // Breakpoints\r\n if (params.breakpoints) {\r\n swiper.setBreakpoint();\r\n }\r\n swiper.updateSize();\r\n swiper.updateSlides();\r\n swiper.updateProgress();\r\n swiper.updateSlidesClasses();\r\n\r\n function setTranslate() {\r\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\r\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\r\n swiper.setTranslate(newTranslate);\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n }\r\n\r\n var translated;\r\n if (swiper.params.freeMode) {\r\n setTranslate();\r\n if (swiper.params.autoHeight) {\r\n swiper.updateAutoHeight();\r\n }\r\n } else {\r\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\r\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\r\n } else {\r\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\r\n }\r\n if (!translated) {\r\n setTranslate();\r\n }\r\n }\r\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\r\n swiper.checkOverflow();\r\n }\r\n swiper.emit('update');\r\n };\r\n\r\n Swiper.prototype.init = function init() {\r\n var swiper = this;\r\n if (swiper.initialized) {\r\n return;\r\n }\r\n\r\n swiper.emit('beforeInit');\r\n\r\n // Set breakpoint\r\n if (swiper.params.breakpoints) {\r\n swiper.setBreakpoint();\r\n }\r\n\r\n // Add Classes\r\n swiper.addClasses();\r\n\r\n // Create loop\r\n if (swiper.params.loop) {\r\n swiper.loopCreate();\r\n }\r\n\r\n // Update size\r\n swiper.updateSize();\r\n\r\n // Update slides\r\n swiper.updateSlides();\r\n\r\n if (swiper.params.watchOverflow) {\r\n swiper.checkOverflow();\r\n }\r\n\r\n // Set Grab Cursor\r\n if (swiper.params.grabCursor) {\r\n swiper.setGrabCursor();\r\n }\r\n\r\n if (swiper.params.preloadImages) {\r\n swiper.preloadImages();\r\n }\r\n\r\n // Slide To Initial Slide\r\n if (swiper.params.loop) {\r\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit);\r\n } else {\r\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit);\r\n }\r\n\r\n // Attach events\r\n swiper.attachEvents();\r\n\r\n // Init Flag\r\n swiper.initialized = true;\r\n\r\n // Emit\r\n swiper.emit('init');\r\n };\r\n\r\n Swiper.prototype.destroy = function destroy(deleteInstance, cleanStyles) {\r\n if (deleteInstance === void 0) deleteInstance = true;\r\n if (cleanStyles === void 0) cleanStyles = true;\r\n\r\n var swiper = this;\r\n var params = swiper.params;\r\n var $el = swiper.$el;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var slides = swiper.slides;\r\n\r\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\r\n return null;\r\n }\r\n\r\n swiper.emit('beforeDestroy');\r\n\r\n // Init Flag\r\n swiper.initialized = false;\r\n\r\n // Detach events\r\n swiper.detachEvents();\r\n\r\n // Destroy loop\r\n if (params.loop) {\r\n swiper.loopDestroy();\r\n }\r\n\r\n // Cleanup styles\r\n if (cleanStyles) {\r\n swiper.removeClasses();\r\n $el.removeAttr('style');\r\n $wrapperEl.removeAttr('style');\r\n if (slides && slides.length) {\r\n slides\r\n .removeClass([\r\n params.slideVisibleClass,\r\n params.slideActiveClass,\r\n params.slideNextClass,\r\n params.slidePrevClass].join(' '))\r\n .removeAttr('style')\r\n .removeAttr('data-swiper-slide-index')\r\n .removeAttr('data-swiper-column')\r\n .removeAttr('data-swiper-row');\r\n }\r\n }\r\n\r\n swiper.emit('destroy');\r\n\r\n // Detach emitter events\r\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\r\n swiper.off(eventName);\r\n });\r\n\r\n if (deleteInstance !== false) {\r\n swiper.$el[0].swiper = null;\r\n swiper.$el.data('swiper', null);\r\n Utils.deleteProps(swiper);\r\n }\r\n swiper.destroyed = true;\r\n\r\n return null;\r\n };\r\n\r\n Swiper.extendDefaults = function extendDefaults(newDefaults) {\r\n Utils.extend(extendedDefaults, newDefaults);\r\n };\r\n\r\n staticAccessors.extendedDefaults.get = function () {\r\n return extendedDefaults;\r\n };\r\n\r\n staticAccessors.defaults.get = function () {\r\n return defaults;\r\n };\r\n\r\n staticAccessors.Class.get = function () {\r\n return SwiperClass$$1;\r\n };\r\n\r\n staticAccessors.$.get = function () {\r\n return $;\r\n };\r\n\r\n Object.defineProperties(Swiper, staticAccessors);\r\n\r\n return Swiper;\r\n }(SwiperClass));\r\n\r\n var Device$1 = {\r\n name: 'device',\r\n proto: {\r\n device: Device,\r\n },\r\n static: {\r\n device: Device,\r\n },\r\n };\r\n\r\n var Support$1 = {\r\n name: 'support',\r\n proto: {\r\n support: Support,\r\n },\r\n static: {\r\n support: Support,\r\n },\r\n };\r\n\r\n var Browser$1 = {\r\n name: 'browser',\r\n proto: {\r\n browser: Browser,\r\n },\r\n static: {\r\n browser: Browser,\r\n },\r\n };\r\n\r\n var Resize = {\r\n name: 'resize',\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n resize: {\r\n resizeHandler: function resizeHandler() {\r\n if (!swiper || swiper.destroyed || !swiper.initialized) {\r\n return;\r\n }\r\n swiper.emit('beforeResize');\r\n swiper.emit('resize');\r\n },\r\n orientationChangeHandler: function orientationChangeHandler() {\r\n if (!swiper || swiper.destroyed || !swiper.initialized) {\r\n return;\r\n }\r\n swiper.emit('orientationchange');\r\n },\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n // Emit resize\r\n win.addEventListener('resize', swiper.resize.resizeHandler);\r\n\r\n // Emit orientationchange\r\n win.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n win.removeEventListener('resize', swiper.resize.resizeHandler);\r\n win.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\r\n },\r\n },\r\n };\r\n\r\n var Observer = {\r\n func: win.MutationObserver || win.WebkitMutationObserver,\r\n attach: function attach(target, options) {\r\n if (options === void 0) options = {};\r\n\r\n var swiper = this;\r\n\r\n var ObserverFunc = Observer.func;\r\n var observer = new ObserverFunc(function (mutations) {\r\n // The observerUpdate event should only be triggered\r\n // once despite the number of mutations. Additional\r\n // triggers are redundant and are very costly\r\n if (mutations.length === 1) {\r\n swiper.emit('observerUpdate', mutations[0]);\r\n return;\r\n }\r\n var observerUpdate = function observerUpdate() {\r\n swiper.emit('observerUpdate', mutations[0]);\r\n };\r\n\r\n if (win.requestAnimationFrame) {\r\n win.requestAnimationFrame(observerUpdate);\r\n } else {\r\n win.setTimeout(observerUpdate, 0);\r\n }\r\n });\r\n\r\n observer.observe(target, {\r\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\r\n childList: typeof options.childList === 'undefined' ? true : options.childList,\r\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData,\r\n });\r\n\r\n swiper.observer.observers.push(observer);\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n if (!Support.observer || !swiper.params.observer) {\r\n return;\r\n }\r\n if (swiper.params.observeParents) {\r\n var containerParents = swiper.$el.parents();\r\n for (var i = 0; i < containerParents.length; i += 1) {\r\n swiper.observer.attach(containerParents[i]);\r\n }\r\n }\r\n // Observe container\r\n swiper.observer.attach(swiper.$el[0], {childList: false});\r\n\r\n // Observe wrapper\r\n swiper.observer.attach(swiper.$wrapperEl[0], {attributes: false});\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.observer.observers.forEach(function (observer) {\r\n observer.disconnect();\r\n });\r\n swiper.observer.observers = [];\r\n },\r\n };\r\n\r\n var Observer$1 = {\r\n name: 'observer',\r\n params: {\r\n observer: false,\r\n observeParents: false,\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n observer: {\r\n init: Observer.init.bind(swiper),\r\n attach: Observer.attach.bind(swiper),\r\n destroy: Observer.destroy.bind(swiper),\r\n observers: [],\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n swiper.observer.init();\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.observer.destroy();\r\n },\r\n },\r\n };\r\n\r\n var Virtual = {\r\n update: function update(force) {\r\n var swiper = this;\r\n var ref = swiper.params;\r\n var slidesPerView = ref.slidesPerView;\r\n var slidesPerGroup = ref.slidesPerGroup;\r\n var centeredSlides = ref.centeredSlides;\r\n var ref$1 = swiper.params.virtual;\r\n var addSlidesBefore = ref$1.addSlidesBefore;\r\n var addSlidesAfter = ref$1.addSlidesAfter;\r\n var ref$2 = swiper.virtual;\r\n var previousFrom = ref$2.from;\r\n var previousTo = ref$2.to;\r\n var slides = ref$2.slides;\r\n var previousSlidesGrid = ref$2.slidesGrid;\r\n var renderSlide = ref$2.renderSlide;\r\n var previousOffset = ref$2.offset;\r\n swiper.updateActiveIndex();\r\n var activeIndex = swiper.activeIndex || 0;\r\n\r\n var offsetProp;\r\n if (swiper.rtlTranslate) {\r\n offsetProp = 'right';\r\n }\r\n else {\r\n offsetProp = swiper.isHorizontal() ? 'left' : 'top';\r\n }\r\n\r\n var slidesAfter;\r\n var slidesBefore;\r\n if (centeredSlides) {\r\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\r\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\r\n } else {\r\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesBefore;\r\n slidesBefore = slidesPerGroup + addSlidesAfter;\r\n }\r\n var from = Math.max((activeIndex || 0) - slidesBefore, 0);\r\n var to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);\r\n var offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\r\n\r\n Utils.extend(swiper.virtual, {\r\n from: from,\r\n to: to,\r\n offset: offset,\r\n slidesGrid: swiper.slidesGrid,\r\n });\r\n\r\n function onRendered() {\r\n swiper.updateSlides();\r\n swiper.updateProgress();\r\n swiper.updateSlidesClasses();\r\n if (swiper.lazy && swiper.params.lazy.enabled) {\r\n swiper.lazy.load();\r\n }\r\n }\r\n\r\n if (previousFrom === from && previousTo === to && !force) {\r\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\r\n swiper.slides.css(offsetProp, (offset + \"px\"));\r\n }\r\n swiper.updateProgress();\r\n return;\r\n }\r\n if (swiper.params.virtual.renderExternal) {\r\n swiper.params.virtual.renderExternal.call(swiper, {\r\n offset: offset,\r\n from: from,\r\n to: to,\r\n slides: (function getSlides() {\r\n var slidesToRender = [];\r\n for (var i = from; i <= to; i += 1) {\r\n slidesToRender.push(slides[i]);\r\n }\r\n return slidesToRender;\r\n }()),\r\n });\r\n onRendered();\r\n return;\r\n }\r\n var prependIndexes = [];\r\n var appendIndexes = [];\r\n if (force) {\r\n swiper.$wrapperEl.find((\".\" + (swiper.params.slideClass))).remove();\r\n } else {\r\n for (var i = previousFrom; i <= previousTo; i += 1) {\r\n if (i < from || i > to) {\r\n swiper.$wrapperEl.find((\".\" + (swiper.params.slideClass) + \"[data-swiper-slide-index=\\\"\" + i + \"\\\"]\")).remove();\r\n }\r\n }\r\n }\r\n for (var i$1 = 0; i$1 < slides.length; i$1 += 1) {\r\n if (i$1 >= from && i$1 <= to) {\r\n if (typeof previousTo === 'undefined' || force) {\r\n appendIndexes.push(i$1);\r\n } else {\r\n if (i$1 > previousTo) {\r\n appendIndexes.push(i$1);\r\n }\r\n if (i$1 < previousFrom) {\r\n prependIndexes.push(i$1);\r\n }\r\n }\r\n }\r\n }\r\n appendIndexes.forEach(function (index) {\r\n swiper.$wrapperEl.append(renderSlide(slides[index], index));\r\n });\r\n prependIndexes.sort(function (a, b) {\r\n return a < b;\r\n }).forEach(function (index) {\r\n swiper.$wrapperEl.prepend(renderSlide(slides[index], index));\r\n });\r\n swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, (offset + \"px\"));\r\n onRendered();\r\n },\r\n renderSlide: function renderSlide(slide, index) {\r\n var swiper = this;\r\n var params = swiper.params.virtual;\r\n if (params.cache && swiper.virtual.cache[index]) {\r\n return swiper.virtual.cache[index];\r\n }\r\n var $slideEl = params.renderSlide\r\n ? $(params.renderSlide.call(swiper, slide, index))\r\n : $((\"
\" + slide + \"
\"));\r\n if (!$slideEl.attr('data-swiper-slide-index')) {\r\n $slideEl.attr('data-swiper-slide-index', index);\r\n }\r\n if (params.cache) {\r\n swiper.virtual.cache[index] = $slideEl;\r\n }\r\n return $slideEl;\r\n },\r\n appendSlide: function appendSlide(slide) {\r\n var swiper = this;\r\n swiper.virtual.slides.push(slide);\r\n swiper.virtual.update(true);\r\n },\r\n prependSlide: function prependSlide(slide) {\r\n var swiper = this;\r\n swiper.virtual.slides.unshift(slide);\r\n if (swiper.params.virtual.cache) {\r\n var cache = swiper.virtual.cache;\r\n var newCache = {};\r\n Object.keys(cache).forEach(function (cachedIndex) {\r\n newCache[cachedIndex + 1] = cache[cachedIndex];\r\n });\r\n swiper.virtual.cache = newCache;\r\n }\r\n swiper.virtual.update(true);\r\n swiper.slideNext(0);\r\n },\r\n };\r\n\r\n var Virtual$1 = {\r\n name: 'virtual',\r\n params: {\r\n virtual: {\r\n enabled: false,\r\n slides: [],\r\n cache: true,\r\n renderSlide: null,\r\n renderExternal: null,\r\n addSlidesBefore: 0,\r\n addSlidesAfter: 0,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n virtual: {\r\n update: Virtual.update.bind(swiper),\r\n appendSlide: Virtual.appendSlide.bind(swiper),\r\n prependSlide: Virtual.prependSlide.bind(swiper),\r\n renderSlide: Virtual.renderSlide.bind(swiper),\r\n slides: swiper.params.virtual.slides,\r\n cache: {},\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (!swiper.params.virtual.enabled) {\r\n return;\r\n }\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"virtual\"));\r\n var overwriteParams = {\r\n watchSlidesProgress: true,\r\n };\r\n Utils.extend(swiper.params, overwriteParams);\r\n Utils.extend(swiper.originalParams, overwriteParams);\r\n\r\n swiper.virtual.update();\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (!swiper.params.virtual.enabled) {\r\n return;\r\n }\r\n swiper.virtual.update();\r\n },\r\n },\r\n };\r\n\r\n var Keyboard = {\r\n handle: function handle(event) {\r\n var swiper = this;\r\n var rtl = swiper.rtlTranslate;\r\n var e = event;\r\n if (e.originalEvent) {\r\n e = e.originalEvent;\r\n } // jquery fix\r\n var kc = e.keyCode || e.charCode;\r\n // Directions locks\r\n if (!swiper.allowSlideNext && ((swiper.isHorizontal() && kc === 39) || (swiper.isVertical() && kc === 40))) {\r\n return false;\r\n }\r\n if (!swiper.allowSlidePrev && ((swiper.isHorizontal() && kc === 37) || (swiper.isVertical() && kc === 38))) {\r\n return false;\r\n }\r\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\r\n return undefined;\r\n }\r\n if (doc.activeElement && doc.activeElement.nodeName && (doc.activeElement.nodeName.toLowerCase() === 'input' || doc.activeElement.nodeName.toLowerCase() === 'textarea')) {\r\n return undefined;\r\n }\r\n if (swiper.params.keyboard.onlyInViewport && (kc === 37 || kc === 39 || kc === 38 || kc === 40)) {\r\n var inView = false;\r\n // Check that swiper should be inside of visible area of window\r\n if (swiper.$el.parents((\".\" + (swiper.params.slideClass))).length > 0 && swiper.$el.parents((\".\" + (swiper.params.slideActiveClass))).length === 0) {\r\n return undefined;\r\n }\r\n var windowWidth = win.innerWidth;\r\n var windowHeight = win.innerHeight;\r\n var swiperOffset = swiper.$el.offset();\r\n if (rtl) {\r\n swiperOffset.left -= swiper.$el[0].scrollLeft;\r\n }\r\n var swiperCoord = [\r\n [swiperOffset.left, swiperOffset.top],\r\n [swiperOffset.left + swiper.width, swiperOffset.top],\r\n [swiperOffset.left, swiperOffset.top + swiper.height],\r\n [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]];\r\n for (var i = 0; i < swiperCoord.length; i += 1) {\r\n var point = swiperCoord[i];\r\n if (\r\n point[0] >= 0 && point[0] <= windowWidth\r\n && point[1] >= 0 && point[1] <= windowHeight\r\n ) {\r\n inView = true;\r\n }\r\n }\r\n if (!inView) {\r\n return undefined;\r\n }\r\n }\r\n if (swiper.isHorizontal()) {\r\n if (kc === 37 || kc === 39) {\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n else {\r\n e.returnValue = false;\r\n }\r\n }\r\n if ((kc === 39 && !rtl) || (kc === 37 && rtl)) {\r\n swiper.slideNext();\r\n }\r\n if ((kc === 37 && !rtl) || (kc === 39 && rtl)) {\r\n swiper.slidePrev();\r\n }\r\n } else {\r\n if (kc === 38 || kc === 40) {\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n else {\r\n e.returnValue = false;\r\n }\r\n }\r\n if (kc === 40) {\r\n swiper.slideNext();\r\n }\r\n if (kc === 38) {\r\n swiper.slidePrev();\r\n }\r\n }\r\n swiper.emit('keyPress', kc);\r\n return undefined;\r\n },\r\n enable: function enable() {\r\n var swiper = this;\r\n if (swiper.keyboard.enabled) {\r\n return;\r\n }\r\n $(doc).on('keydown', swiper.keyboard.handle);\r\n swiper.keyboard.enabled = true;\r\n },\r\n disable: function disable() {\r\n var swiper = this;\r\n if (!swiper.keyboard.enabled) {\r\n return;\r\n }\r\n $(doc).off('keydown', swiper.keyboard.handle);\r\n swiper.keyboard.enabled = false;\r\n },\r\n };\r\n\r\n var Keyboard$1 = {\r\n name: 'keyboard',\r\n params: {\r\n keyboard: {\r\n enabled: false,\r\n onlyInViewport: true,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n keyboard: {\r\n enabled: false,\r\n enable: Keyboard.enable.bind(swiper),\r\n disable: Keyboard.disable.bind(swiper),\r\n handle: Keyboard.handle.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.keyboard.enabled) {\r\n swiper.keyboard.enable();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.keyboard.enabled) {\r\n swiper.keyboard.disable();\r\n }\r\n },\r\n },\r\n };\r\n\r\n function isEventSupported() {\r\n var eventName = 'onwheel';\r\n var isSupported = eventName in doc;\r\n\r\n if (!isSupported) {\r\n var element = doc.createElement('div');\r\n element.setAttribute(eventName, 'return;');\r\n isSupported = typeof element[eventName] === 'function';\r\n }\r\n\r\n if (!isSupported\r\n && doc.implementation\r\n && doc.implementation.hasFeature\r\n // always returns true in newer browsers as per the standard.\r\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\r\n && doc.implementation.hasFeature('', '') !== true\r\n ) {\r\n // This is the only way to test support for the `wheel` event in IE9+.\r\n isSupported = doc.implementation.hasFeature('Events.wheel', '3.0');\r\n }\r\n\r\n return isSupported;\r\n }\r\n\r\n var Mousewheel = {\r\n lastScrollTime: Utils.now(),\r\n event: (function getEvent() {\r\n if (win.navigator.userAgent.indexOf('firefox') > -1) {\r\n return 'DOMMouseScroll';\r\n }\r\n return isEventSupported() ? 'wheel' : 'mousewheel';\r\n }()),\r\n normalize: function normalize(e) {\r\n // Reasonable defaults\r\n var PIXEL_STEP = 10;\r\n var LINE_HEIGHT = 40;\r\n var PAGE_HEIGHT = 800;\r\n\r\n var sX = 0;\r\n var sY = 0; // spinX, spinY\r\n var pX = 0;\r\n var pY = 0; // pixelX, pixelY\r\n\r\n // Legacy\r\n if ('detail' in e) {\r\n sY = e.detail;\r\n }\r\n if ('wheelDelta' in e) {\r\n sY = -e.wheelDelta / 120;\r\n }\r\n if ('wheelDeltaY' in e) {\r\n sY = -e.wheelDeltaY / 120;\r\n }\r\n if ('wheelDeltaX' in e) {\r\n sX = -e.wheelDeltaX / 120;\r\n }\r\n\r\n // side scrolling on FF with DOMMouseScroll\r\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\r\n sX = sY;\r\n sY = 0;\r\n }\r\n\r\n pX = sX * PIXEL_STEP;\r\n pY = sY * PIXEL_STEP;\r\n\r\n if ('deltaY' in e) {\r\n pY = e.deltaY;\r\n }\r\n if ('deltaX' in e) {\r\n pX = e.deltaX;\r\n }\r\n\r\n if ((pX || pY) && e.deltaMode) {\r\n if (e.deltaMode === 1) { // delta in LINE units\r\n pX *= LINE_HEIGHT;\r\n pY *= LINE_HEIGHT;\r\n } else { // delta in PAGE units\r\n pX *= PAGE_HEIGHT;\r\n pY *= PAGE_HEIGHT;\r\n }\r\n }\r\n\r\n // Fall-back if spin cannot be determined\r\n if (pX && !sX) {\r\n sX = (pX < 1) ? -1 : 1;\r\n }\r\n if (pY && !sY) {\r\n sY = (pY < 1) ? -1 : 1;\r\n }\r\n\r\n return {\r\n spinX: sX,\r\n spinY: sY,\r\n pixelX: pX,\r\n pixelY: pY,\r\n };\r\n },\r\n handleMouseEnter: function handleMouseEnter() {\r\n var swiper = this;\r\n swiper.mouseEntered = true;\r\n },\r\n handleMouseLeave: function handleMouseLeave() {\r\n var swiper = this;\r\n swiper.mouseEntered = false;\r\n },\r\n handle: function handle(event) {\r\n var e = event;\r\n var swiper = this;\r\n var params = swiper.params.mousewheel;\r\n\r\n if (!swiper.mouseEntered && !params.releaseOnEdges) {\r\n return true;\r\n }\r\n\r\n if (e.originalEvent) {\r\n e = e.originalEvent;\r\n } // jquery fix\r\n var delta = 0;\r\n var rtlFactor = swiper.rtlTranslate ? -1 : 1;\r\n\r\n var data = Mousewheel.normalize(e);\r\n\r\n if (params.forceToAxis) {\r\n if (swiper.isHorizontal()) {\r\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) {\r\n delta = data.pixelX * rtlFactor;\r\n }\r\n else {\r\n return true;\r\n }\r\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) {\r\n delta = data.pixelY;\r\n }\r\n else {\r\n return true;\r\n }\r\n } else {\r\n delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\r\n }\r\n\r\n if (delta === 0) {\r\n return true;\r\n }\r\n\r\n if (params.invert) {\r\n delta = -delta;\r\n }\r\n\r\n if (!swiper.params.freeMode) {\r\n if (Utils.now() - swiper.mousewheel.lastScrollTime > 60) {\r\n if (delta < 0) {\r\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\r\n swiper.slideNext();\r\n swiper.emit('scroll', e);\r\n } else if (params.releaseOnEdges) {\r\n return true;\r\n }\r\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\r\n swiper.slidePrev();\r\n swiper.emit('scroll', e);\r\n } else if (params.releaseOnEdges) {\r\n return true;\r\n }\r\n }\r\n swiper.mousewheel.lastScrollTime = (new win.Date()).getTime();\r\n } else {\r\n // Freemode or scrollContainer:\r\n if (swiper.params.loop) {\r\n swiper.loopFix();\r\n }\r\n var position = swiper.getTranslate() + (delta * params.sensitivity);\r\n var wasBeginning = swiper.isBeginning;\r\n var wasEnd = swiper.isEnd;\r\n\r\n if (position >= swiper.minTranslate()) {\r\n position = swiper.minTranslate();\r\n }\r\n if (position <= swiper.maxTranslate()) {\r\n position = swiper.maxTranslate();\r\n }\r\n\r\n swiper.setTransition(0);\r\n swiper.setTranslate(position);\r\n swiper.updateProgress();\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n\r\n if ((!wasBeginning && swiper.isBeginning) || (!wasEnd && swiper.isEnd)) {\r\n swiper.updateSlidesClasses();\r\n }\r\n\r\n if (swiper.params.freeModeSticky) {\r\n clearTimeout(swiper.mousewheel.timeout);\r\n swiper.mousewheel.timeout = Utils.nextTick(function () {\r\n swiper.slideToClosest();\r\n }, 300);\r\n }\r\n // Emit event\r\n swiper.emit('scroll', e);\r\n\r\n // Stop autoplay\r\n if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) {\r\n swiper.autoplay.stop();\r\n }\r\n // Return page scroll on edge positions\r\n if (position === swiper.minTranslate() || position === swiper.maxTranslate()) {\r\n return true;\r\n }\r\n }\r\n\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n else {\r\n e.returnValue = false;\r\n }\r\n return false;\r\n },\r\n enable: function enable() {\r\n var swiper = this;\r\n if (!Mousewheel.event) {\r\n return false;\r\n }\r\n if (swiper.mousewheel.enabled) {\r\n return false;\r\n }\r\n var target = swiper.$el;\r\n if (swiper.params.mousewheel.eventsTarged !== 'container') {\r\n target = $(swiper.params.mousewheel.eventsTarged);\r\n }\r\n target.on('mouseenter', swiper.mousewheel.handleMouseEnter);\r\n target.on('mouseleave', swiper.mousewheel.handleMouseLeave);\r\n target.on(Mousewheel.event, swiper.mousewheel.handle);\r\n swiper.mousewheel.enabled = true;\r\n return true;\r\n },\r\n disable: function disable() {\r\n var swiper = this;\r\n if (!Mousewheel.event) {\r\n return false;\r\n }\r\n if (!swiper.mousewheel.enabled) {\r\n return false;\r\n }\r\n var target = swiper.$el;\r\n if (swiper.params.mousewheel.eventsTarged !== 'container') {\r\n target = $(swiper.params.mousewheel.eventsTarged);\r\n }\r\n target.off(Mousewheel.event, swiper.mousewheel.handle);\r\n swiper.mousewheel.enabled = false;\r\n return true;\r\n },\r\n };\r\n\r\n var Mousewheel$1 = {\r\n name: 'mousewheel',\r\n params: {\r\n mousewheel: {\r\n enabled: false,\r\n releaseOnEdges: false,\r\n invert: false,\r\n forceToAxis: false,\r\n sensitivity: 1,\r\n eventsTarged: 'container',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n mousewheel: {\r\n enabled: false,\r\n enable: Mousewheel.enable.bind(swiper),\r\n disable: Mousewheel.disable.bind(swiper),\r\n handle: Mousewheel.handle.bind(swiper),\r\n handleMouseEnter: Mousewheel.handleMouseEnter.bind(swiper),\r\n handleMouseLeave: Mousewheel.handleMouseLeave.bind(swiper),\r\n lastScrollTime: Utils.now(),\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.mousewheel.enabled) {\r\n swiper.mousewheel.enable();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.mousewheel.enabled) {\r\n swiper.mousewheel.disable();\r\n }\r\n },\r\n },\r\n };\r\n\r\n var Navigation = {\r\n update: function update() {\r\n // Update Navigation Buttons\r\n var swiper = this;\r\n var params = swiper.params.navigation;\r\n\r\n if (swiper.params.loop) {\r\n return;\r\n }\r\n var ref = swiper.navigation;\r\n var $nextEl = ref.$nextEl;\r\n var $prevEl = ref.$prevEl;\r\n\r\n if ($prevEl && $prevEl.length > 0) {\r\n if (swiper.isBeginning) {\r\n $prevEl.addClass(params.disabledClass);\r\n } else {\r\n $prevEl.removeClass(params.disabledClass);\r\n }\r\n $prevEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\r\n }\r\n if ($nextEl && $nextEl.length > 0) {\r\n if (swiper.isEnd) {\r\n $nextEl.addClass(params.disabledClass);\r\n } else {\r\n $nextEl.removeClass(params.disabledClass);\r\n }\r\n $nextEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\r\n }\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n var params = swiper.params.navigation;\r\n if (!(params.nextEl || params.prevEl)) {\r\n return;\r\n }\r\n\r\n var $nextEl;\r\n var $prevEl;\r\n if (params.nextEl) {\r\n $nextEl = $(params.nextEl);\r\n if (\r\n swiper.params.uniqueNavElements\r\n && typeof params.nextEl === 'string'\r\n && $nextEl.length > 1\r\n && swiper.$el.find(params.nextEl).length === 1\r\n ) {\r\n $nextEl = swiper.$el.find(params.nextEl);\r\n }\r\n }\r\n if (params.prevEl) {\r\n $prevEl = $(params.prevEl);\r\n if (\r\n swiper.params.uniqueNavElements\r\n && typeof params.prevEl === 'string'\r\n && $prevEl.length > 1\r\n && swiper.$el.find(params.prevEl).length === 1\r\n ) {\r\n $prevEl = swiper.$el.find(params.prevEl);\r\n }\r\n }\r\n\r\n if ($nextEl && $nextEl.length > 0) {\r\n $nextEl.on('click', function (e) {\r\n e.preventDefault();\r\n if (swiper.isEnd && !swiper.params.loop) {\r\n return;\r\n }\r\n swiper.slideNext();\r\n });\r\n }\r\n if ($prevEl && $prevEl.length > 0) {\r\n $prevEl.on('click', function (e) {\r\n e.preventDefault();\r\n if (swiper.isBeginning && !swiper.params.loop) {\r\n return;\r\n }\r\n swiper.slidePrev();\r\n });\r\n }\r\n\r\n Utils.extend(swiper.navigation, {\r\n $nextEl: $nextEl,\r\n nextEl: $nextEl && $nextEl[0],\r\n $prevEl: $prevEl,\r\n prevEl: $prevEl && $prevEl[0],\r\n });\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n var ref = swiper.navigation;\r\n var $nextEl = ref.$nextEl;\r\n var $prevEl = ref.$prevEl;\r\n if ($nextEl && $nextEl.length) {\r\n $nextEl.off('click');\r\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\r\n }\r\n if ($prevEl && $prevEl.length) {\r\n $prevEl.off('click');\r\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\r\n }\r\n },\r\n };\r\n\r\n var Navigation$1 = {\r\n name: 'navigation',\r\n params: {\r\n navigation: {\r\n nextEl: null,\r\n prevEl: null,\r\n\r\n hideOnClick: false,\r\n disabledClass: 'swiper-button-disabled',\r\n hiddenClass: 'swiper-button-hidden',\r\n lockClass: 'swiper-button-lock',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n navigation: {\r\n init: Navigation.init.bind(swiper),\r\n update: Navigation.update.bind(swiper),\r\n destroy: Navigation.destroy.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n swiper.navigation.init();\r\n swiper.navigation.update();\r\n },\r\n toEdge: function toEdge() {\r\n var swiper = this;\r\n swiper.navigation.update();\r\n },\r\n fromEdge: function fromEdge() {\r\n var swiper = this;\r\n swiper.navigation.update();\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.navigation.destroy();\r\n },\r\n click: function click(e) {\r\n var swiper = this;\r\n var ref = swiper.navigation;\r\n var $nextEl = ref.$nextEl;\r\n var $prevEl = ref.$prevEl;\r\n if (\r\n swiper.params.navigation.hideOnClick\r\n && !$(e.target).is($prevEl)\r\n && !$(e.target).is($nextEl)\r\n ) {\r\n if ($nextEl) {\r\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\r\n }\r\n if ($prevEl) {\r\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\r\n }\r\n }\r\n },\r\n },\r\n };\r\n\r\n var Pagination = {\r\n update: function update() {\r\n // Render || Update Pagination bullets/items\r\n var swiper = this;\r\n var rtl = swiper.rtl;\r\n var params = swiper.params.pagination;\r\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) {\r\n return;\r\n }\r\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\r\n var $el = swiper.pagination.$el;\r\n // Current/Total\r\n var current;\r\n var total = swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\r\n if (swiper.params.loop) {\r\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\r\n if (current > slidesLength - 1 - (swiper.loopedSlides * 2)) {\r\n current -= (slidesLength - (swiper.loopedSlides * 2));\r\n }\r\n if (current > total - 1) {\r\n current -= total;\r\n }\r\n if (current < 0 && swiper.params.paginationType !== 'bullets') {\r\n current = total + current;\r\n }\r\n } else if (typeof swiper.snapIndex !== 'undefined') {\r\n current = swiper.snapIndex;\r\n } else {\r\n current = swiper.activeIndex || 0;\r\n }\r\n // Types\r\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\r\n var bullets = swiper.pagination.bullets;\r\n var firstIndex;\r\n var lastIndex;\r\n var midIndex;\r\n if (params.dynamicBullets) {\r\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\r\n $el.css(swiper.isHorizontal() ? 'width' : 'height', ((swiper.pagination.bulletSize * (params.dynamicMainBullets + 4)) + \"px\"));\r\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\r\n swiper.pagination.dynamicBulletIndex += (current - swiper.previousIndex);\r\n if (swiper.pagination.dynamicBulletIndex > (params.dynamicMainBullets - 1)) {\r\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\r\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\r\n swiper.pagination.dynamicBulletIndex = 0;\r\n }\r\n }\r\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\r\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\r\n midIndex = (lastIndex + firstIndex) / 2;\r\n }\r\n bullets.removeClass(((params.bulletActiveClass) + \" \" + (params.bulletActiveClass) + \"-next \" + (params.bulletActiveClass) + \"-next-next \" + (params.bulletActiveClass) + \"-prev \" + (params.bulletActiveClass) + \"-prev-prev \" + (params.bulletActiveClass) + \"-main\"));\r\n if ($el.length > 1) {\r\n bullets.each(function (index, bullet) {\r\n var $bullet = $(bullet);\r\n var bulletIndex = $bullet.index();\r\n if (bulletIndex === current) {\r\n $bullet.addClass(params.bulletActiveClass);\r\n }\r\n if (params.dynamicBullets) {\r\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\r\n $bullet.addClass(((params.bulletActiveClass) + \"-main\"));\r\n }\r\n if (bulletIndex === firstIndex) {\r\n $bullet\r\n .prev()\r\n .addClass(((params.bulletActiveClass) + \"-prev\"))\r\n .prev()\r\n .addClass(((params.bulletActiveClass) + \"-prev-prev\"));\r\n }\r\n if (bulletIndex === lastIndex) {\r\n $bullet\r\n .next()\r\n .addClass(((params.bulletActiveClass) + \"-next\"))\r\n .next()\r\n .addClass(((params.bulletActiveClass) + \"-next-next\"));\r\n }\r\n }\r\n });\r\n } else {\r\n var $bullet = bullets.eq(current);\r\n $bullet.addClass(params.bulletActiveClass);\r\n if (params.dynamicBullets) {\r\n var $firstDisplayedBullet = bullets.eq(firstIndex);\r\n var $lastDisplayedBullet = bullets.eq(lastIndex);\r\n for (var i = firstIndex; i <= lastIndex; i += 1) {\r\n bullets.eq(i).addClass(((params.bulletActiveClass) + \"-main\"));\r\n }\r\n $firstDisplayedBullet\r\n .prev()\r\n .addClass(((params.bulletActiveClass) + \"-prev\"))\r\n .prev()\r\n .addClass(((params.bulletActiveClass) + \"-prev-prev\"));\r\n $lastDisplayedBullet\r\n .next()\r\n .addClass(((params.bulletActiveClass) + \"-next\"))\r\n .next()\r\n .addClass(((params.bulletActiveClass) + \"-next-next\"));\r\n }\r\n }\r\n if (params.dynamicBullets) {\r\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\r\n var bulletsOffset = (((swiper.pagination.bulletSize * dynamicBulletsLength) - (swiper.pagination.bulletSize)) / 2) - (midIndex * swiper.pagination.bulletSize);\r\n var offsetProp = rtl ? 'right' : 'left';\r\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', (bulletsOffset + \"px\"));\r\n }\r\n }\r\n if (params.type === 'fraction') {\r\n $el.find((\".\" + (params.currentClass))).text(params.formatFractionCurrent(current + 1));\r\n $el.find((\".\" + (params.totalClass))).text(params.formatFractionTotal(total));\r\n }\r\n if (params.type === 'progressbar') {\r\n var progressbarDirection;\r\n if (params.progressbarOpposite) {\r\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\r\n } else {\r\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\r\n }\r\n var scale = (current + 1) / total;\r\n var scaleX = 1;\r\n var scaleY = 1;\r\n if (progressbarDirection === 'horizontal') {\r\n scaleX = scale;\r\n } else {\r\n scaleY = scale;\r\n }\r\n $el.find((\".\" + (params.progressbarFillClass))).transform((\"translate3d(0,0,0) scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\")).transition(swiper.params.speed);\r\n }\r\n if (params.type === 'custom' && params.renderCustom) {\r\n $el.html(params.renderCustom(swiper, current + 1, total));\r\n swiper.emit('paginationRender', swiper, $el[0]);\r\n } else {\r\n swiper.emit('paginationUpdate', swiper, $el[0]);\r\n }\r\n $el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\r\n },\r\n render: function render() {\r\n // Render Container\r\n var swiper = this;\r\n var params = swiper.params.pagination;\r\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) {\r\n return;\r\n }\r\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\r\n\r\n var $el = swiper.pagination.$el;\r\n var paginationHTML = '';\r\n if (params.type === 'bullets') {\r\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\r\n for (var i = 0; i < numberOfBullets; i += 1) {\r\n if (params.renderBullet) {\r\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\r\n } else {\r\n paginationHTML += \"<\" + (params.bulletElement) + \" class=\\\"\" + (params.bulletClass) + \"\\\">\";\r\n }\r\n }\r\n $el.html(paginationHTML);\r\n swiper.pagination.bullets = $el.find((\".\" + (params.bulletClass)));\r\n }\r\n if (params.type === 'fraction') {\r\n if (params.renderFraction) {\r\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\r\n } else {\r\n paginationHTML = \"\"\r\n + ' / '\r\n + \"\";\r\n }\r\n $el.html(paginationHTML);\r\n }\r\n if (params.type === 'progressbar') {\r\n if (params.renderProgressbar) {\r\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\r\n } else {\r\n paginationHTML = \"\";\r\n }\r\n $el.html(paginationHTML);\r\n }\r\n if (params.type !== 'custom') {\r\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\r\n }\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n var params = swiper.params.pagination;\r\n if (!params.el) {\r\n return;\r\n }\r\n\r\n var $el = $(params.el);\r\n if ($el.length === 0) {\r\n return;\r\n }\r\n\r\n if (\r\n swiper.params.uniqueNavElements\r\n && typeof params.el === 'string'\r\n && $el.length > 1\r\n && swiper.$el.find(params.el).length === 1\r\n ) {\r\n $el = swiper.$el.find(params.el);\r\n }\r\n\r\n if (params.type === 'bullets' && params.clickable) {\r\n $el.addClass(params.clickableClass);\r\n }\r\n\r\n $el.addClass(params.modifierClass + params.type);\r\n\r\n if (params.type === 'bullets' && params.dynamicBullets) {\r\n $el.addClass((\"\" + (params.modifierClass) + (params.type) + \"-dynamic\"));\r\n swiper.pagination.dynamicBulletIndex = 0;\r\n if (params.dynamicMainBullets < 1) {\r\n params.dynamicMainBullets = 1;\r\n }\r\n }\r\n if (params.type === 'progressbar' && params.progressbarOpposite) {\r\n $el.addClass(params.progressbarOppositeClass);\r\n }\r\n\r\n if (params.clickable) {\r\n $el.on('click', (\".\" + (params.bulletClass)), function onClick(e) {\r\n e.preventDefault();\r\n var index = $(this).index() * swiper.params.slidesPerGroup;\r\n if (swiper.params.loop) {\r\n index += swiper.loopedSlides;\r\n }\r\n swiper.slideTo(index);\r\n });\r\n }\r\n\r\n Utils.extend(swiper.pagination, {\r\n $el: $el,\r\n el: $el[0],\r\n });\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n var params = swiper.params.pagination;\r\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) {\r\n return;\r\n }\r\n var $el = swiper.pagination.$el;\r\n\r\n $el.removeClass(params.hiddenClass);\r\n $el.removeClass(params.modifierClass + params.type);\r\n if (swiper.pagination.bullets) {\r\n swiper.pagination.bullets.removeClass(params.bulletActiveClass);\r\n }\r\n if (params.clickable) {\r\n $el.off('click', (\".\" + (params.bulletClass)));\r\n }\r\n },\r\n };\r\n\r\n var Pagination$1 = {\r\n name: 'pagination',\r\n params: {\r\n pagination: {\r\n el: null,\r\n bulletElement: 'span',\r\n clickable: false,\r\n hideOnClick: false,\r\n renderBullet: null,\r\n renderProgressbar: null,\r\n renderFraction: null,\r\n renderCustom: null,\r\n progressbarOpposite: false,\r\n type: 'bullets', // 'bullets' or 'progressbar' or 'fraction' or 'custom'\r\n dynamicBullets: false,\r\n dynamicMainBullets: 1,\r\n formatFractionCurrent: function (number) {\r\n return number;\r\n },\r\n formatFractionTotal: function (number) {\r\n return number;\r\n },\r\n bulletClass: 'swiper-pagination-bullet',\r\n bulletActiveClass: 'swiper-pagination-bullet-active',\r\n modifierClass: 'swiper-pagination-', // NEW\r\n currentClass: 'swiper-pagination-current',\r\n totalClass: 'swiper-pagination-total',\r\n hiddenClass: 'swiper-pagination-hidden',\r\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\r\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\r\n clickableClass: 'swiper-pagination-clickable', // NEW\r\n lockClass: 'swiper-pagination-lock',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n pagination: {\r\n init: Pagination.init.bind(swiper),\r\n render: Pagination.render.bind(swiper),\r\n update: Pagination.update.bind(swiper),\r\n destroy: Pagination.destroy.bind(swiper),\r\n dynamicBulletIndex: 0,\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n swiper.pagination.init();\r\n swiper.pagination.render();\r\n swiper.pagination.update();\r\n },\r\n activeIndexChange: function activeIndexChange() {\r\n var swiper = this;\r\n if (swiper.params.loop) {\r\n swiper.pagination.update();\r\n } else if (typeof swiper.snapIndex === 'undefined') {\r\n swiper.pagination.update();\r\n }\r\n },\r\n snapIndexChange: function snapIndexChange() {\r\n var swiper = this;\r\n if (!swiper.params.loop) {\r\n swiper.pagination.update();\r\n }\r\n },\r\n slidesLengthChange: function slidesLengthChange() {\r\n var swiper = this;\r\n if (swiper.params.loop) {\r\n swiper.pagination.render();\r\n swiper.pagination.update();\r\n }\r\n },\r\n snapGridLengthChange: function snapGridLengthChange() {\r\n var swiper = this;\r\n if (!swiper.params.loop) {\r\n swiper.pagination.render();\r\n swiper.pagination.update();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.pagination.destroy();\r\n },\r\n click: function click(e) {\r\n var swiper = this;\r\n if (\r\n swiper.params.pagination.el\r\n && swiper.params.pagination.hideOnClick\r\n && swiper.pagination.$el.length > 0\r\n && !$(e.target).hasClass(swiper.params.pagination.bulletClass)\r\n ) {\r\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\r\n }\r\n },\r\n },\r\n };\r\n\r\n var Scrollbar = {\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) {\r\n return;\r\n }\r\n var scrollbar = swiper.scrollbar;\r\n var rtl = swiper.rtlTranslate;\r\n var progress = swiper.progress;\r\n var dragSize = scrollbar.dragSize;\r\n var trackSize = scrollbar.trackSize;\r\n var $dragEl = scrollbar.$dragEl;\r\n var $el = scrollbar.$el;\r\n var params = swiper.params.scrollbar;\r\n\r\n var newSize = dragSize;\r\n var newPos = (trackSize - dragSize) * progress;\r\n if (rtl) {\r\n newPos = -newPos;\r\n if (newPos > 0) {\r\n newSize = dragSize - newPos;\r\n newPos = 0;\r\n } else if (-newPos + dragSize > trackSize) {\r\n newSize = trackSize + newPos;\r\n }\r\n } else if (newPos < 0) {\r\n newSize = dragSize + newPos;\r\n newPos = 0;\r\n } else if (newPos + dragSize > trackSize) {\r\n newSize = trackSize - newPos;\r\n }\r\n if (swiper.isHorizontal()) {\r\n if (Support.transforms3d) {\r\n $dragEl.transform((\"translate3d(\" + newPos + \"px, 0, 0)\"));\r\n } else {\r\n $dragEl.transform((\"translateX(\" + newPos + \"px)\"));\r\n }\r\n $dragEl[0].style.width = newSize + \"px\";\r\n } else {\r\n if (Support.transforms3d) {\r\n $dragEl.transform((\"translate3d(0px, \" + newPos + \"px, 0)\"));\r\n } else {\r\n $dragEl.transform((\"translateY(\" + newPos + \"px)\"));\r\n }\r\n $dragEl[0].style.height = newSize + \"px\";\r\n }\r\n if (params.hide) {\r\n clearTimeout(swiper.scrollbar.timeout);\r\n $el[0].style.opacity = 1;\r\n swiper.scrollbar.timeout = setTimeout(function () {\r\n $el[0].style.opacity = 0;\r\n $el.transition(400);\r\n }, 1000);\r\n }\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) {\r\n return;\r\n }\r\n swiper.scrollbar.$dragEl.transition(duration);\r\n },\r\n updateSize: function updateSize() {\r\n var swiper = this;\r\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) {\r\n return;\r\n }\r\n\r\n var scrollbar = swiper.scrollbar;\r\n var $dragEl = scrollbar.$dragEl;\r\n var $el = scrollbar.$el;\r\n\r\n $dragEl[0].style.width = '';\r\n $dragEl[0].style.height = '';\r\n var trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\r\n\r\n var divider = swiper.size / swiper.virtualSize;\r\n var moveDivider = divider * (trackSize / swiper.size);\r\n var dragSize;\r\n if (swiper.params.scrollbar.dragSize === 'auto') {\r\n dragSize = trackSize * divider;\r\n } else {\r\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\r\n }\r\n\r\n if (swiper.isHorizontal()) {\r\n $dragEl[0].style.width = dragSize + \"px\";\r\n } else {\r\n $dragEl[0].style.height = dragSize + \"px\";\r\n }\r\n\r\n if (divider >= 1) {\r\n $el[0].style.display = 'none';\r\n } else {\r\n $el[0].style.display = '';\r\n }\r\n if (swiper.params.scrollbarHide) {\r\n $el[0].style.opacity = 0;\r\n }\r\n Utils.extend(scrollbar, {\r\n trackSize: trackSize,\r\n divider: divider,\r\n moveDivider: moveDivider,\r\n dragSize: dragSize,\r\n });\r\n scrollbar.$el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);\r\n },\r\n setDragPosition: function setDragPosition(e) {\r\n var swiper = this;\r\n var scrollbar = swiper.scrollbar;\r\n var rtl = swiper.rtlTranslate;\r\n var $el = scrollbar.$el;\r\n var dragSize = scrollbar.dragSize;\r\n var trackSize = scrollbar.trackSize;\r\n\r\n var pointerPosition;\r\n if (swiper.isHorizontal()) {\r\n pointerPosition = ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageX : e.pageX || e.clientX);\r\n } else {\r\n pointerPosition = ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageY : e.pageY || e.clientY);\r\n }\r\n var positionRatio;\r\n positionRatio = ((pointerPosition) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragSize / 2)) / (trackSize - dragSize);\r\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\r\n if (rtl) {\r\n positionRatio = 1 - positionRatio;\r\n }\r\n\r\n var position = swiper.minTranslate() + ((swiper.maxTranslate() - swiper.minTranslate()) * positionRatio);\r\n\r\n swiper.updateProgress(position);\r\n swiper.setTranslate(position);\r\n swiper.updateActiveIndex();\r\n swiper.updateSlidesClasses();\r\n },\r\n onDragStart: function onDragStart(e) {\r\n var swiper = this;\r\n var params = swiper.params.scrollbar;\r\n var scrollbar = swiper.scrollbar;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var $el = scrollbar.$el;\r\n var $dragEl = scrollbar.$dragEl;\r\n swiper.scrollbar.isTouched = true;\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n $wrapperEl.transition(100);\r\n $dragEl.transition(100);\r\n scrollbar.setDragPosition(e);\r\n\r\n clearTimeout(swiper.scrollbar.dragTimeout);\r\n\r\n $el.transition(0);\r\n if (params.hide) {\r\n $el.css('opacity', 1);\r\n }\r\n swiper.emit('scrollbarDragStart', e);\r\n },\r\n onDragMove: function onDragMove(e) {\r\n var swiper = this;\r\n var scrollbar = swiper.scrollbar;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var $el = scrollbar.$el;\r\n var $dragEl = scrollbar.$dragEl;\r\n\r\n if (!swiper.scrollbar.isTouched) {\r\n return;\r\n }\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n else {\r\n e.returnValue = false;\r\n }\r\n scrollbar.setDragPosition(e);\r\n $wrapperEl.transition(0);\r\n $el.transition(0);\r\n $dragEl.transition(0);\r\n swiper.emit('scrollbarDragMove', e);\r\n },\r\n onDragEnd: function onDragEnd(e) {\r\n var swiper = this;\r\n\r\n var params = swiper.params.scrollbar;\r\n var scrollbar = swiper.scrollbar;\r\n var $el = scrollbar.$el;\r\n\r\n if (!swiper.scrollbar.isTouched) {\r\n return;\r\n }\r\n swiper.scrollbar.isTouched = false;\r\n if (params.hide) {\r\n clearTimeout(swiper.scrollbar.dragTimeout);\r\n swiper.scrollbar.dragTimeout = Utils.nextTick(function () {\r\n $el.css('opacity', 0);\r\n $el.transition(400);\r\n }, 1000);\r\n }\r\n swiper.emit('scrollbarDragEnd', e);\r\n if (params.snapOnRelease) {\r\n swiper.slideToClosest();\r\n }\r\n },\r\n enableDraggable: function enableDraggable() {\r\n var swiper = this;\r\n if (!swiper.params.scrollbar.el) {\r\n return;\r\n }\r\n var scrollbar = swiper.scrollbar;\r\n var touchEvents = swiper.touchEvents;\r\n var touchEventsDesktop = swiper.touchEventsDesktop;\r\n var params = swiper.params;\r\n var $el = scrollbar.$el;\r\n var target = $el[0];\r\n var activeListener = Support.passiveListener && params.passiveListeners ? {\r\n passive: false,\r\n capture: false\r\n } : false;\r\n var passiveListener = Support.passiveListener && params.passiveListeners ? {\r\n passive: true,\r\n capture: false\r\n } : false;\r\n if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {\r\n target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\r\n doc.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\r\n doc.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\r\n } else {\r\n if (Support.touch) {\r\n target.addEventListener(touchEvents.start, swiper.scrollbar.onDragStart, activeListener);\r\n target.addEventListener(touchEvents.move, swiper.scrollbar.onDragMove, activeListener);\r\n target.addEventListener(touchEvents.end, swiper.scrollbar.onDragEnd, passiveListener);\r\n }\r\n if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {\r\n target.addEventListener('mousedown', swiper.scrollbar.onDragStart, activeListener);\r\n doc.addEventListener('mousemove', swiper.scrollbar.onDragMove, activeListener);\r\n doc.addEventListener('mouseup', swiper.scrollbar.onDragEnd, passiveListener);\r\n }\r\n }\r\n },\r\n disableDraggable: function disableDraggable() {\r\n var swiper = this;\r\n if (!swiper.params.scrollbar.el) {\r\n return;\r\n }\r\n var scrollbar = swiper.scrollbar;\r\n var touchEvents = swiper.touchEvents;\r\n var touchEventsDesktop = swiper.touchEventsDesktop;\r\n var params = swiper.params;\r\n var $el = scrollbar.$el;\r\n var target = $el[0];\r\n var activeListener = Support.passiveListener && params.passiveListeners ? {\r\n passive: false,\r\n capture: false\r\n } : false;\r\n var passiveListener = Support.passiveListener && params.passiveListeners ? {\r\n passive: true,\r\n capture: false\r\n } : false;\r\n if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {\r\n target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\r\n doc.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\r\n doc.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\r\n } else {\r\n if (Support.touch) {\r\n target.removeEventListener(touchEvents.start, swiper.scrollbar.onDragStart, activeListener);\r\n target.removeEventListener(touchEvents.move, swiper.scrollbar.onDragMove, activeListener);\r\n target.removeEventListener(touchEvents.end, swiper.scrollbar.onDragEnd, passiveListener);\r\n }\r\n if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {\r\n target.removeEventListener('mousedown', swiper.scrollbar.onDragStart, activeListener);\r\n doc.removeEventListener('mousemove', swiper.scrollbar.onDragMove, activeListener);\r\n doc.removeEventListener('mouseup', swiper.scrollbar.onDragEnd, passiveListener);\r\n }\r\n }\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n if (!swiper.params.scrollbar.el) {\r\n return;\r\n }\r\n var scrollbar = swiper.scrollbar;\r\n var $swiperEl = swiper.$el;\r\n var params = swiper.params.scrollbar;\r\n\r\n var $el = $(params.el);\r\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\r\n $el = $swiperEl.find(params.el);\r\n }\r\n\r\n var $dragEl = $el.find((\".\" + (swiper.params.scrollbar.dragClass)));\r\n if ($dragEl.length === 0) {\r\n $dragEl = $((\"
\"));\r\n $el.append($dragEl);\r\n }\r\n\r\n Utils.extend(scrollbar, {\r\n $el: $el,\r\n el: $el[0],\r\n $dragEl: $dragEl,\r\n dragEl: $dragEl[0],\r\n });\r\n\r\n if (params.draggable) {\r\n scrollbar.enableDraggable();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.scrollbar.disableDraggable();\r\n },\r\n };\r\n\r\n var Scrollbar$1 = {\r\n name: 'scrollbar',\r\n params: {\r\n scrollbar: {\r\n el: null,\r\n dragSize: 'auto',\r\n hide: false,\r\n draggable: false,\r\n snapOnRelease: true,\r\n lockClass: 'swiper-scrollbar-lock',\r\n dragClass: 'swiper-scrollbar-drag',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n scrollbar: {\r\n init: Scrollbar.init.bind(swiper),\r\n destroy: Scrollbar.destroy.bind(swiper),\r\n updateSize: Scrollbar.updateSize.bind(swiper),\r\n setTranslate: Scrollbar.setTranslate.bind(swiper),\r\n setTransition: Scrollbar.setTransition.bind(swiper),\r\n enableDraggable: Scrollbar.enableDraggable.bind(swiper),\r\n disableDraggable: Scrollbar.disableDraggable.bind(swiper),\r\n setDragPosition: Scrollbar.setDragPosition.bind(swiper),\r\n onDragStart: Scrollbar.onDragStart.bind(swiper),\r\n onDragMove: Scrollbar.onDragMove.bind(swiper),\r\n onDragEnd: Scrollbar.onDragEnd.bind(swiper),\r\n isTouched: false,\r\n timeout: null,\r\n dragTimeout: null,\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n swiper.scrollbar.init();\r\n swiper.scrollbar.updateSize();\r\n swiper.scrollbar.setTranslate();\r\n },\r\n update: function update() {\r\n var swiper = this;\r\n swiper.scrollbar.updateSize();\r\n },\r\n resize: function resize() {\r\n var swiper = this;\r\n swiper.scrollbar.updateSize();\r\n },\r\n observerUpdate: function observerUpdate() {\r\n var swiper = this;\r\n swiper.scrollbar.updateSize();\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n swiper.scrollbar.setTranslate();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n swiper.scrollbar.setTransition(duration);\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.scrollbar.destroy();\r\n },\r\n },\r\n };\r\n\r\n var Parallax = {\r\n setTransform: function setTransform(el, progress) {\r\n var swiper = this;\r\n var rtl = swiper.rtl;\r\n\r\n var $el = $(el);\r\n var rtlFactor = rtl ? -1 : 1;\r\n\r\n var p = $el.attr('data-swiper-parallax') || '0';\r\n var x = $el.attr('data-swiper-parallax-x');\r\n var y = $el.attr('data-swiper-parallax-y');\r\n var scale = $el.attr('data-swiper-parallax-scale');\r\n var opacity = $el.attr('data-swiper-parallax-opacity');\r\n\r\n if (x || y) {\r\n x = x || '0';\r\n y = y || '0';\r\n } else if (swiper.isHorizontal()) {\r\n x = p;\r\n y = '0';\r\n } else {\r\n y = p;\r\n x = '0';\r\n }\r\n\r\n if ((x).indexOf('%') >= 0) {\r\n x = (parseInt(x, 10) * progress * rtlFactor) + \"%\";\r\n } else {\r\n x = (x * progress * rtlFactor) + \"px\";\r\n }\r\n if ((y).indexOf('%') >= 0) {\r\n y = (parseInt(y, 10) * progress) + \"%\";\r\n } else {\r\n y = (y * progress) + \"px\";\r\n }\r\n\r\n if (typeof opacity !== 'undefined' && opacity !== null) {\r\n var currentOpacity = opacity - ((opacity - 1) * (1 - Math.abs(progress)));\r\n $el[0].style.opacity = currentOpacity;\r\n }\r\n if (typeof scale === 'undefined' || scale === null) {\r\n $el.transform((\"translate3d(\" + x + \", \" + y + \", 0px)\"));\r\n } else {\r\n var currentScale = scale - ((scale - 1) * (1 - Math.abs(progress)));\r\n $el.transform((\"translate3d(\" + x + \", \" + y + \", 0px) scale(\" + currentScale + \")\"));\r\n }\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n var $el = swiper.$el;\r\n var slides = swiper.slides;\r\n var progress = swiper.progress;\r\n var snapGrid = swiper.snapGrid;\r\n $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]')\r\n .each(function (index, el) {\r\n swiper.parallax.setTransform(el, progress);\r\n });\r\n slides.each(function (slideIndex, slideEl) {\r\n var slideProgress = slideEl.progress;\r\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\r\n slideProgress += Math.ceil(slideIndex / 2) - (progress * (snapGrid.length - 1));\r\n }\r\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\r\n $(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]')\r\n .each(function (index, el) {\r\n swiper.parallax.setTransform(el, slideProgress);\r\n });\r\n });\r\n },\r\n setTransition: function setTransition(duration) {\r\n if (duration === void 0) duration = this.params.speed;\r\n\r\n var swiper = this;\r\n var $el = swiper.$el;\r\n $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]')\r\n .each(function (index, parallaxEl) {\r\n var $parallaxEl = $(parallaxEl);\r\n var parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;\r\n if (duration === 0) {\r\n parallaxDuration = 0;\r\n }\r\n $parallaxEl.transition(parallaxDuration);\r\n });\r\n },\r\n };\r\n\r\n var Parallax$1 = {\r\n name: 'parallax',\r\n params: {\r\n parallax: {\r\n enabled: false,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n parallax: {\r\n setTransform: Parallax.setTransform.bind(swiper),\r\n setTranslate: Parallax.setTranslate.bind(swiper),\r\n setTransition: Parallax.setTransition.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (!swiper.params.parallax.enabled) {\r\n return;\r\n }\r\n swiper.params.watchSlidesProgress = true;\r\n swiper.originalParams.watchSlidesProgress = true;\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n if (!swiper.params.parallax) {\r\n return;\r\n }\r\n swiper.parallax.setTranslate();\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (!swiper.params.parallax) {\r\n return;\r\n }\r\n swiper.parallax.setTranslate();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n if (!swiper.params.parallax) {\r\n return;\r\n }\r\n swiper.parallax.setTransition(duration);\r\n },\r\n },\r\n };\r\n\r\n var Zoom = {\r\n // Calc Scale From Multi-touches\r\n getDistanceBetweenTouches: function getDistanceBetweenTouches(e) {\r\n if (e.targetTouches.length < 2) {\r\n return 1;\r\n }\r\n var x1 = e.targetTouches[0].pageX;\r\n var y1 = e.targetTouches[0].pageY;\r\n var x2 = e.targetTouches[1].pageX;\r\n var y2 = e.targetTouches[1].pageY;\r\n var distance = Math.sqrt((Math.pow((x2 - x1), 2)) + (Math.pow((y2 - y1), 2)));\r\n return distance;\r\n },\r\n // Events\r\n onGestureStart: function onGestureStart(e) {\r\n var swiper = this;\r\n var params = swiper.params.zoom;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n zoom.fakeGestureTouched = false;\r\n zoom.fakeGestureMoved = false;\r\n if (!Support.gestures) {\r\n if (e.type !== 'touchstart' || (e.type === 'touchstart' && e.targetTouches.length < 2)) {\r\n return;\r\n }\r\n zoom.fakeGestureTouched = true;\r\n gesture.scaleStart = Zoom.getDistanceBetweenTouches(e);\r\n }\r\n if (!gesture.$slideEl || !gesture.$slideEl.length) {\r\n gesture.$slideEl = $(e.target).closest('.swiper-slide');\r\n if (gesture.$slideEl.length === 0) {\r\n gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\r\n }\r\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\r\n gesture.$imageWrapEl = gesture.$imageEl.parent((\".\" + (params.containerClass)));\r\n gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\r\n if (gesture.$imageWrapEl.length === 0) {\r\n gesture.$imageEl = undefined;\r\n return;\r\n }\r\n }\r\n gesture.$imageEl.transition(0);\r\n swiper.zoom.isScaling = true;\r\n },\r\n onGestureChange: function onGestureChange(e) {\r\n var swiper = this;\r\n var params = swiper.params.zoom;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n if (!Support.gestures) {\r\n if (e.type !== 'touchmove' || (e.type === 'touchmove' && e.targetTouches.length < 2)) {\r\n return;\r\n }\r\n zoom.fakeGestureMoved = true;\r\n gesture.scaleMove = Zoom.getDistanceBetweenTouches(e);\r\n }\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n if (Support.gestures) {\r\n swiper.zoom.scale = e.scale * zoom.currentScale;\r\n } else {\r\n zoom.scale = (gesture.scaleMove / gesture.scaleStart) * zoom.currentScale;\r\n }\r\n if (zoom.scale > gesture.maxRatio) {\r\n zoom.scale = (gesture.maxRatio - 1) + (Math.pow(((zoom.scale - gesture.maxRatio) + 1), 0.5));\r\n }\r\n if (zoom.scale < params.minRatio) {\r\n zoom.scale = (params.minRatio + 1) - (Math.pow(((params.minRatio - zoom.scale) + 1), 0.5));\r\n }\r\n gesture.$imageEl.transform((\"translate3d(0,0,0) scale(\" + (zoom.scale) + \")\"));\r\n },\r\n onGestureEnd: function onGestureEnd(e) {\r\n var swiper = this;\r\n var params = swiper.params.zoom;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n if (!Support.gestures) {\r\n if (!zoom.fakeGestureTouched || !zoom.fakeGestureMoved) {\r\n return;\r\n }\r\n if (e.type !== 'touchend' || (e.type === 'touchend' && e.changedTouches.length < 2 && !Device.android)) {\r\n return;\r\n }\r\n zoom.fakeGestureTouched = false;\r\n zoom.fakeGestureMoved = false;\r\n }\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\r\n gesture.$imageEl.transition(swiper.params.speed).transform((\"translate3d(0,0,0) scale(\" + (zoom.scale) + \")\"));\r\n zoom.currentScale = zoom.scale;\r\n zoom.isScaling = false;\r\n if (zoom.scale === 1) {\r\n gesture.$slideEl = undefined;\r\n }\r\n },\r\n onTouchStart: function onTouchStart(e) {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n var image = zoom.image;\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n if (image.isTouched) {\r\n return;\r\n }\r\n if (Device.android) {\r\n e.preventDefault();\r\n }\r\n image.isTouched = true;\r\n image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\r\n image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\r\n },\r\n onTouchMove: function onTouchMove(e) {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n var image = zoom.image;\r\n var velocity = zoom.velocity;\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n swiper.allowClick = false;\r\n if (!image.isTouched || !gesture.$slideEl) {\r\n return;\r\n }\r\n\r\n if (!image.isMoved) {\r\n image.width = gesture.$imageEl[0].offsetWidth;\r\n image.height = gesture.$imageEl[0].offsetHeight;\r\n image.startX = Utils.getTranslate(gesture.$imageWrapEl[0], 'x') || 0;\r\n image.startY = Utils.getTranslate(gesture.$imageWrapEl[0], 'y') || 0;\r\n gesture.slideWidth = gesture.$slideEl[0].offsetWidth;\r\n gesture.slideHeight = gesture.$slideEl[0].offsetHeight;\r\n gesture.$imageWrapEl.transition(0);\r\n if (swiper.rtl) {\r\n image.startX = -image.startX;\r\n image.startY = -image.startY;\r\n }\r\n }\r\n // Define if we need image drag\r\n var scaledWidth = image.width * zoom.scale;\r\n var scaledHeight = image.height * zoom.scale;\r\n\r\n if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) {\r\n return;\r\n }\r\n\r\n image.minX = Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0);\r\n image.maxX = -image.minX;\r\n image.minY = Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0);\r\n image.maxY = -image.minY;\r\n\r\n image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\r\n image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\r\n\r\n if (!image.isMoved && !zoom.isScaling) {\r\n if (\r\n swiper.isHorizontal()\r\n && (\r\n (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x)\r\n || (Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)\r\n )\r\n ) {\r\n image.isTouched = false;\r\n return;\r\n }\r\n if (\r\n !swiper.isHorizontal()\r\n && (\r\n (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y)\r\n || (Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)\r\n )\r\n ) {\r\n image.isTouched = false;\r\n return;\r\n }\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n image.isMoved = true;\r\n image.currentX = (image.touchesCurrent.x - image.touchesStart.x) + image.startX;\r\n image.currentY = (image.touchesCurrent.y - image.touchesStart.y) + image.startY;\r\n\r\n if (image.currentX < image.minX) {\r\n image.currentX = (image.minX + 1) - (Math.pow(((image.minX - image.currentX) + 1), 0.8));\r\n }\r\n if (image.currentX > image.maxX) {\r\n image.currentX = (image.maxX - 1) + (Math.pow(((image.currentX - image.maxX) + 1), 0.8));\r\n }\r\n\r\n if (image.currentY < image.minY) {\r\n image.currentY = (image.minY + 1) - (Math.pow(((image.minY - image.currentY) + 1), 0.8));\r\n }\r\n if (image.currentY > image.maxY) {\r\n image.currentY = (image.maxY - 1) + (Math.pow(((image.currentY - image.maxY) + 1), 0.8));\r\n }\r\n\r\n // Velocity\r\n if (!velocity.prevPositionX) {\r\n velocity.prevPositionX = image.touchesCurrent.x;\r\n }\r\n if (!velocity.prevPositionY) {\r\n velocity.prevPositionY = image.touchesCurrent.y;\r\n }\r\n if (!velocity.prevTime) {\r\n velocity.prevTime = Date.now();\r\n }\r\n velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\r\n velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\r\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) {\r\n velocity.x = 0;\r\n }\r\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) {\r\n velocity.y = 0;\r\n }\r\n velocity.prevPositionX = image.touchesCurrent.x;\r\n velocity.prevPositionY = image.touchesCurrent.y;\r\n velocity.prevTime = Date.now();\r\n\r\n gesture.$imageWrapEl.transform((\"translate3d(\" + (image.currentX) + \"px, \" + (image.currentY) + \"px,0)\"));\r\n },\r\n onTouchEnd: function onTouchEnd() {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n var image = zoom.image;\r\n var velocity = zoom.velocity;\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n if (!image.isTouched || !image.isMoved) {\r\n image.isTouched = false;\r\n image.isMoved = false;\r\n return;\r\n }\r\n image.isTouched = false;\r\n image.isMoved = false;\r\n var momentumDurationX = 300;\r\n var momentumDurationY = 300;\r\n var momentumDistanceX = velocity.x * momentumDurationX;\r\n var newPositionX = image.currentX + momentumDistanceX;\r\n var momentumDistanceY = velocity.y * momentumDurationY;\r\n var newPositionY = image.currentY + momentumDistanceY;\r\n\r\n // Fix duration\r\n if (velocity.x !== 0) {\r\n momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\r\n }\r\n if (velocity.y !== 0) {\r\n momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\r\n }\r\n var momentumDuration = Math.max(momentumDurationX, momentumDurationY);\r\n\r\n image.currentX = newPositionX;\r\n image.currentY = newPositionY;\r\n\r\n // Define if we need image drag\r\n var scaledWidth = image.width * zoom.scale;\r\n var scaledHeight = image.height * zoom.scale;\r\n image.minX = Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0);\r\n image.maxX = -image.minX;\r\n image.minY = Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0);\r\n image.maxY = -image.minY;\r\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\r\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\r\n\r\n gesture.$imageWrapEl.transition(momentumDuration).transform((\"translate3d(\" + (image.currentX) + \"px, \" + (image.currentY) + \"px,0)\"));\r\n },\r\n onTransitionEnd: function onTransitionEnd() {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n var gesture = zoom.gesture;\r\n if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {\r\n gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');\r\n gesture.$imageWrapEl.transform('translate3d(0,0,0)');\r\n gesture.$slideEl = undefined;\r\n gesture.$imageEl = undefined;\r\n gesture.$imageWrapEl = undefined;\r\n\r\n zoom.scale = 1;\r\n zoom.currentScale = 1;\r\n }\r\n },\r\n // Toggle Zoom\r\n toggle: function toggle(e) {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n\r\n if (zoom.scale && zoom.scale !== 1) {\r\n // Zoom Out\r\n zoom.out();\r\n } else {\r\n // Zoom In\r\n zoom.in(e);\r\n }\r\n },\r\n in: function in$1(e) {\r\n var swiper = this;\r\n\r\n var zoom = swiper.zoom;\r\n var params = swiper.params.zoom;\r\n var gesture = zoom.gesture;\r\n var image = zoom.image;\r\n\r\n if (!gesture.$slideEl) {\r\n gesture.$slideEl = swiper.clickedSlide ? $(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex);\r\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\r\n gesture.$imageWrapEl = gesture.$imageEl.parent((\".\" + (params.containerClass)));\r\n }\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n\r\n gesture.$slideEl.addClass((\"\" + (params.zoomedSlideClass)));\r\n\r\n var touchX;\r\n var touchY;\r\n var offsetX;\r\n var offsetY;\r\n var diffX;\r\n var diffY;\r\n var translateX;\r\n var translateY;\r\n var imageWidth;\r\n var imageHeight;\r\n var scaledWidth;\r\n var scaledHeight;\r\n var translateMinX;\r\n var translateMinY;\r\n var translateMaxX;\r\n var translateMaxY;\r\n var slideWidth;\r\n var slideHeight;\r\n\r\n if (typeof image.touchesStart.x === 'undefined' && e) {\r\n touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\r\n touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\r\n } else {\r\n touchX = image.touchesStart.x;\r\n touchY = image.touchesStart.y;\r\n }\r\n\r\n zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\r\n zoom.currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\r\n if (e) {\r\n slideWidth = gesture.$slideEl[0].offsetWidth;\r\n slideHeight = gesture.$slideEl[0].offsetHeight;\r\n offsetX = gesture.$slideEl.offset().left;\r\n offsetY = gesture.$slideEl.offset().top;\r\n diffX = (offsetX + (slideWidth / 2)) - touchX;\r\n diffY = (offsetY + (slideHeight / 2)) - touchY;\r\n\r\n imageWidth = gesture.$imageEl[0].offsetWidth;\r\n imageHeight = gesture.$imageEl[0].offsetHeight;\r\n scaledWidth = imageWidth * zoom.scale;\r\n scaledHeight = imageHeight * zoom.scale;\r\n\r\n translateMinX = Math.min(((slideWidth / 2) - (scaledWidth / 2)), 0);\r\n translateMinY = Math.min(((slideHeight / 2) - (scaledHeight / 2)), 0);\r\n translateMaxX = -translateMinX;\r\n translateMaxY = -translateMinY;\r\n\r\n translateX = diffX * zoom.scale;\r\n translateY = diffY * zoom.scale;\r\n\r\n if (translateX < translateMinX) {\r\n translateX = translateMinX;\r\n }\r\n if (translateX > translateMaxX) {\r\n translateX = translateMaxX;\r\n }\r\n\r\n if (translateY < translateMinY) {\r\n translateY = translateMinY;\r\n }\r\n if (translateY > translateMaxY) {\r\n translateY = translateMaxY;\r\n }\r\n } else {\r\n translateX = 0;\r\n translateY = 0;\r\n }\r\n gesture.$imageWrapEl.transition(300).transform((\"translate3d(\" + translateX + \"px, \" + translateY + \"px,0)\"));\r\n gesture.$imageEl.transition(300).transform((\"translate3d(0,0,0) scale(\" + (zoom.scale) + \")\"));\r\n },\r\n out: function out() {\r\n var swiper = this;\r\n\r\n var zoom = swiper.zoom;\r\n var params = swiper.params.zoom;\r\n var gesture = zoom.gesture;\r\n\r\n if (!gesture.$slideEl) {\r\n gesture.$slideEl = swiper.clickedSlide ? $(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex);\r\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\r\n gesture.$imageWrapEl = gesture.$imageEl.parent((\".\" + (params.containerClass)));\r\n }\r\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) {\r\n return;\r\n }\r\n\r\n zoom.scale = 1;\r\n zoom.currentScale = 1;\r\n gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');\r\n gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');\r\n gesture.$slideEl.removeClass((\"\" + (params.zoomedSlideClass)));\r\n gesture.$slideEl = undefined;\r\n },\r\n // Attach/Detach Events\r\n enable: function enable() {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n if (zoom.enabled) {\r\n return;\r\n }\r\n zoom.enabled = true;\r\n\r\n var passiveListener = swiper.touchEvents.start === 'touchstart' && Support.passiveListener && swiper.params.passiveListeners ? {\r\n passive: true,\r\n capture: false\r\n } : false;\r\n\r\n // Scale image\r\n if (Support.gestures) {\r\n swiper.$wrapperEl.on('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener);\r\n swiper.$wrapperEl.on('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener);\r\n swiper.$wrapperEl.on('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener);\r\n } else if (swiper.touchEvents.start === 'touchstart') {\r\n swiper.$wrapperEl.on(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener);\r\n swiper.$wrapperEl.on(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener);\r\n swiper.$wrapperEl.on(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener);\r\n }\r\n\r\n // Move image\r\n swiper.$wrapperEl.on(swiper.touchEvents.move, (\".\" + (swiper.params.zoom.containerClass)), zoom.onTouchMove);\r\n },\r\n disable: function disable() {\r\n var swiper = this;\r\n var zoom = swiper.zoom;\r\n if (!zoom.enabled) {\r\n return;\r\n }\r\n\r\n swiper.zoom.enabled = false;\r\n\r\n var passiveListener = swiper.touchEvents.start === 'touchstart' && Support.passiveListener && swiper.params.passiveListeners ? {\r\n passive: true,\r\n capture: false\r\n } : false;\r\n\r\n // Scale image\r\n if (Support.gestures) {\r\n swiper.$wrapperEl.off('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener);\r\n swiper.$wrapperEl.off('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener);\r\n swiper.$wrapperEl.off('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener);\r\n } else if (swiper.touchEvents.start === 'touchstart') {\r\n swiper.$wrapperEl.off(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener);\r\n swiper.$wrapperEl.off(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener);\r\n swiper.$wrapperEl.off(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener);\r\n }\r\n\r\n // Move image\r\n swiper.$wrapperEl.off(swiper.touchEvents.move, (\".\" + (swiper.params.zoom.containerClass)), zoom.onTouchMove);\r\n },\r\n };\r\n\r\n var Zoom$1 = {\r\n name: 'zoom',\r\n params: {\r\n zoom: {\r\n enabled: false,\r\n maxRatio: 3,\r\n minRatio: 1,\r\n toggle: true,\r\n containerClass: 'swiper-zoom-container',\r\n zoomedSlideClass: 'swiper-slide-zoomed',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n var zoom = {\r\n enabled: false,\r\n scale: 1,\r\n currentScale: 1,\r\n isScaling: false,\r\n gesture: {\r\n $slideEl: undefined,\r\n slideWidth: undefined,\r\n slideHeight: undefined,\r\n $imageEl: undefined,\r\n $imageWrapEl: undefined,\r\n maxRatio: 3,\r\n },\r\n image: {\r\n isTouched: undefined,\r\n isMoved: undefined,\r\n currentX: undefined,\r\n currentY: undefined,\r\n minX: undefined,\r\n minY: undefined,\r\n maxX: undefined,\r\n maxY: undefined,\r\n width: undefined,\r\n height: undefined,\r\n startX: undefined,\r\n startY: undefined,\r\n touchesStart: {},\r\n touchesCurrent: {},\r\n },\r\n velocity: {\r\n x: undefined,\r\n y: undefined,\r\n prevPositionX: undefined,\r\n prevPositionY: undefined,\r\n prevTime: undefined,\r\n },\r\n };\r\n ('onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out').split(' ').forEach(function (methodName) {\r\n zoom[methodName] = Zoom[methodName].bind(swiper);\r\n });\r\n Utils.extend(swiper, {\r\n zoom: zoom,\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.zoom.enabled) {\r\n swiper.zoom.enable();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n swiper.zoom.disable();\r\n },\r\n touchStart: function touchStart(e) {\r\n var swiper = this;\r\n if (!swiper.zoom.enabled) {\r\n return;\r\n }\r\n swiper.zoom.onTouchStart(e);\r\n },\r\n touchEnd: function touchEnd(e) {\r\n var swiper = this;\r\n if (!swiper.zoom.enabled) {\r\n return;\r\n }\r\n swiper.zoom.onTouchEnd(e);\r\n },\r\n doubleTap: function doubleTap(e) {\r\n var swiper = this;\r\n if (swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\r\n swiper.zoom.toggle(e);\r\n }\r\n },\r\n transitionEnd: function transitionEnd() {\r\n var swiper = this;\r\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\r\n swiper.zoom.onTransitionEnd();\r\n }\r\n },\r\n },\r\n };\r\n\r\n var Lazy = {\r\n loadInSlide: function loadInSlide(index, loadInDuplicate) {\r\n if (loadInDuplicate === void 0) loadInDuplicate = true;\r\n\r\n var swiper = this;\r\n var params = swiper.params.lazy;\r\n if (typeof index === 'undefined') {\r\n return;\r\n }\r\n if (swiper.slides.length === 0) {\r\n return;\r\n }\r\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\r\n\r\n var $slideEl = isVirtual\r\n ? swiper.$wrapperEl.children((\".\" + (swiper.params.slideClass) + \"[data-swiper-slide-index=\\\"\" + index + \"\\\"]\"))\r\n : swiper.slides.eq(index);\r\n\r\n var $images = $slideEl.find((\".\" + (params.elementClass) + \":not(.\" + (params.loadedClass) + \"):not(.\" + (params.loadingClass) + \")\"));\r\n if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {\r\n $images = $images.add($slideEl[0]);\r\n }\r\n if ($images.length === 0) {\r\n return;\r\n }\r\n\r\n $images.each(function (imageIndex, imageEl) {\r\n var $imageEl = $(imageEl);\r\n $imageEl.addClass(params.loadingClass);\r\n\r\n var background = $imageEl.attr('data-background');\r\n var src = $imageEl.attr('data-src');\r\n var srcset = $imageEl.attr('data-srcset');\r\n var sizes = $imageEl.attr('data-sizes');\r\n\r\n swiper.loadImage($imageEl[0], (src || background), srcset, sizes, false, function () {\r\n if (typeof swiper === 'undefined' || swiper === null || !swiper || (swiper && !swiper.params) || swiper.destroyed) {\r\n return;\r\n }\r\n if (background) {\r\n $imageEl.css('background-image', (\"url(\\\"\" + background + \"\\\")\"));\r\n $imageEl.removeAttr('data-background');\r\n } else {\r\n if (srcset) {\r\n $imageEl.attr('srcset', srcset);\r\n $imageEl.removeAttr('data-srcset');\r\n }\r\n if (sizes) {\r\n $imageEl.attr('sizes', sizes);\r\n $imageEl.removeAttr('data-sizes');\r\n }\r\n if (src) {\r\n $imageEl.attr('src', src);\r\n $imageEl.removeAttr('data-src');\r\n }\r\n }\r\n\r\n $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\r\n $slideEl.find((\".\" + (params.preloaderClass))).remove();\r\n if (swiper.params.loop && loadInDuplicate) {\r\n var slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');\r\n if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\r\n var originalSlide = swiper.$wrapperEl.children((\"[data-swiper-slide-index=\\\"\" + slideOriginalIndex + \"\\\"]:not(.\" + (swiper.params.slideDuplicateClass) + \")\"));\r\n swiper.lazy.loadInSlide(originalSlide.index(), false);\r\n } else {\r\n var duplicatedSlide = swiper.$wrapperEl.children((\".\" + (swiper.params.slideDuplicateClass) + \"[data-swiper-slide-index=\\\"\" + slideOriginalIndex + \"\\\"]\"));\r\n swiper.lazy.loadInSlide(duplicatedSlide.index(), false);\r\n }\r\n }\r\n swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);\r\n });\r\n\r\n swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);\r\n });\r\n },\r\n load: function load() {\r\n var swiper = this;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var swiperParams = swiper.params;\r\n var slides = swiper.slides;\r\n var activeIndex = swiper.activeIndex;\r\n var isVirtual = swiper.virtual && swiperParams.virtual.enabled;\r\n var params = swiperParams.lazy;\r\n\r\n var slidesPerView = swiperParams.slidesPerView;\r\n if (slidesPerView === 'auto') {\r\n slidesPerView = 0;\r\n }\r\n\r\n function slideExist(index) {\r\n if (isVirtual) {\r\n if ($wrapperEl.children((\".\" + (swiperParams.slideClass) + \"[data-swiper-slide-index=\\\"\" + index + \"\\\"]\")).length) {\r\n return true;\r\n }\r\n } else if (slides[index]) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n function slideIndex(slideEl) {\r\n if (isVirtual) {\r\n return $(slideEl).attr('data-swiper-slide-index');\r\n }\r\n return $(slideEl).index();\r\n }\r\n\r\n if (!swiper.lazy.initialImageLoaded) {\r\n swiper.lazy.initialImageLoaded = true;\r\n }\r\n if (swiper.params.watchSlidesVisibility) {\r\n $wrapperEl.children((\".\" + (swiperParams.slideVisibleClass))).each(function (elIndex, slideEl) {\r\n var index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();\r\n swiper.lazy.loadInSlide(index);\r\n });\r\n } else if (slidesPerView > 1) {\r\n for (var i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\r\n if (slideExist(i)) {\r\n swiper.lazy.loadInSlide(i);\r\n }\r\n }\r\n } else {\r\n swiper.lazy.loadInSlide(activeIndex);\r\n }\r\n if (params.loadPrevNext) {\r\n if (slidesPerView > 1 || (params.loadPrevNextAmount && params.loadPrevNextAmount > 1)) {\r\n var amount = params.loadPrevNextAmount;\r\n var spv = slidesPerView;\r\n var maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\r\n var minIndex = Math.max(activeIndex - Math.max(spv, amount), 0);\r\n // Next Slides\r\n for (var i$1 = activeIndex + slidesPerView; i$1 < maxIndex; i$1 += 1) {\r\n if (slideExist(i$1)) {\r\n swiper.lazy.loadInSlide(i$1);\r\n }\r\n }\r\n // Prev Slides\r\n for (var i$2 = minIndex; i$2 < activeIndex; i$2 += 1) {\r\n if (slideExist(i$2)) {\r\n swiper.lazy.loadInSlide(i$2);\r\n }\r\n }\r\n } else {\r\n var nextSlide = $wrapperEl.children((\".\" + (swiperParams.slideNextClass)));\r\n if (nextSlide.length > 0) {\r\n swiper.lazy.loadInSlide(slideIndex(nextSlide));\r\n }\r\n\r\n var prevSlide = $wrapperEl.children((\".\" + (swiperParams.slidePrevClass)));\r\n if (prevSlide.length > 0) {\r\n swiper.lazy.loadInSlide(slideIndex(prevSlide));\r\n }\r\n }\r\n }\r\n },\r\n };\r\n\r\n var Lazy$1 = {\r\n name: 'lazy',\r\n params: {\r\n lazy: {\r\n enabled: false,\r\n loadPrevNext: false,\r\n loadPrevNextAmount: 1,\r\n loadOnTransitionStart: false,\r\n\r\n elementClass: 'swiper-lazy',\r\n loadingClass: 'swiper-lazy-loading',\r\n loadedClass: 'swiper-lazy-loaded',\r\n preloaderClass: 'swiper-lazy-preloader',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n lazy: {\r\n initialImageLoaded: false,\r\n load: Lazy.load.bind(swiper),\r\n loadInSlide: Lazy.loadInSlide.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (swiper.params.lazy.enabled && swiper.params.preloadImages) {\r\n swiper.params.preloadImages = false;\r\n }\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.lazy.enabled && !swiper.params.loop && swiper.params.initialSlide === 0) {\r\n swiper.lazy.load();\r\n }\r\n },\r\n scroll: function scroll() {\r\n var swiper = this;\r\n if (swiper.params.freeMode && !swiper.params.freeModeSticky) {\r\n swiper.lazy.load();\r\n }\r\n },\r\n resize: function resize() {\r\n var swiper = this;\r\n if (swiper.params.lazy.enabled) {\r\n swiper.lazy.load();\r\n }\r\n },\r\n scrollbarDragMove: function scrollbarDragMove() {\r\n var swiper = this;\r\n if (swiper.params.lazy.enabled) {\r\n swiper.lazy.load();\r\n }\r\n },\r\n transitionStart: function transitionStart() {\r\n var swiper = this;\r\n if (swiper.params.lazy.enabled) {\r\n if (swiper.params.lazy.loadOnTransitionStart || (!swiper.params.lazy.loadOnTransitionStart && !swiper.lazy.initialImageLoaded)) {\r\n swiper.lazy.load();\r\n }\r\n }\r\n },\r\n transitionEnd: function transitionEnd() {\r\n var swiper = this;\r\n if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\r\n swiper.lazy.load();\r\n }\r\n },\r\n },\r\n };\r\n\r\n /* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\r\n\r\n var Controller = {\r\n LinearSpline: function LinearSpline(x, y) {\r\n var binarySearch = (function search() {\r\n var maxIndex;\r\n var minIndex;\r\n var guess;\r\n return function (array, val) {\r\n minIndex = -1;\r\n maxIndex = array.length;\r\n while (maxIndex - minIndex > 1) {\r\n guess = maxIndex + minIndex >> 1;\r\n if (array[guess] <= val) {\r\n minIndex = guess;\r\n } else {\r\n maxIndex = guess;\r\n }\r\n }\r\n return maxIndex;\r\n };\r\n }());\r\n this.x = x;\r\n this.y = y;\r\n this.lastIndex = x.length - 1;\r\n // Given an x value (x2), return the expected y2 value:\r\n // (x1,y1) is the known point before given value,\r\n // (x3,y3) is the known point after given value.\r\n var i1;\r\n var i3;\r\n\r\n this.interpolate = function interpolate(x2) {\r\n if (!x2) {\r\n return 0;\r\n }\r\n\r\n // Get the indexes of x1 and x3 (the array indexes before and after given x2):\r\n i3 = binarySearch(this.x, x2);\r\n i1 = i3 - 1;\r\n\r\n // We have our indexes i1 & i3, so we can calculate already:\r\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\r\n return (((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1])) + this.y[i1];\r\n };\r\n return this;\r\n },\r\n // xxx: for now i will just save one spline function to to\r\n getInterpolateFunction: function getInterpolateFunction(c) {\r\n var swiper = this;\r\n if (!swiper.controller.spline) {\r\n swiper.controller.spline = swiper.params.loop\r\n ? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid)\r\n : new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);\r\n }\r\n },\r\n setTranslate: function setTranslate(setTranslate$1, byController) {\r\n var swiper = this;\r\n var controlled = swiper.controller.control;\r\n var multiplier;\r\n var controlledTranslate;\r\n\r\n function setControlledTranslate(c) {\r\n // this will create an Interpolate function based on the snapGrids\r\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\r\n // it makes sense to create this only once and recall it for the interpolation\r\n // the function does a lot of value caching for performance\r\n var translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\r\n if (swiper.params.controller.by === 'slide') {\r\n swiper.controller.getInterpolateFunction(c);\r\n // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\r\n // but it did not work out\r\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\r\n }\r\n\r\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\r\n multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\r\n controlledTranslate = ((translate - swiper.minTranslate()) * multiplier) + c.minTranslate();\r\n }\r\n\r\n if (swiper.params.controller.inverse) {\r\n controlledTranslate = c.maxTranslate() - controlledTranslate;\r\n }\r\n c.updateProgress(controlledTranslate);\r\n c.setTranslate(controlledTranslate, swiper);\r\n c.updateActiveIndex();\r\n c.updateSlidesClasses();\r\n }\r\n\r\n if (Array.isArray(controlled)) {\r\n for (var i = 0; i < controlled.length; i += 1) {\r\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\r\n setControlledTranslate(controlled[i]);\r\n }\r\n }\r\n } else if (controlled instanceof Swiper && byController !== controlled) {\r\n setControlledTranslate(controlled);\r\n }\r\n },\r\n setTransition: function setTransition(duration, byController) {\r\n var swiper = this;\r\n var controlled = swiper.controller.control;\r\n var i;\r\n\r\n function setControlledTransition(c) {\r\n c.setTransition(duration, swiper);\r\n if (duration !== 0) {\r\n c.transitionStart();\r\n if (c.params.autoHeight) {\r\n Utils.nextTick(function () {\r\n c.updateAutoHeight();\r\n });\r\n }\r\n c.$wrapperEl.transitionEnd(function () {\r\n if (!controlled) {\r\n return;\r\n }\r\n if (c.params.loop && swiper.params.controller.by === 'slide') {\r\n c.loopFix();\r\n }\r\n c.transitionEnd();\r\n });\r\n }\r\n }\r\n\r\n if (Array.isArray(controlled)) {\r\n for (i = 0; i < controlled.length; i += 1) {\r\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\r\n setControlledTransition(controlled[i]);\r\n }\r\n }\r\n } else if (controlled instanceof Swiper && byController !== controlled) {\r\n setControlledTransition(controlled);\r\n }\r\n },\r\n };\r\n var Controller$1 = {\r\n name: 'controller',\r\n params: {\r\n controller: {\r\n control: undefined,\r\n inverse: false,\r\n by: 'slide', // or 'container'\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n controller: {\r\n control: swiper.params.controller.control,\r\n getInterpolateFunction: Controller.getInterpolateFunction.bind(swiper),\r\n setTranslate: Controller.setTranslate.bind(swiper),\r\n setTransition: Controller.setTransition.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n update: function update() {\r\n var swiper = this;\r\n if (!swiper.controller.control) {\r\n return;\r\n }\r\n if (swiper.controller.spline) {\r\n swiper.controller.spline = undefined;\r\n delete swiper.controller.spline;\r\n }\r\n },\r\n resize: function resize() {\r\n var swiper = this;\r\n if (!swiper.controller.control) {\r\n return;\r\n }\r\n if (swiper.controller.spline) {\r\n swiper.controller.spline = undefined;\r\n delete swiper.controller.spline;\r\n }\r\n },\r\n observerUpdate: function observerUpdate() {\r\n var swiper = this;\r\n if (!swiper.controller.control) {\r\n return;\r\n }\r\n if (swiper.controller.spline) {\r\n swiper.controller.spline = undefined;\r\n delete swiper.controller.spline;\r\n }\r\n },\r\n setTranslate: function setTranslate(translate, byController) {\r\n var swiper = this;\r\n if (!swiper.controller.control) {\r\n return;\r\n }\r\n swiper.controller.setTranslate(translate, byController);\r\n },\r\n setTransition: function setTransition(duration, byController) {\r\n var swiper = this;\r\n if (!swiper.controller.control) {\r\n return;\r\n }\r\n swiper.controller.setTransition(duration, byController);\r\n },\r\n },\r\n };\r\n\r\n var a11y = {\r\n makeElFocusable: function makeElFocusable($el) {\r\n $el.attr('tabIndex', '0');\r\n return $el;\r\n },\r\n addElRole: function addElRole($el, role) {\r\n $el.attr('role', role);\r\n return $el;\r\n },\r\n addElLabel: function addElLabel($el, label) {\r\n $el.attr('aria-label', label);\r\n return $el;\r\n },\r\n disableEl: function disableEl($el) {\r\n $el.attr('aria-disabled', true);\r\n return $el;\r\n },\r\n enableEl: function enableEl($el) {\r\n $el.attr('aria-disabled', false);\r\n return $el;\r\n },\r\n onEnterKey: function onEnterKey(e) {\r\n var swiper = this;\r\n var params = swiper.params.a11y;\r\n if (e.keyCode !== 13) {\r\n return;\r\n }\r\n var $targetEl = $(e.target);\r\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\r\n if (!(swiper.isEnd && !swiper.params.loop)) {\r\n swiper.slideNext();\r\n }\r\n if (swiper.isEnd) {\r\n swiper.a11y.notify(params.lastSlideMessage);\r\n } else {\r\n swiper.a11y.notify(params.nextSlideMessage);\r\n }\r\n }\r\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\r\n if (!(swiper.isBeginning && !swiper.params.loop)) {\r\n swiper.slidePrev();\r\n }\r\n if (swiper.isBeginning) {\r\n swiper.a11y.notify(params.firstSlideMessage);\r\n } else {\r\n swiper.a11y.notify(params.prevSlideMessage);\r\n }\r\n }\r\n if (swiper.pagination && $targetEl.is((\".\" + (swiper.params.pagination.bulletClass)))) {\r\n $targetEl[0].click();\r\n }\r\n },\r\n notify: function notify(message) {\r\n var swiper = this;\r\n var notification = swiper.a11y.liveRegion;\r\n if (notification.length === 0) {\r\n return;\r\n }\r\n notification.html('');\r\n notification.html(message);\r\n },\r\n updateNavigation: function updateNavigation() {\r\n var swiper = this;\r\n\r\n if (swiper.params.loop) {\r\n return;\r\n }\r\n var ref = swiper.navigation;\r\n var $nextEl = ref.$nextEl;\r\n var $prevEl = ref.$prevEl;\r\n\r\n if ($prevEl && $prevEl.length > 0) {\r\n if (swiper.isBeginning) {\r\n swiper.a11y.disableEl($prevEl);\r\n } else {\r\n swiper.a11y.enableEl($prevEl);\r\n }\r\n }\r\n if ($nextEl && $nextEl.length > 0) {\r\n if (swiper.isEnd) {\r\n swiper.a11y.disableEl($nextEl);\r\n } else {\r\n swiper.a11y.enableEl($nextEl);\r\n }\r\n }\r\n },\r\n updatePagination: function updatePagination() {\r\n var swiper = this;\r\n var params = swiper.params.a11y;\r\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\r\n swiper.pagination.bullets.each(function (bulletIndex, bulletEl) {\r\n var $bulletEl = $(bulletEl);\r\n swiper.a11y.makeElFocusable($bulletEl);\r\n swiper.a11y.addElRole($bulletEl, 'button');\r\n swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/{{index}}/, $bulletEl.index() + 1));\r\n });\r\n }\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n\r\n swiper.$el.append(swiper.a11y.liveRegion);\r\n\r\n // Navigation\r\n var params = swiper.params.a11y;\r\n var $nextEl;\r\n var $prevEl;\r\n if (swiper.navigation && swiper.navigation.$nextEl) {\r\n $nextEl = swiper.navigation.$nextEl;\r\n }\r\n if (swiper.navigation && swiper.navigation.$prevEl) {\r\n $prevEl = swiper.navigation.$prevEl;\r\n }\r\n if ($nextEl) {\r\n swiper.a11y.makeElFocusable($nextEl);\r\n swiper.a11y.addElRole($nextEl, 'button');\r\n swiper.a11y.addElLabel($nextEl, params.nextSlideMessage);\r\n $nextEl.on('keydown', swiper.a11y.onEnterKey);\r\n }\r\n if ($prevEl) {\r\n swiper.a11y.makeElFocusable($prevEl);\r\n swiper.a11y.addElRole($prevEl, 'button');\r\n swiper.a11y.addElLabel($prevEl, params.prevSlideMessage);\r\n $prevEl.on('keydown', swiper.a11y.onEnterKey);\r\n }\r\n\r\n // Pagination\r\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\r\n swiper.pagination.$el.on('keydown', (\".\" + (swiper.params.pagination.bulletClass)), swiper.a11y.onEnterKey);\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.a11y.liveRegion && swiper.a11y.liveRegion.length > 0) {\r\n swiper.a11y.liveRegion.remove();\r\n }\r\n\r\n var $nextEl;\r\n var $prevEl;\r\n if (swiper.navigation && swiper.navigation.$nextEl) {\r\n $nextEl = swiper.navigation.$nextEl;\r\n }\r\n if (swiper.navigation && swiper.navigation.$prevEl) {\r\n $prevEl = swiper.navigation.$prevEl;\r\n }\r\n if ($nextEl) {\r\n $nextEl.off('keydown', swiper.a11y.onEnterKey);\r\n }\r\n if ($prevEl) {\r\n $prevEl.off('keydown', swiper.a11y.onEnterKey);\r\n }\r\n\r\n // Pagination\r\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\r\n swiper.pagination.$el.off('keydown', (\".\" + (swiper.params.pagination.bulletClass)), swiper.a11y.onEnterKey);\r\n }\r\n },\r\n };\r\n var A11y = {\r\n name: 'a11y',\r\n params: {\r\n a11y: {\r\n enabled: true,\r\n notificationClass: 'swiper-notification',\r\n prevSlideMessage: 'Previous slide',\r\n nextSlideMessage: 'Next slide',\r\n firstSlideMessage: 'This is the first slide',\r\n lastSlideMessage: 'This is the last slide',\r\n paginationBulletMessage: 'Go to slide {{index}}',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n a11y: {\r\n liveRegion: $((\"\")),\r\n },\r\n });\r\n Object.keys(a11y).forEach(function (methodName) {\r\n swiper.a11y[methodName] = a11y[methodName].bind(swiper);\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (!swiper.params.a11y.enabled) {\r\n return;\r\n }\r\n swiper.a11y.init();\r\n swiper.a11y.updateNavigation();\r\n },\r\n toEdge: function toEdge() {\r\n var swiper = this;\r\n if (!swiper.params.a11y.enabled) {\r\n return;\r\n }\r\n swiper.a11y.updateNavigation();\r\n },\r\n fromEdge: function fromEdge() {\r\n var swiper = this;\r\n if (!swiper.params.a11y.enabled) {\r\n return;\r\n }\r\n swiper.a11y.updateNavigation();\r\n },\r\n paginationUpdate: function paginationUpdate() {\r\n var swiper = this;\r\n if (!swiper.params.a11y.enabled) {\r\n return;\r\n }\r\n swiper.a11y.updatePagination();\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (!swiper.params.a11y.enabled) {\r\n return;\r\n }\r\n swiper.a11y.destroy();\r\n },\r\n },\r\n };\r\n\r\n var History = {\r\n init: function init() {\r\n var swiper = this;\r\n if (!swiper.params.history) {\r\n return;\r\n }\r\n if (!win.history || !win.history.pushState) {\r\n swiper.params.history.enabled = false;\r\n swiper.params.hashNavigation.enabled = true;\r\n return;\r\n }\r\n var history = swiper.history;\r\n history.initialized = true;\r\n history.paths = History.getPathValues();\r\n if (!history.paths.key && !history.paths.value) {\r\n return;\r\n }\r\n history.scrollToSlide(0, history.paths.value, swiper.params.runCallbacksOnInit);\r\n if (!swiper.params.history.replaceState) {\r\n win.addEventListener('popstate', swiper.history.setHistoryPopState);\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (!swiper.params.history.replaceState) {\r\n win.removeEventListener('popstate', swiper.history.setHistoryPopState);\r\n }\r\n },\r\n setHistoryPopState: function setHistoryPopState() {\r\n var swiper = this;\r\n swiper.history.paths = History.getPathValues();\r\n swiper.history.scrollToSlide(swiper.params.speed, swiper.history.paths.value, false);\r\n },\r\n getPathValues: function getPathValues() {\r\n var pathArray = win.location.pathname.slice(1).split('/').filter(function (part) {\r\n return part !== '';\r\n });\r\n var total = pathArray.length;\r\n var key = pathArray[total - 2];\r\n var value = pathArray[total - 1];\r\n return {key: key, value: value};\r\n },\r\n setHistory: function setHistory(key, index) {\r\n var swiper = this;\r\n if (!swiper.history.initialized || !swiper.params.history.enabled) {\r\n return;\r\n }\r\n var slide = swiper.slides.eq(index);\r\n var value = History.slugify(slide.attr('data-history'));\r\n if (!win.location.pathname.includes(key)) {\r\n value = key + \"/\" + value;\r\n }\r\n var currentState = win.history.state;\r\n if (currentState && currentState.value === value) {\r\n return;\r\n }\r\n if (swiper.params.history.replaceState) {\r\n win.history.replaceState({value: value}, null, value);\r\n } else {\r\n win.history.pushState({value: value}, null, value);\r\n }\r\n },\r\n slugify: function slugify(text) {\r\n return text.toString().toLowerCase()\r\n .replace(/\\s+/g, '-')\r\n .replace(/[^\\w-]+/g, '')\r\n .replace(/--+/g, '-')\r\n .replace(/^-+/, '')\r\n .replace(/-+$/, '');\r\n },\r\n scrollToSlide: function scrollToSlide(speed, value, runCallbacks) {\r\n var swiper = this;\r\n if (value) {\r\n for (var i = 0, length = swiper.slides.length; i < length; i += 1) {\r\n var slide = swiper.slides.eq(i);\r\n var slideHistory = History.slugify(slide.attr('data-history'));\r\n if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) {\r\n var index = slide.index();\r\n swiper.slideTo(index, speed, runCallbacks);\r\n }\r\n }\r\n } else {\r\n swiper.slideTo(0, speed, runCallbacks);\r\n }\r\n },\r\n };\r\n\r\n var History$1 = {\r\n name: 'history',\r\n params: {\r\n history: {\r\n enabled: false,\r\n replaceState: false,\r\n key: 'slides',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n history: {\r\n init: History.init.bind(swiper),\r\n setHistory: History.setHistory.bind(swiper),\r\n setHistoryPopState: History.setHistoryPopState.bind(swiper),\r\n scrollToSlide: History.scrollToSlide.bind(swiper),\r\n destroy: History.destroy.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.history.enabled) {\r\n swiper.history.init();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.params.history.enabled) {\r\n swiper.history.destroy();\r\n }\r\n },\r\n transitionEnd: function transitionEnd() {\r\n var swiper = this;\r\n if (swiper.history.initialized) {\r\n swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);\r\n }\r\n },\r\n },\r\n };\r\n\r\n var HashNavigation = {\r\n onHashCange: function onHashCange() {\r\n var swiper = this;\r\n var newHash = doc.location.hash.replace('#', '');\r\n var activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash');\r\n if (newHash !== activeSlideHash) {\r\n var newIndex = swiper.$wrapperEl.children((\".\" + (swiper.params.slideClass) + \"[data-hash=\\\"\" + newHash + \"\\\"]\")).index();\r\n if (typeof newIndex === 'undefined') {\r\n return;\r\n }\r\n swiper.slideTo(newIndex);\r\n }\r\n },\r\n setHash: function setHash() {\r\n var swiper = this;\r\n if (!swiper.hashNavigation.initialized || !swiper.params.hashNavigation.enabled) {\r\n return;\r\n }\r\n if (swiper.params.hashNavigation.replaceState && win.history && win.history.replaceState) {\r\n win.history.replaceState(null, null, ((\"#\" + (swiper.slides.eq(swiper.activeIndex).attr('data-hash'))) || ''));\r\n } else {\r\n var slide = swiper.slides.eq(swiper.activeIndex);\r\n var hash = slide.attr('data-hash') || slide.attr('data-history');\r\n doc.location.hash = hash || '';\r\n }\r\n },\r\n init: function init() {\r\n var swiper = this;\r\n if (!swiper.params.hashNavigation.enabled || (swiper.params.history && swiper.params.history.enabled)) {\r\n return;\r\n }\r\n swiper.hashNavigation.initialized = true;\r\n var hash = doc.location.hash.replace('#', '');\r\n if (hash) {\r\n var speed = 0;\r\n for (var i = 0, length = swiper.slides.length; i < length; i += 1) {\r\n var slide = swiper.slides.eq(i);\r\n var slideHash = slide.attr('data-hash') || slide.attr('data-history');\r\n if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) {\r\n var index = slide.index();\r\n swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);\r\n }\r\n }\r\n }\r\n if (swiper.params.hashNavigation.watchState) {\r\n $(win).on('hashchange', swiper.hashNavigation.onHashCange);\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.params.hashNavigation.watchState) {\r\n $(win).off('hashchange', swiper.hashNavigation.onHashCange);\r\n }\r\n },\r\n };\r\n var HashNavigation$1 = {\r\n name: 'hash-navigation',\r\n params: {\r\n hashNavigation: {\r\n enabled: false,\r\n replaceState: false,\r\n watchState: false,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n hashNavigation: {\r\n initialized: false,\r\n init: HashNavigation.init.bind(swiper),\r\n destroy: HashNavigation.destroy.bind(swiper),\r\n setHash: HashNavigation.setHash.bind(swiper),\r\n onHashCange: HashNavigation.onHashCange.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.hashNavigation.enabled) {\r\n swiper.hashNavigation.init();\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.params.hashNavigation.enabled) {\r\n swiper.hashNavigation.destroy();\r\n }\r\n },\r\n transitionEnd: function transitionEnd() {\r\n var swiper = this;\r\n if (swiper.hashNavigation.initialized) {\r\n swiper.hashNavigation.setHash();\r\n }\r\n },\r\n },\r\n };\r\n\r\n /* eslint no-underscore-dangle: \"off\" */\r\n\r\n var Autoplay = {\r\n run: function run() {\r\n var swiper = this;\r\n var $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\r\n var delay = swiper.params.autoplay.delay;\r\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\r\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\r\n }\r\n swiper.autoplay.timeout = Utils.nextTick(function () {\r\n if (swiper.params.autoplay.reverseDirection) {\r\n if (swiper.params.loop) {\r\n swiper.loopFix();\r\n swiper.slidePrev(swiper.params.speed, true, true);\r\n swiper.emit('autoplay');\r\n } else if (!swiper.isBeginning) {\r\n swiper.slidePrev(swiper.params.speed, true, true);\r\n swiper.emit('autoplay');\r\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\r\n swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\r\n swiper.emit('autoplay');\r\n } else {\r\n swiper.autoplay.stop();\r\n }\r\n } else if (swiper.params.loop) {\r\n swiper.loopFix();\r\n swiper.slideNext(swiper.params.speed, true, true);\r\n swiper.emit('autoplay');\r\n } else if (!swiper.isEnd) {\r\n swiper.slideNext(swiper.params.speed, true, true);\r\n swiper.emit('autoplay');\r\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\r\n swiper.slideTo(0, swiper.params.speed, true, true);\r\n swiper.emit('autoplay');\r\n } else {\r\n swiper.autoplay.stop();\r\n }\r\n }, delay);\r\n },\r\n start: function start() {\r\n var swiper = this;\r\n if (typeof swiper.autoplay.timeout !== 'undefined') {\r\n return false;\r\n }\r\n if (swiper.autoplay.running) {\r\n return false;\r\n }\r\n swiper.autoplay.running = true;\r\n swiper.emit('autoplayStart');\r\n swiper.autoplay.run();\r\n return true;\r\n },\r\n stop: function stop() {\r\n var swiper = this;\r\n if (!swiper.autoplay.running) {\r\n return false;\r\n }\r\n if (typeof swiper.autoplay.timeout === 'undefined') {\r\n return false;\r\n }\r\n\r\n if (swiper.autoplay.timeout) {\r\n clearTimeout(swiper.autoplay.timeout);\r\n swiper.autoplay.timeout = undefined;\r\n }\r\n swiper.autoplay.running = false;\r\n swiper.emit('autoplayStop');\r\n return true;\r\n },\r\n pause: function pause(speed) {\r\n var swiper = this;\r\n if (!swiper.autoplay.running) {\r\n return;\r\n }\r\n if (swiper.autoplay.paused) {\r\n return;\r\n }\r\n if (swiper.autoplay.timeout) {\r\n clearTimeout(swiper.autoplay.timeout);\r\n }\r\n swiper.autoplay.paused = true;\r\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\r\n swiper.autoplay.paused = false;\r\n swiper.autoplay.run();\r\n } else {\r\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.autoplay.onTransitionEnd);\r\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\r\n }\r\n },\r\n };\r\n\r\n var Autoplay$1 = {\r\n name: 'autoplay',\r\n params: {\r\n autoplay: {\r\n enabled: false,\r\n delay: 3000,\r\n waitForTransition: true,\r\n disableOnInteraction: true,\r\n stopOnLastSlide: false,\r\n reverseDirection: false,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n autoplay: {\r\n running: false,\r\n paused: false,\r\n run: Autoplay.run.bind(swiper),\r\n start: Autoplay.start.bind(swiper),\r\n stop: Autoplay.stop.bind(swiper),\r\n pause: Autoplay.pause.bind(swiper),\r\n onTransitionEnd: function onTransitionEnd(e) {\r\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) {\r\n return;\r\n }\r\n if (e.target !== this) {\r\n return;\r\n }\r\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.autoplay.onTransitionEnd);\r\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\r\n swiper.autoplay.paused = false;\r\n if (!swiper.autoplay.running) {\r\n swiper.autoplay.stop();\r\n } else {\r\n swiper.autoplay.run();\r\n }\r\n },\r\n },\r\n });\r\n },\r\n on: {\r\n init: function init() {\r\n var swiper = this;\r\n if (swiper.params.autoplay.enabled) {\r\n swiper.autoplay.start();\r\n }\r\n },\r\n beforeTransitionStart: function beforeTransitionStart(speed, internal) {\r\n var swiper = this;\r\n if (swiper.autoplay.running) {\r\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\r\n swiper.autoplay.pause(speed);\r\n } else {\r\n swiper.autoplay.stop();\r\n }\r\n }\r\n },\r\n sliderFirstMove: function sliderFirstMove() {\r\n var swiper = this;\r\n if (swiper.autoplay.running) {\r\n if (swiper.params.autoplay.disableOnInteraction) {\r\n swiper.autoplay.stop();\r\n } else {\r\n swiper.autoplay.pause();\r\n }\r\n }\r\n },\r\n destroy: function destroy() {\r\n var swiper = this;\r\n if (swiper.autoplay.running) {\r\n swiper.autoplay.stop();\r\n }\r\n },\r\n },\r\n };\r\n\r\n var Fade = {\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n var slides = swiper.slides;\r\n for (var i = 0; i < slides.length; i += 1) {\r\n var $slideEl = swiper.slides.eq(i);\r\n var offset = $slideEl[0].swiperSlideOffset;\r\n var tx = -offset;\r\n if (!swiper.params.virtualTranslate) {\r\n tx -= swiper.translate;\r\n }\r\n var ty = 0;\r\n if (!swiper.isHorizontal()) {\r\n ty = tx;\r\n tx = 0;\r\n }\r\n var slideOpacity = swiper.params.fadeEffect.crossFade\r\n ? Math.max(1 - Math.abs($slideEl[0].progress), 0)\r\n : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\r\n $slideEl\r\n .css({\r\n opacity: slideOpacity,\r\n })\r\n .transform((\"translate3d(\" + tx + \"px, \" + ty + \"px, 0px)\"));\r\n }\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n var slides = swiper.slides;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n slides.transition(duration);\r\n if (swiper.params.virtualTranslate && duration !== 0) {\r\n var eventTriggered = false;\r\n slides.transitionEnd(function () {\r\n if (eventTriggered) {\r\n return;\r\n }\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n eventTriggered = true;\r\n swiper.animating = false;\r\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\r\n for (var i = 0; i < triggerEvents.length; i += 1) {\r\n $wrapperEl.trigger(triggerEvents[i]);\r\n }\r\n });\r\n }\r\n },\r\n };\r\n\r\n var EffectFade = {\r\n name: 'effect-fade',\r\n params: {\r\n fadeEffect: {\r\n crossFade: false,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n fadeEffect: {\r\n setTranslate: Fade.setTranslate.bind(swiper),\r\n setTransition: Fade.setTransition.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'fade') {\r\n return;\r\n }\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"fade\"));\r\n var overwriteParams = {\r\n slidesPerView: 1,\r\n slidesPerColumn: 1,\r\n slidesPerGroup: 1,\r\n watchSlidesProgress: true,\r\n spaceBetween: 0,\r\n virtualTranslate: true,\r\n };\r\n Utils.extend(swiper.params, overwriteParams);\r\n Utils.extend(swiper.originalParams, overwriteParams);\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'fade') {\r\n return;\r\n }\r\n swiper.fadeEffect.setTranslate();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'fade') {\r\n return;\r\n }\r\n swiper.fadeEffect.setTransition(duration);\r\n },\r\n },\r\n };\r\n\r\n var Cube = {\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n var $el = swiper.$el;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var slides = swiper.slides;\r\n var swiperWidth = swiper.width;\r\n var swiperHeight = swiper.height;\r\n var rtl = swiper.rtlTranslate;\r\n var swiperSize = swiper.size;\r\n var params = swiper.params.cubeEffect;\r\n var isHorizontal = swiper.isHorizontal();\r\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\r\n var wrapperRotate = 0;\r\n var $cubeShadowEl;\r\n if (params.shadow) {\r\n if (isHorizontal) {\r\n $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');\r\n if ($cubeShadowEl.length === 0) {\r\n $cubeShadowEl = $('
');\r\n $wrapperEl.append($cubeShadowEl);\r\n }\r\n $cubeShadowEl.css({height: (swiperWidth + \"px\")});\r\n } else {\r\n $cubeShadowEl = $el.find('.swiper-cube-shadow');\r\n if ($cubeShadowEl.length === 0) {\r\n $cubeShadowEl = $('
');\r\n $el.append($cubeShadowEl);\r\n }\r\n }\r\n }\r\n for (var i = 0; i < slides.length; i += 1) {\r\n var $slideEl = slides.eq(i);\r\n var slideIndex = i;\r\n if (isVirtual) {\r\n slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);\r\n }\r\n var slideAngle = slideIndex * 90;\r\n var round = Math.floor(slideAngle / 360);\r\n if (rtl) {\r\n slideAngle = -slideAngle;\r\n round = Math.floor(-slideAngle / 360);\r\n }\r\n var progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\r\n var tx = 0;\r\n var ty = 0;\r\n var tz = 0;\r\n if (slideIndex % 4 === 0) {\r\n tx = -round * 4 * swiperSize;\r\n tz = 0;\r\n } else if ((slideIndex - 1) % 4 === 0) {\r\n tx = 0;\r\n tz = -round * 4 * swiperSize;\r\n } else if ((slideIndex - 2) % 4 === 0) {\r\n tx = swiperSize + (round * 4 * swiperSize);\r\n tz = swiperSize;\r\n } else if ((slideIndex - 3) % 4 === 0) {\r\n tx = -swiperSize;\r\n tz = (3 * swiperSize) + (swiperSize * 4 * round);\r\n }\r\n if (rtl) {\r\n tx = -tx;\r\n }\r\n\r\n if (!isHorizontal) {\r\n ty = tx;\r\n tx = 0;\r\n }\r\n\r\n var transform = \"rotateX(\" + (isHorizontal ? 0 : -slideAngle) + \"deg) rotateY(\" + (isHorizontal ? slideAngle : 0) + \"deg) translate3d(\" + tx + \"px, \" + ty + \"px, \" + tz + \"px)\";\r\n if (progress <= 1 && progress > -1) {\r\n wrapperRotate = (slideIndex * 90) + (progress * 90);\r\n if (rtl) {\r\n wrapperRotate = (-slideIndex * 90) - (progress * 90);\r\n }\r\n }\r\n $slideEl.transform(transform);\r\n if (params.slideShadows) {\r\n // Set shadows\r\n var shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\r\n var shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\r\n if (shadowBefore.length === 0) {\r\n shadowBefore = $((\"
\"));\r\n $slideEl.append(shadowBefore);\r\n }\r\n if (shadowAfter.length === 0) {\r\n shadowAfter = $((\"
\"));\r\n $slideEl.append(shadowAfter);\r\n }\r\n if (shadowBefore.length) {\r\n shadowBefore[0].style.opacity = Math.max(-progress, 0);\r\n }\r\n if (shadowAfter.length) {\r\n shadowAfter[0].style.opacity = Math.max(progress, 0);\r\n }\r\n }\r\n }\r\n $wrapperEl.css({\r\n '-webkit-transform-origin': (\"50% 50% -\" + (swiperSize / 2) + \"px\"),\r\n '-moz-transform-origin': (\"50% 50% -\" + (swiperSize / 2) + \"px\"),\r\n '-ms-transform-origin': (\"50% 50% -\" + (swiperSize / 2) + \"px\"),\r\n 'transform-origin': (\"50% 50% -\" + (swiperSize / 2) + \"px\"),\r\n });\r\n\r\n if (params.shadow) {\r\n if (isHorizontal) {\r\n $cubeShadowEl.transform((\"translate3d(0px, \" + ((swiperWidth / 2) + params.shadowOffset) + \"px, \" + (-swiperWidth / 2) + \"px) rotateX(90deg) rotateZ(0deg) scale(\" + (params.shadowScale) + \")\"));\r\n } else {\r\n var shadowAngle = Math.abs(wrapperRotate) - (Math.floor(Math.abs(wrapperRotate) / 90) * 90);\r\n var multiplier = 1.5 - (\r\n (Math.sin((shadowAngle * 2 * Math.PI) / 360) / 2)\r\n + (Math.cos((shadowAngle * 2 * Math.PI) / 360) / 2)\r\n );\r\n var scale1 = params.shadowScale;\r\n var scale2 = params.shadowScale / multiplier;\r\n var offset = params.shadowOffset;\r\n $cubeShadowEl.transform((\"scale3d(\" + scale1 + \", 1, \" + scale2 + \") translate3d(0px, \" + ((swiperHeight / 2) + offset) + \"px, \" + (-swiperHeight / 2 / scale2) + \"px) rotateX(-90deg)\"));\r\n }\r\n }\r\n var zFactor = (Browser.isSafari || Browser.isUiWebView) ? (-swiperSize / 2) : 0;\r\n $wrapperEl\r\n .transform((\"translate3d(0px,0,\" + zFactor + \"px) rotateX(\" + (swiper.isHorizontal() ? 0 : wrapperRotate) + \"deg) rotateY(\" + (swiper.isHorizontal() ? -wrapperRotate : 0) + \"deg)\"));\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n var $el = swiper.$el;\r\n var slides = swiper.slides;\r\n slides\r\n .transition(duration)\r\n .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')\r\n .transition(duration);\r\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\r\n $el.find('.swiper-cube-shadow').transition(duration);\r\n }\r\n },\r\n };\r\n\r\n var EffectCube = {\r\n name: 'effect-cube',\r\n params: {\r\n cubeEffect: {\r\n slideShadows: true,\r\n shadow: true,\r\n shadowOffset: 20,\r\n shadowScale: 0.94,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n cubeEffect: {\r\n setTranslate: Cube.setTranslate.bind(swiper),\r\n setTransition: Cube.setTransition.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'cube') {\r\n return;\r\n }\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"cube\"));\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"3d\"));\r\n var overwriteParams = {\r\n slidesPerView: 1,\r\n slidesPerColumn: 1,\r\n slidesPerGroup: 1,\r\n watchSlidesProgress: true,\r\n resistanceRatio: 0,\r\n spaceBetween: 0,\r\n centeredSlides: false,\r\n virtualTranslate: true,\r\n };\r\n Utils.extend(swiper.params, overwriteParams);\r\n Utils.extend(swiper.originalParams, overwriteParams);\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'cube') {\r\n return;\r\n }\r\n swiper.cubeEffect.setTranslate();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'cube') {\r\n return;\r\n }\r\n swiper.cubeEffect.setTransition(duration);\r\n },\r\n },\r\n };\r\n\r\n var Flip = {\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n var slides = swiper.slides;\r\n var rtl = swiper.rtlTranslate;\r\n for (var i = 0; i < slides.length; i += 1) {\r\n var $slideEl = slides.eq(i);\r\n var progress = $slideEl[0].progress;\r\n if (swiper.params.flipEffect.limitRotation) {\r\n progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\r\n }\r\n var offset = $slideEl[0].swiperSlideOffset;\r\n var rotate = -180 * progress;\r\n var rotateY = rotate;\r\n var rotateX = 0;\r\n var tx = -offset;\r\n var ty = 0;\r\n if (!swiper.isHorizontal()) {\r\n ty = tx;\r\n tx = 0;\r\n rotateX = -rotateY;\r\n rotateY = 0;\r\n } else if (rtl) {\r\n rotateY = -rotateY;\r\n }\r\n\r\n $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\r\n\r\n if (swiper.params.flipEffect.slideShadows) {\r\n // Set shadows\r\n var shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\r\n var shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\r\n if (shadowBefore.length === 0) {\r\n shadowBefore = $((\"
\"));\r\n $slideEl.append(shadowBefore);\r\n }\r\n if (shadowAfter.length === 0) {\r\n shadowAfter = $((\"
\"));\r\n $slideEl.append(shadowAfter);\r\n }\r\n if (shadowBefore.length) {\r\n shadowBefore[0].style.opacity = Math.max(-progress, 0);\r\n }\r\n if (shadowAfter.length) {\r\n shadowAfter[0].style.opacity = Math.max(progress, 0);\r\n }\r\n }\r\n $slideEl\r\n .transform((\"translate3d(\" + tx + \"px, \" + ty + \"px, 0px) rotateX(\" + rotateX + \"deg) rotateY(\" + rotateY + \"deg)\"));\r\n }\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n var slides = swiper.slides;\r\n var activeIndex = swiper.activeIndex;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n slides\r\n .transition(duration)\r\n .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')\r\n .transition(duration);\r\n if (swiper.params.virtualTranslate && duration !== 0) {\r\n var eventTriggered = false;\r\n // eslint-disable-next-line\r\n slides.eq(activeIndex).transitionEnd(function onTransitionEnd() {\r\n if (eventTriggered) {\r\n return;\r\n }\r\n if (!swiper || swiper.destroyed) {\r\n return;\r\n }\r\n // if (!$(this).hasClass(swiper.params.slideActiveClass)) return;\r\n eventTriggered = true;\r\n swiper.animating = false;\r\n var triggerEvents = ['webkitTransitionEnd', 'transitionend'];\r\n for (var i = 0; i < triggerEvents.length; i += 1) {\r\n $wrapperEl.trigger(triggerEvents[i]);\r\n }\r\n });\r\n }\r\n },\r\n };\r\n\r\n var EffectFlip = {\r\n name: 'effect-flip',\r\n params: {\r\n flipEffect: {\r\n slideShadows: true,\r\n limitRotation: true,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n flipEffect: {\r\n setTranslate: Flip.setTranslate.bind(swiper),\r\n setTransition: Flip.setTransition.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'flip') {\r\n return;\r\n }\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"flip\"));\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"3d\"));\r\n var overwriteParams = {\r\n slidesPerView: 1,\r\n slidesPerColumn: 1,\r\n slidesPerGroup: 1,\r\n watchSlidesProgress: true,\r\n spaceBetween: 0,\r\n virtualTranslate: true,\r\n };\r\n Utils.extend(swiper.params, overwriteParams);\r\n Utils.extend(swiper.originalParams, overwriteParams);\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'flip') {\r\n return;\r\n }\r\n swiper.flipEffect.setTranslate();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'flip') {\r\n return;\r\n }\r\n swiper.flipEffect.setTransition(duration);\r\n },\r\n },\r\n };\r\n\r\n var Coverflow = {\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n var swiperWidth = swiper.width;\r\n var swiperHeight = swiper.height;\r\n var slides = swiper.slides;\r\n var $wrapperEl = swiper.$wrapperEl;\r\n var slidesSizesGrid = swiper.slidesSizesGrid;\r\n var params = swiper.params.coverflowEffect;\r\n var isHorizontal = swiper.isHorizontal();\r\n var transform = swiper.translate;\r\n var center = isHorizontal ? -transform + (swiperWidth / 2) : -transform + (swiperHeight / 2);\r\n var rotate = isHorizontal ? params.rotate : -params.rotate;\r\n var translate = params.depth;\r\n // Each slide offset from center\r\n for (var i = 0, length = slides.length; i < length; i += 1) {\r\n var $slideEl = slides.eq(i);\r\n var slideSize = slidesSizesGrid[i];\r\n var slideOffset = $slideEl[0].swiperSlideOffset;\r\n var offsetMultiplier = ((center - slideOffset - (slideSize / 2)) / slideSize) * params.modifier;\r\n\r\n var rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\r\n var rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;\r\n // var rotateZ = 0\r\n var translateZ = -translate * Math.abs(offsetMultiplier);\r\n\r\n var translateY = isHorizontal ? 0 : params.stretch * (offsetMultiplier);\r\n var translateX = isHorizontal ? params.stretch * (offsetMultiplier) : 0;\r\n\r\n // Fix for ultra small values\r\n if (Math.abs(translateX) < 0.001) {\r\n translateX = 0;\r\n }\r\n if (Math.abs(translateY) < 0.001) {\r\n translateY = 0;\r\n }\r\n if (Math.abs(translateZ) < 0.001) {\r\n translateZ = 0;\r\n }\r\n if (Math.abs(rotateY) < 0.001) {\r\n rotateY = 0;\r\n }\r\n if (Math.abs(rotateX) < 0.001) {\r\n rotateX = 0;\r\n }\r\n\r\n var slideTransform = \"translate3d(\" + translateX + \"px,\" + translateY + \"px,\" + translateZ + \"px) rotateX(\" + rotateX + \"deg) rotateY(\" + rotateY + \"deg)\";\r\n\r\n $slideEl.transform(slideTransform);\r\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\r\n if (params.slideShadows) {\r\n // Set shadows\r\n var $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\r\n var $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\r\n if ($shadowBeforeEl.length === 0) {\r\n $shadowBeforeEl = $((\"
\"));\r\n $slideEl.append($shadowBeforeEl);\r\n }\r\n if ($shadowAfterEl.length === 0) {\r\n $shadowAfterEl = $((\"
\"));\r\n $slideEl.append($shadowAfterEl);\r\n }\r\n if ($shadowBeforeEl.length) {\r\n $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\r\n }\r\n if ($shadowAfterEl.length) {\r\n $shadowAfterEl[0].style.opacity = (-offsetMultiplier) > 0 ? -offsetMultiplier : 0;\r\n }\r\n }\r\n }\r\n\r\n // Set correct perspective for IE10\r\n if (Support.pointerEvents || Support.prefixedPointerEvents) {\r\n var ws = $wrapperEl[0].style;\r\n ws.perspectiveOrigin = center + \"px 50%\";\r\n }\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n swiper.slides\r\n .transition(duration)\r\n .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')\r\n .transition(duration);\r\n },\r\n };\r\n\r\n var EffectCoverflow = {\r\n name: 'effect-coverflow',\r\n params: {\r\n coverflowEffect: {\r\n rotate: 50,\r\n stretch: 0,\r\n depth: 100,\r\n modifier: 1,\r\n slideShadows: true,\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n coverflowEffect: {\r\n setTranslate: Coverflow.setTranslate.bind(swiper),\r\n setTransition: Coverflow.setTransition.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'coverflow') {\r\n return;\r\n }\r\n\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"coverflow\"));\r\n swiper.classNames.push(((swiper.params.containerModifierClass) + \"3d\"));\r\n\r\n swiper.params.watchSlidesProgress = true;\r\n swiper.originalParams.watchSlidesProgress = true;\r\n },\r\n setTranslate: function setTranslate() {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'coverflow') {\r\n return;\r\n }\r\n swiper.coverflowEffect.setTranslate();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n if (swiper.params.effect !== 'coverflow') {\r\n return;\r\n }\r\n swiper.coverflowEffect.setTransition(duration);\r\n },\r\n },\r\n };\r\n\r\n var Thumbs = {\r\n init: function init() {\r\n var swiper = this;\r\n var ref = swiper.params;\r\n var thumbsParams = ref.thumbs;\r\n var SwiperClass = swiper.constructor;\r\n if (thumbsParams.swiper instanceof SwiperClass) {\r\n swiper.thumbs.swiper = thumbsParams.swiper;\r\n Utils.extend(swiper.thumbs.swiper.originalParams, {\r\n watchSlidesProgress: true,\r\n slideToClickedSlide: false,\r\n });\r\n Utils.extend(swiper.thumbs.swiper.params, {\r\n watchSlidesProgress: true,\r\n slideToClickedSlide: false,\r\n });\r\n } else if (Utils.isObject(thumbsParams.swiper)) {\r\n swiper.thumbs.swiper = new SwiperClass(Utils.extend({}, thumbsParams.swiper, {\r\n watchSlidesVisibility: true,\r\n watchSlidesProgress: true,\r\n slideToClickedSlide: false,\r\n }));\r\n swiper.thumbs.swiperCreated = true;\r\n }\r\n swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);\r\n swiper.thumbs.swiper.on('tap', swiper.thumbs.onThumbClick);\r\n },\r\n onThumbClick: function onThumbClick() {\r\n var swiper = this;\r\n var thumbsSwiper = swiper.thumbs.swiper;\r\n if (!thumbsSwiper) {\r\n return;\r\n }\r\n var clickedIndex = thumbsSwiper.clickedIndex;\r\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) {\r\n return;\r\n }\r\n var slideToIndex;\r\n if (thumbsSwiper.params.loop) {\r\n slideToIndex = parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);\r\n } else {\r\n slideToIndex = clickedIndex;\r\n }\r\n if (swiper.params.loop) {\r\n var currentIndex = swiper.activeIndex;\r\n if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {\r\n swiper.loopFix();\r\n // eslint-disable-next-line\r\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\r\n currentIndex = swiper.activeIndex;\r\n }\r\n var prevIndex = swiper.slides.eq(currentIndex).prevAll((\"[data-swiper-slide-index=\\\"\" + slideToIndex + \"\\\"]\")).eq(0).index();\r\n var nextIndex = swiper.slides.eq(currentIndex).nextAll((\"[data-swiper-slide-index=\\\"\" + slideToIndex + \"\\\"]\")).eq(0).index();\r\n if (typeof prevIndex === 'undefined') {\r\n slideToIndex = nextIndex;\r\n }\r\n else if (typeof nextIndex === 'undefined') {\r\n slideToIndex = prevIndex;\r\n }\r\n else if (nextIndex - currentIndex < currentIndex - prevIndex) {\r\n slideToIndex = nextIndex;\r\n }\r\n else {\r\n slideToIndex = prevIndex;\r\n }\r\n }\r\n swiper.slideTo(slideToIndex);\r\n },\r\n update: function update(initial) {\r\n var swiper = this;\r\n var thumbsSwiper = swiper.thumbs.swiper;\r\n if (!thumbsSwiper) {\r\n return;\r\n }\r\n\r\n var slidesPerView = thumbsSwiper.params.slidesPerView === 'auto'\r\n ? thumbsSwiper.slidesPerViewDynamic()\r\n : thumbsSwiper.params.slidesPerView;\r\n\r\n if (swiper.realIndex !== thumbsSwiper.realIndex) {\r\n var currentThumbsIndex = thumbsSwiper.activeIndex;\r\n var newThumbsIndex;\r\n if (thumbsSwiper.params.loop) {\r\n if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) {\r\n thumbsSwiper.loopFix();\r\n // eslint-disable-next-line\r\n thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;\r\n currentThumbsIndex = thumbsSwiper.activeIndex;\r\n }\r\n // Find actual thumbs index to slide to\r\n var prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll((\"[data-swiper-slide-index=\\\"\" + (swiper.realIndex) + \"\\\"]\")).eq(0).index();\r\n var nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll((\"[data-swiper-slide-index=\\\"\" + (swiper.realIndex) + \"\\\"]\")).eq(0).index();\r\n if (typeof prevThumbsIndex === 'undefined') {\r\n newThumbsIndex = nextThumbsIndex;\r\n }\r\n else if (typeof nextThumbsIndex === 'undefined') {\r\n newThumbsIndex = prevThumbsIndex;\r\n }\r\n else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) {\r\n newThumbsIndex = nextThumbsIndex;\r\n }\r\n else {\r\n newThumbsIndex = prevThumbsIndex;\r\n }\r\n } else {\r\n newThumbsIndex = swiper.realIndex;\r\n }\r\n\r\n if (thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\r\n if (thumbsSwiper.params.centeredSlides) {\r\n if (newThumbsIndex > currentThumbsIndex) {\r\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\r\n } else {\r\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\r\n }\r\n } else if (newThumbsIndex > currentThumbsIndex) {\r\n newThumbsIndex = newThumbsIndex - slidesPerView + 1;\r\n }\r\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\r\n }\r\n }\r\n\r\n // Activate thumbs\r\n var thumbsToActivate = 1;\r\n var thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\r\n\r\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\r\n thumbsToActivate = swiper.params.slidesPerView;\r\n }\r\n\r\n thumbsSwiper.slides.removeClass(thumbActiveClass);\r\n if (thumbsSwiper.params.loop) {\r\n for (var i = 0; i < thumbsToActivate; i += 1) {\r\n thumbsSwiper.$wrapperEl.children((\"[data-swiper-slide-index=\\\"\" + (swiper.realIndex + i) + \"\\\"]\")).addClass(thumbActiveClass);\r\n }\r\n } else {\r\n for (var i$1 = 0; i$1 < thumbsToActivate; i$1 += 1) {\r\n thumbsSwiper.slides.eq(swiper.realIndex + i$1).addClass(thumbActiveClass);\r\n }\r\n }\r\n },\r\n };\r\n var Thumbs$1 = {\r\n name: 'thumbs',\r\n params: {\r\n thumbs: {\r\n swiper: null,\r\n slideThumbActiveClass: 'swiper-slide-thumb-active',\r\n thumbsContainerClass: 'swiper-container-thumbs',\r\n },\r\n },\r\n create: function create() {\r\n var swiper = this;\r\n Utils.extend(swiper, {\r\n thumbs: {\r\n swiper: null,\r\n init: Thumbs.init.bind(swiper),\r\n update: Thumbs.update.bind(swiper),\r\n onThumbClick: Thumbs.onThumbClick.bind(swiper),\r\n },\r\n });\r\n },\r\n on: {\r\n beforeInit: function beforeInit() {\r\n var swiper = this;\r\n var ref = swiper.params;\r\n var thumbs = ref.thumbs;\r\n if (!thumbs || !thumbs.swiper) {\r\n return;\r\n }\r\n swiper.thumbs.init();\r\n swiper.thumbs.update(true);\r\n },\r\n slideChange: function slideChange() {\r\n var swiper = this;\r\n if (!swiper.thumbs.swiper) {\r\n return;\r\n }\r\n swiper.thumbs.update();\r\n },\r\n update: function update() {\r\n var swiper = this;\r\n if (!swiper.thumbs.swiper) {\r\n return;\r\n }\r\n swiper.thumbs.update();\r\n },\r\n resize: function resize() {\r\n var swiper = this;\r\n if (!swiper.thumbs.swiper) {\r\n return;\r\n }\r\n swiper.thumbs.update();\r\n },\r\n observerUpdate: function observerUpdate() {\r\n var swiper = this;\r\n if (!swiper.thumbs.swiper) {\r\n return;\r\n }\r\n swiper.thumbs.update();\r\n },\r\n setTransition: function setTransition(duration) {\r\n var swiper = this;\r\n var thumbsSwiper = swiper.thumbs.swiper;\r\n if (!thumbsSwiper) {\r\n return;\r\n }\r\n thumbsSwiper.setTransition(duration);\r\n },\r\n beforeDestroy: function beforeDestroy() {\r\n var swiper = this;\r\n var thumbsSwiper = swiper.thumbs.swiper;\r\n if (!thumbsSwiper) {\r\n return;\r\n }\r\n if (swiper.thumbs.swiperCreated && thumbsSwiper) {\r\n thumbsSwiper.destroy();\r\n }\r\n },\r\n },\r\n };\r\n\r\n // Swiper Class\r\n\r\n var components = [\r\n Device$1,\r\n Support$1,\r\n Browser$1,\r\n Resize,\r\n Observer$1,\r\n Virtual$1,\r\n Keyboard$1,\r\n Mousewheel$1,\r\n Navigation$1,\r\n Pagination$1,\r\n Scrollbar$1,\r\n Parallax$1,\r\n Zoom$1,\r\n Lazy$1,\r\n Controller$1,\r\n A11y,\r\n History$1,\r\n HashNavigation$1,\r\n Autoplay$1,\r\n EffectFade,\r\n EffectCube,\r\n EffectFlip,\r\n EffectCoverflow,\r\n Thumbs$1\r\n ];\r\n\r\n if (typeof Swiper.use === 'undefined') {\r\n Swiper.use = Swiper.Class.use;\r\n Swiper.installModule = Swiper.Class.installModule;\r\n }\r\n\r\n Swiper.use(components);\r\n\r\n return Swiper;\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Slider',\r\n ['DanskeSpil/Domain/AvalonComponents/Scripts/Libraries/Swiper',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/DOMUtils'],\r\n function (Swiper, DOMUtils) {\r\n\r\n var swipers = [];\r\n var swiperActiveClass = 'swiper-active';\r\n\r\n /**\r\n * Determine if we should add slider functionality to each or the configurations added\r\n */\r\n var handler = function () {\r\n swipers.forEach(function (swiper) {\r\n\r\n if ((swiper.shouldInitialize && swiper.shouldInitialize())) {\r\n\r\n // Show the scrollbar container element when we have a slider\r\n const swiperElements = swiper.target.querySelectorAll('.swiper-scrollbar, .swiper-pagination');\r\n swiperElements.forEach(($element) => {\r\n $element.style.display = '';\r\n });\r\n\r\n if (swiper.swiper) {\r\n if (Array.isArray(swiper.swiper)) {\r\n swiper.swiper.forEach(function (sw) {\r\n sw.refresh();\r\n });\r\n } else {\r\n swiper.swiper.refresh();\r\n }\r\n } else {\r\n swiper.swiper = new Swiper(swiper.target, swiper.settings);\r\n }\r\n\r\n swiper.target.classList.add(swiperActiveClass);\r\n\r\n } else {\r\n if (swiper.swiper) {\r\n if (Array.isArray(swiper.swiper)) {\r\n swiper.swiper.forEach(function (sw) {\r\n sw.destroy(true, true);\r\n });\r\n } else {\r\n swiper.swiper.destroy(true, true);\r\n }\r\n swiper.swiper = undefined;\r\n\r\n swiper.target.classList.remove(swiperActiveClass);\r\n }\r\n\r\n // Hide the scrollbar container element when we have no slider\r\n const swiperElements = swiper.target.querySelectorAll('.swiper-scrollbar, .swiper-pagination');\r\n swiperElements.forEach(($element) => {\r\n $element.style.display = 'none';\r\n });\r\n }\r\n });\r\n };\r\n\r\n var init = function () {\r\n window.addEventListener('resize', handler, false);\r\n };\r\n\r\n var addSlider = function (swiper) {\r\n if (swiper.target) {\r\n swipers.push(swiper);\r\n handler();\r\n }\r\n };\r\n\r\n Swiper.prototype.refresh = function () {\r\n this.update();\r\n this.scrollbar.updateSize();\r\n };\r\n\r\n DOMUtils.ready(init);\r\n\r\n return {\r\n addSlider: addSlider,\r\n handler: handler\r\n };\r\n });\r\n","defineDs('Shared/Framework/Mithril/Scripts/Helpers/Cleanup',\r\n function () {\r\n\r\n // Functions:\r\n var Cleanup = function () {\r\n try {\r\n var keys = Object.keys(localStorage);\r\n var now = (new Date()).getTime();\r\n var ttl = 86400 * 1000;\r\n\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n\r\n if (key.substring(0, 5) === 'Model') {\r\n var item = JSON.parse(localStorage.getItem(key));\r\n\r\n if (now - item.timestamp > ttl) {\r\n var regex = new RegExp(item.id);\r\n\r\n if (!regex.test(location.search)) {\r\n console.warn('Deleting from localStorage: ' + key);\r\n\r\n localStorage.removeItem(key);\r\n }\r\n }\r\n }\r\n }\r\n } catch (e) { }\r\n\r\n };\r\n\r\n // Public functions:\r\n return Cleanup;\r\n\r\n });\r\n","defineDs('Shared/Framework/Mithril/Scripts/Core/Model',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Cleanup'\r\n ],\r\n function (m, Cleanup) {\r\n\r\n // Functions:\r\n var model = function (modelName, constructor) {\r\n modelName = 'Model-' + modelName;\r\n\r\n constructor.generateId = function () {\r\n return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n /* eslint-disable no-bitwise, no-mixed-operators, one-var */\r\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n /* eslint-enable no-bitwise, no-mixed-operators, one-var */\r\n return v.toString(16);\r\n });\r\n };\r\n\r\n constructor.cache = {};\r\n\r\n constructor.construct = function (content, state, save) {\r\n content = content || {};\r\n\r\n var record = new this(content);\r\n\r\n record.id = m.prop(content.id ? content.id : this.generateId());\r\n record.state = m.prop(state ? state : 'clean');\r\n record.timestamp = m.prop(content.timestamp || (new Date()).getTime());\r\n\r\n if (typeof record.init === 'function') {\r\n record.init(content);\r\n }\r\n\r\n if (typeof save === 'undefined' || save) {\r\n record.save();\r\n }\r\n\r\n return record;\r\n };\r\n\r\n constructor.prototype.save = function () {\r\n this.state('clean');\r\n this.timestamp((new Date()).getTime());\r\n\r\n var data = JSON.stringify(this.toJSON());\r\n\r\n try {\r\n localStorage.setItem(modelName + '-' + this.id(), data);\r\n } catch (e) {\r\n console.warn('Model.js Cannot write to localStorage');\r\n }\r\n\r\n constructor.cache[this.id()] = this;\r\n };\r\n\r\n constructor.update = function (record, content) {\r\n\r\n var id = record.id();\r\n\r\n content.id = id;\r\n\r\n var updatedRecord = this.construct(content, 'new');\r\n\r\n Object.keys(updatedRecord).forEach(function (key) {\r\n record[key] = updatedRecord[key];\r\n });\r\n\r\n return record;\r\n\r\n };\r\n\r\n constructor.get = function (query) {\r\n var type = typeof query;\r\n\r\n if (type === 'undefined') {\r\n return null;\r\n }\r\n\r\n // Get by ID:\r\n if (type === 'number' || type === 'string') {\r\n var cached = constructor.cache[query];\r\n\r\n if (cached) {\r\n return cached;\r\n }\r\n\r\n try {\r\n var val = localStorage.getItem(modelName + '-' + query);\r\n } catch (e) {\r\n console.warn('Model.js Cannot read from localStorage');\r\n }\r\n\r\n if (!val) {\r\n return null;\r\n }\r\n\r\n var json = JSON.parse(val);\r\n var record = this.construct(json);\r\n\r\n return record;\r\n }\r\n\r\n var bulk = [];\r\n var keys = Object.keys(constructor.cache);\r\n\r\n for (var i = 0; i < keys.length; i++) {\r\n bulk.push(constructor.cache[keys[i]]);\r\n }\r\n\r\n // Query:\r\n if (type === 'object') {\r\n keys = Object.keys(query);\r\n var length = keys.length;\r\n\r\n bulk = bulk.filter(function (record) {\r\n var match = true;\r\n\r\n for (var i = 0; i < length; i++) {\r\n var first = typeof first === 'function' ? query[keys[i]]() : query[keys[i]];\r\n var second = record[keys[i]]();\r\n\r\n if (/delete|remove/.test(record.state()) || first !== second) {\r\n match = false;\r\n\r\n break;\r\n }\r\n }\r\n\r\n return match;\r\n });\r\n\r\n }\r\n\r\n // Bulk:\r\n return bulk;\r\n\r\n };\r\n\r\n constructor.delete = function (query) {\r\n if (!query) {\r\n return;\r\n }\r\n\r\n try {\r\n localStorage.removeItem(modelName + '-' + query);\r\n delete constructor.cache[query];\r\n } catch (e) {\r\n console.warn('Model.js Cannot remove from localStorage');\r\n }\r\n };\r\n\r\n constructor.new = function (content, state, save) {\r\n return this.construct(content, state || 'new', save);\r\n };\r\n\r\n return constructor;\r\n };\r\n\r\n // Cleanup\r\n Cleanup();\r\n\r\n // Public functions:\r\n return model;\r\n\r\n });\r\n","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Helpers/Resize',\r\n function () {\r\n\r\n // Variables:\r\n var callbacks = [];\r\n\r\n // Functions:\r\n var add = function (callback) {\r\n callbacks.push(callback);\r\n };\r\n\r\n // Init:\r\n window.addEventListener('resize', function () {\r\n var amount = callbacks.length;\r\n\r\n for (var i = 0; i < amount; i++) {\r\n callbacks[i]();\r\n }\r\n });\r\n\r\n // Public functions:\r\n return add;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Helpers/Params',\r\n [],\r\n function () {\r\n\r\n /**\r\n * Set or update an url parameter in a given string formatted as an url\r\n *\r\n * @param {string} url The string to replace/update the param in\r\n * @param {string} paramName The name of the url parameter to change\r\n * @param {string} paramValue The updated value for the url parameter\r\n *\r\n * @see https://stackoverflow.com/a/20420424\r\n *\r\n * @returns {string} The updated string url\r\n */\r\n var updateUrlParam = function replaceUrlParam(url, paramName, paramValue) {\r\n\r\n paramValue = paramValue || '';\r\n\r\n var pattern = new RegExp('\\\\b(' + paramName + '=).*?(&|#|$)');\r\n if (url.search(pattern) >= 0) {\r\n return url.replace(pattern, '$1' + paramValue + '$2');\r\n }\r\n url = url.replace(/[?#]$/, '');\r\n return url + (url.indexOf('?') > 0 ? '&' : '?') + paramName + '=' + paramValue;\r\n };\r\n\r\n // Public functions:\r\n return {\r\n updateUrlParam: updateUrlParam\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/ReadMoreSpot', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/DOMUtils',\r\n], function (DOMUtils) {\r\n\r\n var readMore = function () {\r\n var $readMoreSpots = document.querySelectorAll('.js-read-more-spot');\r\n\r\n $readMoreSpots.forEach(($spot) => {\r\n $spot.querySelector('.js-read-more-cta')?.addEventListener('click', () => {\r\n $spot.classList.toggle('is-open');\r\n const buttonText = $spot.classList.contains('is-open') ? 'Skjul' : 'Læs mere';\r\n $spot.querySelector('.js-read-more-text').textContent = buttonText;\r\n });\r\n });\r\n };\r\n DOMUtils.ready(function () {\r\n readMore();\r\n\r\n });\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/TabsComponent', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils'\r\n], function (Utils) {\r\n\r\n const initTabsNavigation = () => {\r\n const $tabComponents = document.querySelectorAll('.js-tabs-component');\r\n\r\n if (!$tabComponents.length) {\r\n return;\r\n }\r\n\r\n $tabComponents.forEach(($tabComponent, i) => {\r\n const $tabContent = $tabComponent.querySelectorAll('.js-tab-frame');\r\n const $tabNavLink = $tabComponent.querySelectorAll('.js-tab-nav-link');\r\n\r\n if (!$tabContent.length) {\r\n return;\r\n }\r\n\r\n $tabContent[0].classList.add('is-active');\r\n\r\n if ($tabContent.length === 1) {\r\n const $content = $tabContent[0];\r\n const $title = document.createElement('h2');\r\n\r\n $title.classList.add('avalon-tabs-component__frame-title');\r\n $title.textContent = $content.getAttribute('data-tabname');\r\n\r\n $content.prepend($title);\r\n\r\n $tabComponent.classList.add('tabs-component--tabs-disabled');\r\n } else {\r\n $tabContent.forEach(($content, index) => {\r\n const tabId = `tab-${i.toString()}_${index.toString()}`;\r\n const $tabLinkTitle = $tabNavLink[index].querySelector('.js-tab-link-title');\r\n\r\n if ($tabLinkTitle) {\r\n $tabLinkTitle.textContent = $content.getAttribute('data-tabname');\r\n }\r\n\r\n $content.setAttribute('id', tabId);\r\n\r\n $tabNavLink[index].setAttribute('href', `#${tabId}`);\r\n $tabNavLink[index].addEventListener('click', (ev) => {\r\n ev.preventDefault();\r\n\r\n $tabNavLink.forEach(($link) => {\r\n if ($link === ev.currentTarget) return;\r\n $link.parentElement.classList.remove('is-selected');\r\n });\r\n\r\n ev.currentTarget.parentElement.classList.add('is-selected');\r\n\r\n $tabContent.forEach(($tabElem) => {\r\n $tabElem.classList.remove('is-active');\r\n });\r\n\r\n $content.classList.add('is-active');\r\n });\r\n });\r\n }\r\n });\r\n };\r\n\r\n initTabsNavigation();\r\n\r\n if (document.querySelector('.js-tabs-component')) {\r\n Utils.logDeprecated('TabsComponent.js - ..js-tabs-component found'); // Added by MIPE 2024-05-14\r\n }\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Helpers/PageHelper',\r\n [],\r\n function () {\r\n var isNormalMode = function () {\r\n return document.body.classList.contains('mode-normal');\r\n };\r\n\r\n var nthIndexOf = function (string, subString, index) {\r\n return string.split(subString, index).join(subString).length;\r\n };\r\n\r\n var getRootUrl = function () {\r\n var index = nthIndexOf(window.location.href, '/', 4);\r\n if (index === window.location.href.length) {\r\n index = nthIndexOf(window.location.href, '?', 1);\r\n }\r\n return window.location.href.substring(0, index);\r\n };\r\n\r\n // Public functions:\r\n return {\r\n isNormalMode: isNormalMode,\r\n getRootUrl: getRootUrl\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Components/PageNavHeader',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils'\r\n ],\r\n function (Component, Utils) {\r\n\r\n Component('page-nav-header', function (m, route) {\r\n\r\n var elem = this.$element;\r\n\r\n var root = {\r\n\r\n controller: function () {\r\n // Detect all target elements on the page\r\n var targets = document.querySelectorAll('.js-page-nav-header-target');\r\n // Convert them to a real array\r\n this.targetsArray = [].slice.call(targets);\r\n\r\n /**\r\n * Scroll the page to the target of the clicked element\r\n */\r\n this.scrollPage = function scrollPage(event) {\r\n event.preventDefault();\r\n\r\n const $topNavigation = document.querySelector('.top-navigation');\r\n const scrollTarget = event.target.getAttribute('href');\r\n const $scrollTargetElement = document.querySelector(scrollTarget);\r\n const offsetTop = $scrollTargetElement?.getBoundingClientRect().top + window.scrollY;\r\n var currentScrollTop = document.documentElement.scrollTop;\r\n\r\n // set an offset if we are scrolling up on the page, to accomodate the height of the header\r\n var offset = currentScrollTop > offsetTop ? $topNavigation.getBoundingClientRect().height : 0;\r\n var scrollTopValue = offsetTop - offset;\r\n\r\n window.scrollTo({ top: scrollTopValue, behavior: 'smooth' });\r\n }.bind(this);\r\n\r\n this.pageIsReady = function pageIsReady() {\r\n // Set class to show the nav bar\r\n elem.classList.add('is-ready');\r\n\r\n // Clean up event listener\r\n document.removeEventListener('DOMContentLoaded', this.pageIsReady, false);\r\n\r\n }.bind(this);\r\n\r\n /**\r\n * Add height fix to the header, if it is not already there\r\n */\r\n this.addHeaderHeightFix = function addHeaderHeightFix() {\r\n\r\n if (!document.querySelector('.page-nav-header-static-fix')) {\r\n var insertTarget = document.querySelector('.container .header-static-fix');\r\n insertTarget.insertAdjacentHTML('afterend', '
');\r\n }\r\n };\r\n\r\n // Setup event listener\r\n document.addEventListener('DOMContentLoaded', this.pageIsReady.bind(this), false);\r\n this.addHeaderHeightFix();\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n return m('.page-nav-header__content', [\r\n // Build items\r\n ctrl.targetsArray.map(function (item) {\r\n return m('a.page-nav-header__item', {\r\n href: item.getAttribute('data-nav-UrlLink') === 'True' ? item.id : '#' + item.id,\r\n onclick: item.getAttribute('data-nav-UrlLink') === 'True' ? '' : ctrl.scrollPage\r\n }, item.getAttribute('data-nav-name'));\r\n })\r\n\r\n ]);\r\n }\r\n\r\n };\r\n\r\n // route\r\n route('/', root);\r\n\r\n Utils.logDeprecated('PageNavHeader.js - component loaded'); // Added by MIPE 2024-05-14\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Framework/PuljeFeed/Scripts/JackpotInfo',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage',\r\n 'DanskeSpil/Framework/TimeUtils/Scripts/TimeUtils',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten'\r\n ],\r\n function (Storage, TimeUtils, Utils, Ensighten) {\r\n\r\n // Variables:\r\n var aliases = {\r\n lottosaturday: 'lotto',\r\n saturdaylotto: 'lotto',\r\n lottowednesday: 'onsdagslotto',\r\n wednesdaylotto: 'onsdagslotto',\r\n superpulje: 'superpulje',\r\n jokersaturday: 'jokerloerdag',\r\n jokerwednesday: 'jokeronsdag',\r\n\r\n // nye aliases 11/5/2017\r\n joker: 'jokerloerdag',\r\n onsdagsjoker: 'jokeronsdag'\r\n };\r\n\r\n // Minimum pool sizes:\r\n // window.minimumPoolSizes is intended to be used in case we need to change the minimum pool size for a specific game without a deploy.\r\n const minimumPoolSizes = {\r\n lotto: window.minimumPoolSizes?.lotto || 8000000,\r\n eurojackpot: window.minimumPoolSizes?.eurojackpot || 63000000,\r\n vikinglotto: window.minimumPoolSizes?.vikinglotto || 19000000,\r\n jokerloerdag: window.minimumPoolSizes?.jokerloerdag || 2000000,\r\n jokeronsdag: window.minimumPoolSizes?.jokeronsdag || 2000000\r\n };\r\n\r\n var data = {};\r\n\r\n // Functions:\r\n\r\n var getSetData = function (val) {\r\n // Mimics m.prop functionality\r\n if (typeof val !== 'undefined') {\r\n data = val;\r\n }\r\n return data;\r\n };\r\n\r\n var getByGame = function (name) {\r\n var poolSizeDecimalsRequested = false;\r\n var secondPrizeRequested = false;\r\n name = name.toLowerCase();\r\n\r\n // check to see if decimal value is requested.\r\n if (name.indexOf('d:') === 0) {\r\n poolSizeDecimalsRequested = true;\r\n name = name.split(':');\r\n name.shift();\r\n name = name.join(':');\r\n }\r\n\r\n // check to see if second prize is requested.\r\n if (name.indexOf(':2') !== -1) {\r\n secondPrizeRequested = true;\r\n name = name.split(':')[0];\r\n }\r\n\r\n if (aliases[name]) {\r\n name = aliases[name];\r\n }\r\n\r\n var items = data && Object.keys(data).length !== 0 ? data.filter(function (item) {\r\n return (item.GameId && item.GameId.toLowerCase() === name);\r\n }) : [];\r\n\r\n var item = items.length > 0 ? items[0] : null;\r\n\r\n if (item) {\r\n var currentDateTime = TimeUtils.getCurrentDateTime();\r\n var gameStopDate = item.gameStopDate;\r\n var gameStopDateTime = new Date(gameStopDate);\r\n var gamestopExceeded = currentDateTime > gameStopDateTime;\r\n var poolSize = poolSizeDecimalsRequested ? item.PoolSizeDecimal : item.PoolSizeFormatted;\r\n var poolSizeSecondPrize = poolSizeDecimalsRequested ? item.SecondPrizePoolSizeDecimal : item.SecondPrizePoolSizeFormatted;\r\n\r\n if (secondPrizeRequested) {\r\n return {\r\n gamestopExceeded: gamestopExceeded,\r\n poolSize: Utils.numberFormat(poolSizeSecondPrize),\r\n poolSizeDecimal: item.SecondPrizePoolSizeDecimal,\r\n poolSizeFormatted: item.SecondPrizePoolSizeFormatted,\r\n minimumPoolSize: Utils.numberFormat(minimumPoolSizes[name] / 1000000),\r\n minimumPoolSizeDecimal: minimumPoolSizes[name]\r\n };\r\n }\r\n\r\n return {\r\n gamestopExceeded: gamestopExceeded,\r\n poolSize: Utils.numberFormat(poolSize),\r\n poolSizeDecimal: item.PoolSizeDecimal,\r\n poolSizeFormatted: item.PoolSizeFormatted,\r\n minimumPoolSize: Utils.numberFormat(minimumPoolSizes[name] / 1000000),\r\n minimumPoolSizeDecimal: minimumPoolSizes[name]\r\n };\r\n }\r\n\r\n return {\r\n minimumPoolSize: Utils.numberFormat(minimumPoolSizes[name] / 1000000),\r\n minimumPoolSizeDecimal: minimumPoolSizes[name]\r\n };\r\n };\r\n\r\n /**\r\n * This string replaces all occurences of {alias\\\\puljefeedname} to the corresponding feed.\r\n * @param str - The string containing the handlebars.\r\n */\r\n var getDynamicFeed = function (str) {\r\n\r\n // if the context is expierience editor or the str is not of type string; break!\r\n if (window.sitecoreEnv || typeof str !== 'string') {\r\n return str;\r\n }\r\n\r\n // initiate variable\r\n var pulje = '';\r\n\r\n // variables for preventing infinite looping; maxDepth is the maximum loop depth; iter is the iteration counter.\r\n var maxDepth = 100;\r\n var iter = 0;\r\n // Might be more occurances of '{' and '}' in the text\r\n while (str.indexOf('{') >= 0) {\r\n\r\n // prevent infinite looping, by restricting the iteration depth\r\n iter += 1;\r\n if (iter > maxDepth) {\r\n return str;\r\n }\r\n\r\n // Find occurance of {\r\n var index = str.indexOf('{');\r\n // Find occurance of }\r\n var lastIndex = str.indexOf('}');\r\n // Did the text contain { or }?\r\n if (index < 0 || lastIndex < 0) {\r\n // Did not contain a handlebar, return original string\r\n return str;\r\n } else {\r\n // Take out the whole {pulje} string\r\n var handleBarString = str.substring(index, lastIndex + 1);\r\n // Take out only 'pulje' from {pulje}\r\n var substring = str.substring(index + 1, lastIndex);\r\n // Special occasion, on onsdagslotto combined pulje should be presented by adding superpulje and onsdagspulje together\r\n if (substring !== 'combowednesday') {\r\n pulje = getByGame(substring).poolSize;\r\n } else {\r\n pulje = parseInt(getByGame('superpulje').poolSizeFormatted, 10) + parseInt(getByGame('onsdagslotto').poolSizeFormatted, 10);\r\n }\r\n\r\n // if the corresponding feed value is undefined return the empty string -> wrong feed keys etc should not be displayed to the end user.\r\n if (typeof (pulje) === 'undefined') {\r\n return '';\r\n }\r\n\r\n // Replace the handlebar {pulje} with for example 30\r\n str = str.replace(handleBarString, pulje);\r\n }\r\n }\r\n return str;\r\n };\r\n\r\n var feedValid = function (str) {\r\n try {\r\n var json = JSON.parse(str);\r\n\r\n if (json instanceof Array) {\r\n return true;\r\n }\r\n } catch (e) {\r\n }\r\n\r\n return false;\r\n };\r\n\r\n var storeToCache = function (json) {\r\n // Store with TTL 30 min.\r\n Storage.set('JackpotInfoFeed', json ? JSON.stringify(json) : null, 60 * 30);\r\n };\r\n\r\n // Initialize:\r\n var ready = new Promise(function (resolve, reject) {\r\n\r\n // 1) LOOK IN DOM\r\n var $jackpotInfo = document.querySelector('#jackpot-info');\r\n\r\n if ($jackpotInfo) {\r\n var domData = $jackpotInfo.innerHTML;\r\n\r\n if (feedValid(domData)) {\r\n var domJson = JSON.parse(domData);\r\n\r\n Ensighten.pushJackpots(domJson);\r\n\r\n data = domJson;\r\n\r\n // Store to cache\r\n storeToCache(domJson);\r\n resolve();\r\n\r\n return;\r\n }\r\n }\r\n\r\n // 2) LOOK IN LOCALSTORAGE\r\n var cacheData = Storage.get('JackpotInfoFeed');\r\n if (!cacheData || !feedValid(cacheData)) {\r\n // Clear cache\r\n storeToCache(null);\r\n data = {};\r\n reject();\r\n } else {\r\n // Use cache\r\n data = JSON.parse(cacheData);\r\n resolve();\r\n }\r\n\r\n });\r\n\r\n // Public functions:\r\n return {\r\n data: getSetData,\r\n ready: ready,\r\n getByGame: getByGame,\r\n getDynamicFeed: getDynamicFeed\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/HeroBannerFeeds', function () {\r\n\r\n // Dont continue, if sitecore editor\r\n if (window.sitecoreEnv) {\r\n return;\r\n }\r\n\r\n // DOM elements\r\n var $elements = document.querySelectorAll('.avalon-hero__heading, .avalon-hero__text, .avalon-joker__prize');\r\n\r\n // Dont continue, if no elements for replacing.\r\n if ($elements.length === 0) {\r\n return;\r\n }\r\n\r\n // Only load JackpotInfo if needed (as it is not in all bundles)\r\n requireDs('DanskeSpil/Framework/PuljeFeed/Scripts/JackpotInfo', function (JackpotInfo) {\r\n\r\n JackpotInfo.ready.then(function () {\r\n // Helper function to format Joker jackpot\r\n var formatJoker = function (feed) {\r\n var feedText = feed;\r\n if (!feedText || feedText === '0') {\r\n feedText = 'mindst 2'; // at least 2 mio in the jackpot\r\n }\r\n return feedText;\r\n };\r\n\r\n // Prepare data for replacement:\r\n var jackpotData = {\r\n vikinglotto: JackpotInfo.getByGame('vikinglotto').poolSizeFormatted || 'min. 2',\r\n lotto: JackpotInfo.getByGame('lotto').poolSizeFormatted || 'min. 2',\r\n eurojackpot: JackpotInfo.getByGame('eurojackpot').poolSizeFormatted,\r\n jokerloerdag: formatJoker(JackpotInfo.getByGame('jokerloerdag').poolSizeFormatted),\r\n jokeronsdag: formatJoker(JackpotInfo.getByGame('jokeronsdag').poolSizeFormatted)\r\n };\r\n\r\n // Perform replacements:\r\n for (var i = 0; i < $elements.length; i++) {\r\n var element = $elements[i];\r\n var elementText = element.innerHTML.toString();\r\n\r\n Object.keys(jackpotData).forEach(function (key) {\r\n elementText = elementText.replace('{' + key + '}', jackpotData[key]);\r\n });\r\n\r\n element.innerHTML = elementText;\r\n }\r\n\r\n });\r\n\r\n });\r\n\r\n});\r\n","defineDs('DanskeSpil/Framework/GameVendors/Scripts/Helpers/BalancePooler', [\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginController',\r\n], function (LoginCache, LoginController) {\r\n\r\n var activated = false;\r\n var balanceUpdateTimer = null;\r\n\r\n\r\n var visibilityListener = function () {\r\n if (document.hidden) {\r\n clearInterval(balanceUpdateTimer);\r\n balanceUpdateTimer = null;\r\n } else {\r\n startBalanceUpdateTimer();\r\n }\r\n };\r\n\r\n var balanceUpdatePooler = function () {\r\n if (LoginCache.isLoggedIn()) {\r\n LoginController.refreshUserData(null);\r\n }\r\n };\r\n\r\n var startBalanceUpdateTimer = function () {\r\n /* Setup balanceUpdate pooler, if not already running */\r\n if (!balanceUpdateTimer) {\r\n balanceUpdateTimer = setInterval(balanceUpdatePooler, 10000);\r\n }\r\n };\r\n\r\n var activate = function () {\r\n if (!activated) {\r\n document.addEventListener('visibilitychange', visibilityListener);\r\n }\r\n startBalanceUpdateTimer();\r\n activated = true;\r\n };\r\n\r\n return {\r\n activate: activate\r\n };\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Tracking', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten'\r\n],\r\nfunction (m, Ensighten) {\r\n\r\n /**\r\n * Determine if we should try to use ensighten viewport tracking\r\n */\r\n var ensightenViewPortTrackingExistOnPage = function () {\r\n var trackingMetaTag = document.head.querySelector('[property~=ensighten-viewport-tracking]');\r\n\r\n if (trackingMetaTag && trackingMetaTag.getAttribute('content')) {\r\n return (trackingMetaTag.getAttribute('content').toLowerCase() == 'true');\r\n }\r\n return false;\r\n };\r\n\r\n // viewport tracking of dom elements, and click tracking within those\r\n if (ensightenViewPortTrackingExistOnPage()) {\r\n var trackingElementsOnPage = m.prop([]);\r\n var elementCollection = document.getElementsByClassName('js-trackable');\r\n\r\n Object.keys(elementCollection).forEach(function (trackingCollectionElement) {\r\n var element = elementCollection.item(trackingCollectionElement);\r\n // add eventlistener to links inside with click tracking enabled class\r\n element.childNodes.forEach(function (child) {\r\n if (child.nodeName === 'A' && child.className.indexOf('js-trackable-link') > -1) {\r\n child.addEventListener('click', function (ignoredEvent) {\r\n var promotions = [\r\n {\r\n name: element.getAttribute('data-tracking-name'),\r\n creative: element.getAttribute('data-tracking-creative'),\r\n position: element.getAttribute('data-tracking-position'),\r\n }\r\n ];\r\n Ensighten.pushPromoClickOnPageRedirect(promotions);\r\n });\r\n }\r\n });\r\n\r\n var elementFoundInList = trackingElementsOnPage().find(function (el) {\r\n return el.name === element.getAttribute('data-tracking-name');\r\n });\r\n\r\n if (elementFoundInList === undefined) { // put element that has tracking enabled into list\r\n trackingElementsOnPage().push({\r\n name: element.getAttribute('data-tracking-name'),\r\n domElement: element,\r\n tracked: false\r\n });\r\n }\r\n });\r\n\r\n var trackIfInView = function (element) {\r\n if (element !== undefined) {\r\n if (element.tracked === false && isElementInView(element.domElement)) {\r\n element.tracked = true;\r\n var promotions = [\r\n {\r\n name: element.name,\r\n creative: element.domElement.getAttribute('data-tracking-creative'),\r\n position: element.domElement.getAttribute('data-tracking-position'),\r\n }\r\n ];\r\n Ensighten.pushPromoView(promotions);\r\n }\r\n }\r\n };\r\n\r\n var isElementInView = function (domElement) {\r\n var rect = domElement.getBoundingClientRect();\r\n return (\r\n rect.top >= 0 &&\r\n rect.left >= 0 &&\r\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\r\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\r\n );\r\n };\r\n\r\n var isElementsInView = function () {\r\n for (var trackingCollectionElement in elementCollection) {\r\n var currentElement = elementCollection.item(trackingCollectionElement);\r\n if (currentElement !== null && isElementInView(currentElement)) {\r\n trackingElementsOnPage().find(\r\n function (el) {\r\n if (el.name === currentElement.getAttribute('data-tracking-name') && el.tracked === false) {\r\n setTimeout(function () {\r\n trackIfInView(el);\r\n }, 500);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n };\r\n window.addEventListener('scroll', function (ignoredEvent) { isElementsInView(); });\r\n }\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/TableHelper',\r\n [],\r\n function () {\r\n var isDanishTable = function (table) {\r\n return table.name.toLowerCase().indexOf('danske spil') === 0;\r\n };\r\n\r\n // Public functions:\r\n return {\r\n isDanishTable: isDanishTable\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/LiveCasinoApi',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n 'DanskeSpil/Domain/AvalonComponents/Scripts/Helpers/PageHelper',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage'\r\n ],\r\n function (ApiRequest, LoginCache, PageHelper, Storage) {\r\n\r\n // Variables:\r\n var baseURL = DS.Config.LIVECASINO_APIURL;\r\n\r\n var getTableInfo = function () {\r\n\r\n return ApiRequest({\r\n url: baseURL + '/state',\r\n localCacheTTL: 10,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getTablePersonalized = function (pathParameter, args) {\r\n return ApiRequest({\r\n method: 'post',\r\n url: baseURL + '/lastplayed/' + pathParameter.customerId,\r\n localCacheTTL: 60 * 15,\r\n data: args,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getTableRanked = function () {\r\n return ApiRequest({\r\n url: baseURL + '/table/usage/ranked?top=300',\r\n localCacheTTL: 60 * 15,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getDealerInfo = function () {\r\n return ApiRequest({\r\n url: baseURL + '/activedealers',\r\n localCacheTTL: 10,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getGameSession = function (pathParameter, args) {\r\n var requestUrl = '/dli/scapi/danskespil/livecasino/table/' + pathParameter.gameId + '/' + pathParameter.assertionId + '/' + pathParameter.tableId + '/' + pathParameter.seat;\r\n return ApiRequest({\r\n url: requestUrl,\r\n localCacheTTL: 10,\r\n data: args,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n saveLastPlayedGameToStorage(pathParameter.tableId);\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getGameFallbackLobbySession = function (pathParameter, args) {\r\n var requestUrl = '/dli/scapi/danskespil/livecasino/game/' + pathParameter.gameId + '/' + pathParameter.assertionId;\r\n return ApiRequest({\r\n url: requestUrl,\r\n localCacheTTL: 10,\r\n data: args,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getHealthCheck = function () {\r\n\r\n var requestUrl = baseURL + '/health';\r\n return ApiRequest({\r\n url: requestUrl,\r\n origin: window.location.hostname,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var performHealthCheck = function () {\r\n if (PageHelper.isNormalMode()) {\r\n var strategy = LoginCache.getUserObj().customerInfo ? '/lobby' : '/lobby/fallback';\r\n\r\n getHealthCheck().then(function (health) {\r\n if (health.connectedToWebsocketApi === false) {\r\n if (DS.Config.ENV !== 'dev') {\r\n window.location.href = PageHelper.getRootUrl() + strategy;\r\n } else {\r\n console.warn('Websocket not connected', health.errors.length > 0 ? health.errors[health.errors.length - 1] : '');\r\n }\r\n }\r\n }).catch(function (ignoredErr) {\r\n if (DS.Config.ENV !== 'dev') {\r\n window.location.href = PageHelper.getRootUrl() + strategy;\r\n } else {\r\n console.warn('Error in healthcheck');\r\n }\r\n });\r\n }\r\n };\r\n\r\n var storageKey = 'livecasino-last-played-game';\r\n\r\n // get an array of any stored game links\r\n function getLastPlayedGameFromStorage() {\r\n return Storage.get(storageKey);\r\n }\r\n\r\n // save array of game links to storage\r\n function saveLastPlayedGameToStorage(game) {\r\n Storage.set(storageKey, game);\r\n }\r\n\r\n // Public functions:\r\n return {\r\n getTableInfo: getTableInfo,\r\n getTablePersonalized: getTablePersonalized,\r\n getTableRanked: getTableRanked,\r\n getDealerInfo: getDealerInfo,\r\n getGameSession: getGameSession,\r\n getGameFallbackLobbySession: getGameFallbackLobbySession,\r\n performHealthCheck: performHealthCheck,\r\n getLastPlayedGameFromStorage: getLastPlayedGameFromStorage\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/DealerHelper',\r\n [\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/LiveCasinoApi'\r\n ],\r\n function (LiveCasinoApi) {\r\n\r\n // Sort a list of dealers alphabetically on Firstname\r\n var sortAlphabetically = function (dealerList) {\r\n return dealerList.sort(function (a, b) {\r\n var nameA = a.FirstName.toUpperCase();\r\n var nameB = b.FirstName.toUpperCase();\r\n return (nameA < nameB) ? -1 : (nameA > nameB) ? 1 : 0;\r\n });\r\n };\r\n\r\n /**\r\n * Make sure the list of tables only contains gameTypes known to us\r\n * ie. a known dealer might be online on a table with a gameType not known\r\n *\r\n * @param {array} knownGameTypes A list of game types known in Sitecore\r\n * @param {object} allTables Data about all currently open tables\r\n */\r\n var filterOutUnknownGametypes = function (knownGameTypes, allTables) {\r\n\r\n return allTables.filter(function (table) {\r\n var isGameType = knownGameTypes.filter(function (filteredGameType) {\r\n return table.lobbytable.gameType === filteredGameType.GameTypeId;\r\n });\r\n return isGameType[0];\r\n });\r\n\r\n };\r\n\r\n /**\r\n * Enrich an array of dealers from Sitecore with data from EvolutionGaming\r\n * Will add online status and table data to all online dealers\r\n *\r\n * @param {array} sitecoreDealers List of dealers with Sitecore data\r\n * @param {array} sitecoreGameTypes A list of the known GameTypes\r\n */\r\n var getEnrichedDealers = function (sitecoreDealers, sitecoreGameTypes) {\r\n return LiveCasinoApi.getTableInfo().then(function (response) {\r\n var tables = response.tables;\r\n\r\n // Remove all tables that run games that are not known to Sitecore\r\n var filteredTables = filterOutUnknownGametypes(sitecoreGameTypes, tables);\r\n\r\n // Enrich all dealers in the array\r\n sitecoreDealers.map(function (dealer) {\r\n filteredTables.forEach(function (table) {\r\n // If the table has a dealer, and that dealer matches our current Sitecore dealer, update the Sitecore object with online and table data\r\n if (table.lobbytable.dealer !== null && dealer.DealerId === table.lobbytable.dealer.dealerId) {\r\n dealer.online = table.lobbytable.open;\r\n dealer.currentTable = table.lobbytable;\r\n }\r\n });\r\n });\r\n\r\n // Prepare to sort dealers alphabetically, with online dealers first\r\n var onlineDealers = [];\r\n var offlineDealers = [];\r\n\r\n // Separate online and offline dealers\r\n sitecoreDealers.forEach(function (dealer) {\r\n if (dealer.online) {\r\n onlineDealers.push(dealer);\r\n } else {\r\n offlineDealers.push(dealer);\r\n }\r\n });\r\n\r\n // sort each array individually\r\n sortAlphabetically(onlineDealers);\r\n sortAlphabetically(offlineDealers);\r\n\r\n // Bring it all together in one array\r\n sitecoreDealers = onlineDealers.concat(offlineDealers);\r\n\r\n return sitecoreDealers;\r\n\r\n });\r\n };\r\n\r\n // Public functions:\r\n return {\r\n getEnrichedDealers: getEnrichedDealers\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/Dictionary',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Dictionary'\r\n ],\r\n function (Dictionary) {\r\n\r\n return new Dictionary('/Avalon/LiveCasino');\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/GameFilters', [\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/TableHelper'\r\n],\r\nfunction (TableHelper) {\r\n\r\n /**\r\n * Determine if a given table with a tableid, exists in a list of tables\r\n *\r\n * @param {object} table The table object to search for\r\n * @param {array} list The list of tables\r\n */\r\n var isTableInList = function (table, list) {\r\n\r\n list = list || [];\r\n\r\n var found = list.filter(function (listTable) {\r\n return table.lobbytable.tableid === listTable.tableId;\r\n });\r\n\r\n return found.length > 0;\r\n };\r\n\r\n /**\r\n *\r\n * @param {object} table\r\n * @param {array} rankedTables\r\n */\r\n var isTableARankedTable = function (table, rankedTables) {\r\n return rankedTables && rankedTables.map(function (rankedTable) {\r\n return table.lobbytable.tableid === rankedTable.tableId;\r\n });\r\n };\r\n\r\n var isTableInFilteredGameTypes = function (table, gameTypesToFilter) {\r\n var isGameType = gameTypesToFilter.filter(function (filteredGameType) {\r\n return table.lobbytable.gameType === filteredGameType.GameTypeId;\r\n });\r\n return isGameType[0];\r\n };\r\n\r\n var sortCompare = function (a, b) {\r\n if (a > b) {\r\n return 1;\r\n }\r\n if (a < b) {\r\n return -1;\r\n }\r\n return 0;\r\n };\r\n\r\n // Sort tables by price but but danish tabels first\r\n var sortTablesByPrice = function (tables) {\r\n return tables.sort(function (a, b) {\r\n var tableA = !TableHelper.isDanishTable(a.lobbytable) ? a.lobbytable.betLimit.min : 0;\r\n var tableB = !TableHelper.isDanishTable(b.lobbytable) ? b.lobbytable.betLimit.min : 0;\r\n\r\n return sortCompare(tableA, tableB);\r\n });\r\n };\r\n\r\n // Sort danish tabels and ignore the rest of the tables\r\n var sortDanishTablesFirstAndByPrice = function (tables) {\r\n var sortMaxValue = 999999999;\r\n\r\n return tables.sort(function (a, b) {\r\n var tableA = TableHelper.isDanishTable(a.lobbytable) ? a.lobbytable.betLimit.min : sortMaxValue;\r\n var tableB = TableHelper.isDanishTable(b.lobbytable) ? b.lobbytable.betLimit.min : sortMaxValue;\r\n\r\n return sortCompare(tableA, tableB);\r\n });\r\n };\r\n\r\n var sortTablesByList = function (tables, list) {\r\n return tables.sort(function (a, b) {\r\n var tableA = isTableInList(a, list) ? 1 : 0;\r\n var tableB = isTableInList(b, list) ? 1 : 0;\r\n if (tableA > tableB) {\r\n return -1;\r\n }\r\n if (tableA < tableB) {\r\n return 1;\r\n }\r\n return 0;\r\n\r\n });\r\n };\r\n\r\n var sortTablesIfTheyAreRanked = function (tables, rankedTables) {\r\n tables = tables || [];\r\n // sort tables after popular ranked tables\r\n return tables.sort(function (a, b) {\r\n var tableA = isTableARankedTable(a, rankedTables); // is a table ranked\r\n var tableB = isTableARankedTable(b, rankedTables); // is b table ranked\r\n if (tableA > tableB) {\r\n return -1;\r\n }\r\n if (tableA < tableB) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n };\r\n\r\n var sortTablesIfClosed = function (tables) {\r\n // if a table is closed, put it in the bottom of the list\r\n return tables.sort(function (a, b) {\r\n var tableA = a.lobbytable.open;\r\n var tableB = b.lobbytable.open;\r\n if (tableA > tableB) {\r\n return -1;\r\n }\r\n if (tableA < tableB) {\r\n return 1;\r\n }\r\n return 0;\r\n });\r\n };\r\n\r\n // Public functions:\r\n return {\r\n isTableInList: isTableInList,\r\n sortTablesIfTheyAreRanked: sortTablesIfTheyAreRanked,\r\n sortTablesIfClosed: sortTablesIfClosed,\r\n isTableInFilteredGameTypes: isTableInFilteredGameTypes,\r\n sortDanishTablesFirstAndByPrice: sortDanishTablesFirstAndByPrice,\r\n sortTablesByPrice: sortTablesByPrice,\r\n sortTablesByList: sortTablesByList\r\n };\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Models/GameCardModel', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Core/Model',\r\n 'DanskeSpil/Domain/AvalonComponents/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/TableHelper'\r\n], function (m, Model, Params, TableHelper) {\r\n 'use strict';\r\n\r\n return Model('GameCardModel', function (options, settings) {\r\n this.settings = m.prop(settings);\r\n this.options = m.prop(options);\r\n this.isDanish = m.prop(TableHelper.isDanishTable(options));\r\n this.imageUrl = m.prop(options.videoSnapshot?.thumbnails?.M || '');\r\n this.header = m.prop(options.name);\r\n this.dealerImageUrl = m.prop(null);\r\n this.dealerId = m.prop(options.dealer ? options.dealer.dealerId : null);\r\n this.gameType = m.prop(options.gameType);\r\n this.tableid = m.prop(options.tableid);\r\n this.history = m.prop(options.history);\r\n this.operationHours = m.prop(options.operationHours);\r\n var self = this;\r\n\r\n var getDealerName = function (dealerId) {\r\n var name = null;\r\n self.settings().Dealers.map(function (dealer) {\r\n if (dealerId() === dealer.DealerId) {\r\n name = dealer.FirstName;\r\n self.dealerImageUrl(dealer.Image);\r\n }\r\n });\r\n if (name == null && self.options().dealer) {\r\n name = self.options().dealer.name || '';\r\n }\r\n return name;\r\n };\r\n\r\n this.dealerName = m.prop(getDealerName(this.dealerId));\r\n\r\n this.toJSON = function () {\r\n return {};\r\n };\r\n\r\n this.gameTypeName = function () {\r\n return self.options().gameType;\r\n };\r\n\r\n this.gotoGame = function (seatNumber) {\r\n var tableid = self.options().tableid;\r\n var gameTypeSettings = self.getGameType(self.options().gameType);\r\n var url = gameTypeSettings.Link.Url + '/bord?table_id=' + tableid + '&game=' + self.options().gameType;\r\n\r\n if (typeof seatNumber === 'number') {\r\n url += '&seat=' + seatNumber;\r\n }\r\n\r\n // Make sure the lobbyUrl contains information about the current games type and name\r\n var lobbyUrl = document.location.href;\r\n lobbyUrl = Params.updateUrlParam(lobbyUrl, 'name', self.header());\r\n lobbyUrl = Params.updateUrlParam(lobbyUrl, 'gameType', self.gameTypeName().toLowerCase());\r\n\r\n url += '&lobbyUrl=' + encodeURIComponent(lobbyUrl);\r\n\r\n location.href = url;\r\n };\r\n\r\n this.description = function () {\r\n var tableInfo = self.getTableInfo(self.options().tableid);\r\n if (tableInfo) {\r\n if (self.options().betBehind) {\r\n return tableInfo.BetBehindDescription;\r\n }\r\n\r\n return tableInfo.Description;\r\n }\r\n\r\n var gameTypeSettings = self.getGameType(self.options().gameType);\r\n if (self.options().betBehind) {\r\n return gameTypeSettings.BetBehindDescription;\r\n }\r\n\r\n return gameTypeSettings.Description;\r\n };\r\n\r\n this.limit = function () {\r\n return self.options().betLimit.min + ' ' + self.options().betLimit.symbol;\r\n };\r\n\r\n this.limitMinMax = function () {\r\n return self.options().betLimit.min + ' - ' + self.options().betLimit.max + ' ' + self.options().betLimit.symbol;\r\n };\r\n\r\n this.playerCount = function () {\r\n if (self.options().seats && self.options().seatsTaken) {\r\n return self.options().seatsTaken.length + '/' + self.options().seats;\r\n }\r\n return '' + self.options().players;\r\n };\r\n\r\n this.getGameType = function (gameTypeId) {\r\n // Use full list of game types if available, e.g. Hero card\r\n var gameTypes = self.settings().AllGameTypes ? self.settings().AllGameTypes : self.settings().GameTypes;\r\n\r\n for (var i = 0; i < gameTypes.length; i++) {\r\n if (gameTypes[i].GameTypeId === gameTypeId) {\r\n return gameTypes[i];\r\n }\r\n }\r\n };\r\n\r\n this.getTableInfo = function (tableId) {\r\n if (!self.settings().TableInfo) {\r\n return null;\r\n }\r\n\r\n for (var i = 0; i < self.settings().TableInfo.length; i++) {\r\n if (self.settings().TableInfo[i].TableId === tableId) {\r\n return self.settings().TableInfo[i];\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n this.blackjackBetbehind = function () {\r\n console.log('Bet Behind');\r\n event.stopPropagation();\r\n };\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Models/DealerModel', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Core/Model'\r\n], function (m, Model) {\r\n return Model('DealerModel', function (options) {\r\n this.description = m.prop(options.Description);\r\n this.imageUrl = m.prop(options.Image);\r\n this.gameTable = m.prop(options.currentTable);\r\n this.dealerName = m.prop(options.FirstName);\r\n this.dealerId = m.prop(options.DealerId);\r\n this.online = m.prop(options.online);\r\n\r\n this.toJSON = function () {\r\n return {};\r\n };\r\n\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameCardCountdown', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Framework/TimeUtils/Scripts/TimeUtils'\r\n],\r\nfunction (m, Dictionary, TimeUtils) {\r\n var GameCardCountdown = function (args) {\r\n var model = args.model;\r\n var d = Dictionary.get;\r\n var controller = args.controller;\r\n var thisDate = new Date();\r\n\r\n // returns milliseconds until table opens\r\n var getMillisToOpen = function () {\r\n var openTime = getDateForTimeString(model.operationHours().value.startTime).getTime();\r\n var now = thisDate.getTime();\r\n if (openTime < now) { // if openTime is passed\r\n openTime += 24 * 60 * 60 * 1000; // add 24hrs\r\n }\r\n return openTime - now;\r\n };\r\n\r\n // get data from time string - assumes a parameter as '13:00' this is CET, so a timezone apply\r\n var getDateForTimeString = function (str) {\r\n var time = new Date(controller.serverDate()); // clone the date\r\n var timezoneDiffMinuttes = time.getTimezoneOffset();\r\n var splitted = str.split(':');\r\n time.setHours(splitted[0]);\r\n time.setMinutes(splitted[1] - timezoneDiffMinuttes);\r\n time.setSeconds(0);\r\n return time;\r\n };\r\n\r\n var milliseconds = getMillisToOpen();\r\n var countDown = TimeUtils.getCompoundTimeObject(milliseconds);\r\n\r\n if (getMillisToOpen() === 0) {\r\n return m('div', { class: 'countdown', id: model.tableid(), onclick: controller.openInfo }, [\r\n m('div', { class: 'closed-text' }, d('GameCard/TableClosed'))\r\n ]);\r\n }\r\n\r\n return m('div', { class: 'countdown', id: model.tableid(), onclick: controller.openInfo }, [\r\n m('div', { class: 'countdown-text' }, d('GameCard/Countdown/Header')),\r\n m('div', { class: 'timer-boxes' }, [\r\n m('div', { class: 'hour-box timer-box' }, [\r\n m('div', { class: 'hours time' }, countDown.hours),\r\n m('div', { class: 'hours-text time-text' }, d('GameCard/Countdown/Hours'))\r\n ]),\r\n m('div', { class: 'minute-box timer-box' }, [\r\n m('div', { class: 'minutes time' }, countDown.mins),\r\n m('div', { class: 'minutes-text time-text' }, d('GameCard/Countdown/Minutes'))\r\n ]),\r\n m('div', { class: 'second-box timer-box' }, [\r\n m('div', { class: 'seconds time' }, countDown.secs),\r\n m('div', { class: 'seconds-text time-text' }, d('GameCard/Countdown/Seconds'))\r\n ])\r\n ])\r\n ]);\r\n };\r\n return GameCardCountdown;\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/BlackjackSeats', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/Dictionary'\r\n],\r\nfunction (m, Dictionary) {\r\n\r\n var BlackjackSeats = function (args) {\r\n var model = args.model;\r\n var d = Dictionary.get;\r\n\r\n // convert from variable sized int array to fixed size boolean array\r\n var getSeats = function (seatsTaken, maxSeats) {\r\n var seats = [];\r\n for (var j = 0; j < maxSeats; j++) {\r\n seats[j] = false;\r\n }\r\n if (seatsTaken) {\r\n for (var i = 0; i < seatsTaken.length; i++) {\r\n var seatIndex = seatsTaken[i];\r\n seats[seatIndex] = true;\r\n }\r\n return seats;\r\n }\r\n };\r\n\r\n // return a click function invoking game with the specified seat\r\n var getOnclickFunc = function (seat, seats, ignoregotoGameFunc) {\r\n return function () {\r\n event.stopPropagation();\r\n if (!seats[seat]) {\r\n model.gotoGame(seat);\r\n }\r\n };\r\n };\r\n\r\n var getSeatArray = function () {\r\n var seats = getSeats(model.options().seatsTaken || [], model.options().seats);\r\n var array = [];\r\n for (var i = 0; i < model.options().seats; i++) {\r\n array.push(\r\n m('div', { class: 'seat seat' + i + (seats[i] ? ' taken' : ''), onclick: getOnclickFunc(i, seats) }, [\r\n m('div', { class: 'tooltip' }, d('GameCard/Blackjack/SeatTooltip')),\r\n m('svg', { class: 'seat-avatar' + (seats[i] ? ' taken' : '') }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/AvalonLiveCasino/Graphics/SpriteSheets/LiveCasinoIcons.svg#playersOnlineIcon' })\r\n ])\r\n ])\r\n );\r\n }\r\n return array;\r\n };\r\n\r\n if (model.options().seatsTaken && model.options().seatsTaken?.length === model.options().seats) {\r\n return null; // table is full\r\n }\r\n return m('div', { class: 'blackjack-seats' }, getSeatArray());\r\n };\r\n return BlackjackSeats;\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/MiddlebandContent', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n],\r\nfunction (m) {\r\n\r\n // colors for Baccarat\r\n var baccaratColors = {\r\n B: 'red', // banker\r\n P: 'blue', // player\r\n T: 'green', // tie\r\n };\r\n\r\n // colors for dragontiger\r\n var dragonTigerColors = {\r\n T: 'green', // tie\r\n Tr: 'yellow', // tiger\r\n Dn: 'red', // dragon\r\n S: 'green' // suited tie\r\n };\r\n\r\n // colors for top card\r\n var topcardColors = {\r\n H: 'red',\r\n A: 'blue',\r\n D: 'yellow',\r\n };\r\n\r\n var topcardLetterMap = {\r\n L: 'H',\r\n R: 'A',\r\n T: 'D',\r\n S: 'D',\r\n };\r\n\r\n var rouletteColors = {\r\n 0: 'green',\r\n 1: 'red', 2: 'black', 3: 'red',\r\n 4: 'black', 5: 'red', 6: 'black',\r\n 7: 'red', 8: 'black', 9: 'red',\r\n 10: 'black', 11: 'black', 12: 'red',\r\n 13: 'black', 14: 'red', 15: 'black',\r\n 16: 'red', 17: 'black', 18: 'red',\r\n 19: 'red', 20: 'black', 21: 'red',\r\n 22: 'black', 23: 'red', 24: 'black',\r\n 25: 'red', 26: 'black', 27: 'red',\r\n 28: 'black', 29: 'black', 30: 'red',\r\n 31: 'black', 32: 'red', 33: 'black',\r\n 34: 'red', 35: 'black', 36: 'red'\r\n };\r\n\r\n var tableColorResults = function (history, colorMapTable) {\r\n if (!history) return null;\r\n return [\r\n history.map(function (currentResult) {\r\n return m('span', { class: colorMapTable[currentResult] }, currentResult.substring(0, 1));\r\n })\r\n ];\r\n };\r\n\r\n var topCardResults = function (history) {\r\n if (!history) {\r\n return null;\r\n }\r\n return history.map(function (currentResult) {\r\n var letter = currentResult.substring(0, 1);\r\n var mapped = topcardLetterMap[letter];\r\n return m('span', { class: topcardColors[mapped] }, mapped);\r\n });\r\n };\r\n\r\n var roulette = function (results, luckyNumbers) {\r\n if (results) {\r\n if (typeof results[0] === 'string' && results[0].indexOf('|') > -1) {\r\n return;\r\n }\r\n var array = results.map(function (currentResult) {\r\n return m('span', { class: rouletteColors[currentResult] || 'grey' }, currentResult);\r\n });\r\n var luckyNumber = getLastLuckyNumber(luckyNumbers);\r\n if (luckyNumber != null) {\r\n array[0] = m('span', { class: (rouletteColors[results[0]] || 'grey') + ' gold' }, [\r\n results[0],\r\n m('div', { class: 'lucky-number' }, 'x' + luckyNumber.luckyNumber)\r\n ]);\r\n }\r\n return array;\r\n }\r\n };\r\n\r\n var getLastLuckyNumber = function (luckyNumbers) {\r\n if (luckyNumbers && luckyNumbers.length) {\r\n for (var i = 0; i < luckyNumbers.length; i++) {\r\n if (luckyNumbers[i].index === 0) {\r\n return luckyNumbers[i];\r\n }\r\n }\r\n }\r\n };\r\n\r\n var blackjack = function (isFull, betBehind, dictionary) {\r\n if (isFull && betBehind) {\r\n return [\r\n dictionary('GameCard/Blackjack/TableFullBetBehind')\r\n ];\r\n }\r\n if (isFull) {\r\n return [\r\n dictionary('GameCard/Blackjack/TableFull')\r\n ];\r\n }\r\n if (betBehind) {\r\n return [\r\n dictionary('GameCard/Blackjack/BetBehind')\r\n ];\r\n }\r\n };\r\n\r\n return function (options, dictionary) {\r\n switch (options.gameType) {\r\n case 'Baccarat':\r\n return tableColorResults(options.history, baccaratColors);\r\n case 'DragonTiger':\r\n return tableColorResults(options.history, dragonTigerColors);\r\n case 'TopCard':\r\n return topCardResults(options.history);\r\n case 'Roulette':\r\n return roulette(options.results, options.luckyNumbers);\r\n case 'Blackjack':\r\n return blackjack(options.seatsTaken?.length === options.seats, options.betBehind, dictionary);\r\n default:\r\n return null;\r\n }\r\n };\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameCardListFilter', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n],\r\nfunction (m) {\r\n\r\n var GameCardListFilter = function (controller) {\r\n // Variables:\r\n var toggleFullTables = function () {\r\n controller.withoutFullTables(!controller.withoutFullTables());\r\n\r\n m.redraw();\r\n };\r\n\r\n return m('div', { class: 'lobby-filters-wrapper' }, [\r\n m('div', { class: 'toggle-button-outer-wrapper' + (controller.withoutFullTables() ? ' active' : ''), onclick: toggleFullTables }, [\r\n m('span', { class: 'button-label' }, 'Skjul fulde borde'),\r\n m('span', { class: 'toggle-button' })\r\n ])\r\n ]);\r\n };\r\n\r\n return GameCardListFilter;\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameSpotIframeTemplate', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n],\r\nfunction (m) {\r\n var GameSpotIframeTemplate = function (iframeSrc) {\r\n return m('iframe', { class: 'iframe-element', src: iframeSrc(), scrolling: 'no' });\r\n };\r\n return GameSpotIframeTemplate;\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameSpotIframeHeaderWrapper', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n], function (m) {\r\n\r\n var GameSpotIframeHeaderWrapper = function (lobbyUrl) {\r\n // Functions:\r\n\r\n /* View in fullscreen */\r\n var openFullscreen = function () {\r\n var elem = document.documentElement;\r\n if (elem && elem.requestFullscreen) {\r\n elem.requestFullscreen();\r\n } else if (elem && elem.mozRequestFullScreen) { /* Firefox */\r\n elem.mozRequestFullScreen();\r\n } else if (elem && elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */\r\n elem.webkitRequestFullscreen();\r\n } else if (elem && elem.msRequestFullscreen) { /* IE/Edge */\r\n elem.msRequestFullscreen();\r\n }\r\n };\r\n\r\n /* Close fullscreen */\r\n var closeFullscreen = function () {\r\n if (document.exitFullscreen && document.fullscreenElement) {\r\n document.exitFullscreen();\r\n } else if (document.mozCancelFullScreen) { /* Firefox */\r\n document.mozCancelFullScreen();\r\n } else if (document.webkitExitFullscreen) { /* Chrome, Safari and Opera */\r\n document.webkitExitFullscreen();\r\n } else if (document.msExitFullscreen) { /* IE/Edge */\r\n document.msExitFullscreen();\r\n }\r\n };\r\n\r\n var resetWrapper = function () {\r\n document.getElementsByClassName('icon-wrapper--right')[0].classList.remove('hidden');\r\n document.getElementsByClassName('icon-wrapper--right')[1].classList.remove('hidden');\r\n document.getElementsByClassName('icon-wrapper--right')[2].classList.remove('hidden');\r\n };\r\n\r\n var toggleIframe = function (event) {\r\n var wrapper = document.getElementsByClassName('livecasino-game-spot-iframe-outer-wrapper')[0];\r\n if (event.type === 'click' && event.srcElement.classList.contains('fullscreen') && !wrapper.classList.contains('fullscreen')) { // if user clicks fullscreen on a view not in fullscreen\r\n resetWrapper();\r\n document.getElementsByClassName('icon-wrapper--right')[0].classList.add('hidden');\r\n wrapper.classList.remove('minimize');\r\n wrapper.classList.remove('maximized');\r\n wrapper.classList.add('fullscreen');\r\n document.getElementsByClassName('icon minimize')[0].classList.add('disabled');\r\n openFullscreen();\r\n setTimeout(function () {\r\n document.getElementsByClassName('mode-normal')[0].classList.add('lock');\r\n document.getElementsByClassName('mode-normal')[1].classList.add('lock');\r\n }, 500); // wait for animation to finish to remove class\r\n } else if (event.type === 'click' && wrapper.classList.contains('fullscreen')) { // if in fullscreen and clicks for going out of fullscreen\r\n resetWrapper();\r\n wrapper.classList.remove('minimize');\r\n wrapper.classList.remove('fullscreen');\r\n wrapper.classList.add('maximized');\r\n closeFullscreen();\r\n setTimeout(function () {\r\n document.getElementsByClassName('mode-normal')[0].classList.remove('lock');\r\n document.getElementsByClassName('mode-normal')[1].classList.remove('lock');\r\n }, 500); // wait for animation to finish to remove class\r\n } else if (event.type === 'click' && wrapper.classList.contains('maximized')) { // if user clicks and goes into minimized version\r\n resetWrapper();\r\n document.getElementsByClassName('icon-wrapper--right')[0].classList.add('hidden');\r\n document.getElementsByClassName('icon-wrapper--right')[1].classList.add('hidden');\r\n wrapper.classList.remove('maximized');\r\n wrapper.classList.remove('fullscreen');\r\n wrapper.classList.add('minimize');\r\n } else if (wrapper.classList.contains('minimize')) { // if user clicks and goe to maximized version\r\n resetWrapper();\r\n wrapper.classList.remove('minimize');\r\n wrapper.classList.remove('fullscreen');\r\n wrapper.classList.add('maximized');\r\n\r\n }\r\n };\r\n\r\n var goToLobby = function () {\r\n window.location = lobbyUrl();\r\n };\r\n\r\n return [\r\n lobbyUrl() ? m('span', { class: 'livecasino-button gold', onclick: goToLobby }, [\r\n m('span', 'Gå til lobby')\r\n ]) : null,\r\n m('div', { class: 'panel-button-wrapper' }, [\r\n\r\n m('div', { class: 'icon-wrapper icon-wrapper--right' }, [\r\n m('div', { title: 'Formindsk vindue' },\r\n m('svg', { class: 'icon maximize', onclick: toggleIframe }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/AvalonLiveCasino/Graphics/SpriteSheets/LiveCasinoUiIcons.svg#icon-condensing-arrows' })\r\n ])),\r\n m('div', { title: 'Fuld skærm' },\r\n m('svg', { class: 'icon fullscreen', onclick: toggleIframe }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/AvalonLiveCasino/Graphics/SpriteSheets/LiveCasinoUiIcons.svg#icon-fullscreen' })\r\n ])),\r\n ]),\r\n\r\n m('div', { class: 'icon-wrapper icon-wrapper--right' }, [\r\n m('div', { title: 'Afslut fuld skærm' },\r\n m('svg', { class: 'icon fullscreen', onclick: toggleIframe }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/AvalonLiveCasino/Graphics/SpriteSheets/LiveCasinoUiIcons.svg#icon-fullscreen-minimize' })\r\n ])),\r\n ]),\r\n\r\n m('div', { class: 'icon-wrapper icon-wrapper--right' }, [\r\n m('div', { title: 'Udvid vindue' },\r\n m('svg', { class: 'icon maximize', onclick: toggleIframe }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/AvalonLiveCasino/Graphics/SpriteSheets/LiveCasinoUiIcons.svg#icon-expand-arrows' })\r\n ])),\r\n m('div', { title: 'Fuld skærm' },\r\n m('svg', { class: 'icon fullscreen', onclick: toggleIframe }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/AvalonLiveCasino/Graphics/SpriteSheets/LiveCasinoUiIcons.svg#icon-fullscreen' })\r\n ])),\r\n ]),\r\n\r\n ])\r\n ];\r\n };\r\n return GameSpotIframeHeaderWrapper;\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameCard', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Models/GameCardModel',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameCardCountdown',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/BlackjackSeats',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/MiddlebandContent'\r\n],\r\nfunction (m, GameCardModel, Dictionary, GameCardCountdown, BlackjackSeats, MiddlebandContent) {\r\n\r\n var GameCard = function (args) {\r\n var d = Dictionary.get;\r\n var model = new GameCardModel(args.options, args.ctrl.settings(), d);\r\n var controller = args.ctrl;\r\n var tableHasCounter = args.tableHasCounter;\r\n var options = args.options;\r\n var middlebandContent = MiddlebandContent(options, d);\r\n var ribbon = args.ribbon;\r\n\r\n var showMiddelBand = function () {\r\n switch (options.gameType) {\r\n case 'Blackjack':\r\n return middlebandContent && middlebandContent[0] && middlebandContent[0].length > 0;\r\n case 'Roulette':\r\n case 'Baccarat':\r\n case 'DragonTiger':\r\n case 'TopCard':\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n return m('div', {\r\n class: 'livecasino-grid__element'\r\n }, [\r\n m('div', {\r\n class: 'livecasino-gamecard ' + model.gameTypeName(),\r\n onclick: !tableHasCounter ? model.gotoGame : null\r\n }, options, [\r\n controller.cardInfoClicked() === model.tableid() ? m('div', { class: 'info', onclick: controller.closeInfo }, [\r\n m('div', { class: 'info-dealer' }, [\r\n m('b', d('GameCard/InfoDealer')), model.dealerName()\r\n ]),\r\n m('div', { class: 'info-limit' }, [\r\n m('b', d('GameCard/InfoLimit')), model.limitMinMax()\r\n ]),\r\n m('div', { class: 'info-text' }, model.description()),\r\n m('a', { class: 'info-close' }, 'x')\r\n ]) : null,\r\n m('div', { class: 'top' }, [\r\n tableHasCounter ? GameCardCountdown({ model: model, controller: controller }) : null,\r\n m('div', { class: 'toptab' }, [\r\n m('span', { class: 'toptab-content' }, [\r\n model.isDanish() ? m('img', { class: 'flag', src: '/Components/DanskeSpil/Domain/AvalonLiveCasino/Graphics/flag_icon.svg' }) : null,\r\n m('span', { class: 'toptab-minimum' }, d('GameCard/ToptabMinimum')),\r\n model.limit()\r\n ])\r\n ]),\r\n m('div', { class: 'image image-base', style: 'background-image: url(' + model.imageUrl() + ');' }),\r\n m('div', { class: 'image image-crossfade', style: 'background-image: url(' + model.imageUrl() + ');', 'data-baseimage': model.imageUrl() }),\r\n showMiddelBand() ? m('div', { class: 'middleband', id: model.tableid(), onclick: controller.openInfo }, middlebandContent) : null,\r\n m('div', { class: 'middletab', id: model.tableid(), onclick: controller.openInfo }, [\r\n m('img', {\r\n class: 'avatar',\r\n src: '/Components/DanskeSpil/Domain/AvalonLiveCasino/Graphics/avatar.svg',\r\n id: model.tableid()\r\n }),\r\n model.playerCount()\r\n ]),\r\n (model.options().gameType === 'Blackjack') ? BlackjackSeats({ model: model, controller: controller }) : null\r\n ]),\r\n m('div', { class: 'bottom' }, [\r\n m('div', { class: 'infotab', id: model.tableid(), onclick: controller.openInfo }, [\r\n m('img', { src: '/Components/DanskeSpil/Domain/AvalonLiveCasino/Graphics/info_icon.svg' })\r\n ]),\r\n m('div', { class: 'head-box' }, [\r\n m('h4', model.header())\r\n ]),\r\n model.isDanish() ? m('div', { class: 'dealer-box' }, [\r\n model.dealerImageUrl() != null ? m('img', { src: model.dealerImageUrl() }) : null,\r\n model.dealerName()\r\n ]) : null,\r\n m('a', { class: 'play-link livecasino-button gold' }, [\r\n m('span', d('GameCard/StartGameButton'))\r\n ])\r\n ]), ribbon ? m('div', { class: 'campaign-banner' }, [m('p', d('GameCard/CampaignText'))]) : null\r\n ])\r\n ]);\r\n };\r\n return GameCard;\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/DealerCard', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Models/DealerModel',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameCard',\r\n 'DanskeSpil/Domain/AvalonComponents/Scripts/Helpers/PageHelper',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render'\r\n],\r\nfunction (m, Dictionary, DealerModel, GameCard, PageHelper, Render) {\r\n\r\n var DealerCard = function (args) {\r\n var controller = args.ctrl;\r\n var d = Dictionary.get;\r\n var model = m.prop(new DealerModel(args.options));\r\n var render = Render();\r\n\r\n var goToTableMobileLink = function () {\r\n GameCard({ options: model().gameTable(), ctrl: controller }).attrs.onclick();\r\n };\r\n\r\n // Render:\r\n render.ready.then(function (nodes) {\r\n var dealerCard = nodes['dealer-card'];\r\n var $dealerCard = dealerCard.$element;\r\n var $outerWrapper = nodes['description-outer-wrapper'].$element;\r\n var $innerWrapper = nodes['description-inner-wrapper'].$element;\r\n var readMoreButton = nodes['read-more-button'];\r\n var $readMoreButton = readMoreButton.$element;\r\n\r\n var outerWrapperHeight = $outerWrapper.offsetHeight;\r\n var innerWrapperHeight = $innerWrapper.offsetHeight;\r\n\r\n if (innerWrapperHeight > outerWrapperHeight) {\r\n readMoreButton.context.taggleState = false;\r\n $readMoreButton.classList.add('active');\r\n $readMoreButton.addEventListener('click', function (event) {\r\n if (readMoreButton.context.lastClickTimeStamp !== event.timeStamp) {\r\n readMoreButton.context.lastClickTimeStamp = event.timeStamp;\r\n readMoreButton.context.taggleState = !readMoreButton.context.taggleState;\r\n if (readMoreButton.context.taggleState) {\r\n $readMoreButton.classList.add('toggled');\r\n $outerWrapper.style.maxHeight = innerWrapperHeight + 'px';\r\n } else {\r\n $readMoreButton.classList.remove('toggled');\r\n $outerWrapper.style.maxHeight = null;\r\n }\r\n }\r\n }, false);\r\n }\r\n\r\n if ($dealerCard.id === controller.dealerFromUrlHash && !controller.scrolledToDealerInit()) {\r\n controller.scrolledToDealerInit(true);\r\n window.scrollTo(0, ($dealerCard.offsetTop - 250));\r\n }\r\n\r\n });\r\n\r\n return m('div', { class: 'livecasino-grid__element' }, [\r\n m('div', { class: 'livecasino-dealer-list-item-wrapper', id: (model().dealerName().replace(/\\s/g, '') + '-' + model().dealerId()), config: render.depend('dealer-card') }, [\r\n m('div', { class: 'dealer-image-wrapper' }, [\r\n m('img', { class: 'dealer-image', src: model().imageUrl() })\r\n ]),\r\n model().online() ? m('span', { class: 'dealer-status-ribbon ' }, d('DealersList/OnlineLabel')) : null,\r\n m('div', { class: 'dealer-details-wrapper' }, [\r\n m('h2', { class: 'dealer-name' }, model().dealerName()),\r\n model().online() ? m('span', { class: 'mobile-only-link livecasino-button gold', onclick: goToTableMobileLink }, [\r\n m('span', d('GameCard/StartGameButton'))\r\n ]) :\r\n m('a', { class: 'mobile-only-link livecasino-button gold', href: PageHelper.getRootUrl() + '/spil/roulette' }, [\r\n m('span', d('GameCard/StartGameButton'))\r\n ]),\r\n m('div', { class: 'dealer-description', config: render.depend('description-outer-wrapper') }, [\r\n m('div', { class: 'dealer-description-inner-wrapper', config: render.depend('description-inner-wrapper') }, model().description())\r\n ]),\r\n m('div', { class: 'read-more-button-wrapper', config: render.depend('read-more-button') }, [\r\n m('div', { class: 'button-text read-less' }, d('DealersList/ReadLess')),\r\n m('div', { class: 'button-text read-more' }, d('DealersList/ReadMore'))\r\n ])\r\n ]),\r\n m('div', { class: 'dealer-game-card-wrapper' }, [\r\n model().online() ? m('div', { class: 'dealer-online-card' }, [\r\n GameCard({ options: model().gameTable(), ctrl: controller })\r\n ]) :\r\n m('div', { class: 'dealer-offline-card' }, [\r\n m('div', { class: 'headline' }, d('DealersList/OfflineCard/Headline')),\r\n m('div', { class: 'text' }, d('DealersList/OfflineCard/Description')),\r\n m('a', { class: 'livecasino-button gold', href: PageHelper.getRootUrl() + '/spil/roulette' }, [\r\n m('span', d('GameCard/StartGameButton'))\r\n ])\r\n ])\r\n ])\r\n ])\r\n ]);\r\n };\r\n return DealerCard;\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Components/GameCardList',\r\n [\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameCard',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameCardListFilter',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/LiveCasinoApi',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/GameFilters',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/MithrilRedrawEverySecond',\r\n 'DanskeSpil/Framework/TimeUtils/Scripts/TimeUtils'\r\n ],\r\n function (GameCard, GameCardListFilter, LiveCasinoApi, GameFilters, LoginCache, Component, Utils, MithrilRedrawEverySecond, TimeUtils) {\r\n\r\n Component('livecasino-gamecardlist', [], function (m, route, settings, ignoreProperty, element) {\r\n\r\n var root = {\r\n controller: function () {\r\n this.settings = m.prop(settings);\r\n this.lobbyData = m.prop([]); // Holds table data once its fetched\r\n this.serverDate = m.prop(TimeUtils.getServerDateTime());\r\n this.gameTypesToFilter = m.prop(false);\r\n this.queryGameType = (Utils.isMobile() || Utils.isTabletDevice()) ? 'on_mobile' : 'on_desktop';\r\n this.nudgeCardPosition = m.prop(LoginCache.getUserObj().customerInfo && this.settings().NudgeCardPosition);\r\n this.customerId = m.prop(LoginCache.getUserObj().customerInfo ? LoginCache.getUserObj().customerInfo.customerId : null);\r\n this.nudgedCardReplaced = m.prop(false);\r\n this.cardPositionStart = m.prop(0);\r\n this.boundIntervalAdded = m.prop(false);\r\n this.isTablesFilterDisplayed = m.prop(false);\r\n this.withoutFullTables = m.prop(false);\r\n this.rankedTablesRequest = m.prop(null);\r\n this.personalTablesRequest = m.prop(null);\r\n\r\n if (this.nudgeCardPosition() && settings.NumberOfCards !== 1) {\r\n this.cardPositionStart = m.prop(1);\r\n }\r\n if (this.settings().GameTypes) {\r\n this.gameTypesToFilter(this.settings().GameTypes);\r\n }\r\n\r\n var loadingElements = Array.prototype.slice.call(element.children);\r\n\r\n this.loadingElements = m.prop(loadingElements.map(function (loadingElement) {\r\n return loadingElement.outerHTML;\r\n }).join(''));\r\n\r\n this.cardPositionEnd = m.prop(this.nudgeCardPosition() ? this.settings().NumberOfCards + 2 : this.settings().NumberOfCards);\r\n this.cardInfoClicked = m.prop(false);\r\n\r\n /*\r\n Nudged card table ids comes from sitecore, that is a list of tableids and its view position\r\n the tableid from sitecore is replaced at the defined position, by pushing in the table at the position (table.splice)\r\n */\r\n var findAndReplaceNudgedTable = function (tables, tableid, replaceIndex) {\r\n if (this.nudgeCardPosition()) {\r\n // logged in enabbled then nudge index\r\n replaceIndex = replaceIndex + 1;\r\n }\r\n var foundInPosition = false;\r\n var tableFoundInData = false;\r\n if (tableid !== '') { // dont search for empty tableids\r\n this.nudgedCardReplaced(false);\r\n tables.forEach(function (table, index) {\r\n if (table.lobbytable.tableid === tableid) {\r\n tableFoundInData = true;\r\n if (index === replaceIndex) {\r\n foundInPosition = true;\r\n }\r\n }\r\n }.bind(this));\r\n\r\n if (tableFoundInData) {\r\n if (!foundInPosition) {\r\n tables.forEach(function (table) {\r\n // only set nudged table to a position if it is not inside the amount numberOfCards to view\r\n if (!this.nudgedCardReplaced() && table.lobbytable.tableid === tableid) {\r\n tables.splice(replaceIndex, 0, table); // replace card on nudged position\r\n this.nudgedCardReplaced(true);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n\r\n }.bind(this);\r\n\r\n this.openInfo = function (event) {\r\n event.stopPropagation();\r\n this.cardInfoClicked(event.target.id);\r\n\r\n }.bind(this);\r\n\r\n this.closeInfo = function (event) {\r\n event.stopPropagation();\r\n this.cardInfoClicked(false);\r\n }.bind(this);\r\n\r\n var crossfadeCards = function () {\r\n var date = new Date();\r\n var datestring = date.getHours() + '' + date.getMinutes() + '' + parseInt(date.getSeconds() / 10, 10);\r\n\r\n var gameCards = document.querySelectorAll('.livecasino-gamecard');\r\n\r\n Array.prototype.forEach.call(gameCards, function (elem) {\r\n var imageBase = elem.querySelector('.image-base');\r\n var imageCrossfade = elem.querySelector('.image-crossfade');\r\n\r\n if (imageBase && imageCrossfade) {\r\n imageBase.setAttribute('style', imageCrossfade.getAttribute('style'));\r\n imageCrossfade.classList.remove('fade');\r\n\r\n var preload = new Image();\r\n preload.onload = function () {\r\n // Fade when image loaded/cached\r\n imageCrossfade.style.backgroundImage = 'url(' + preload.src + ')';\r\n imageCrossfade.classList.add('fade');\r\n };\r\n preload.src = imageCrossfade.getAttribute('data-baseimage') + '?' + datestring;\r\n }\r\n });\r\n };\r\n\r\n // This function will always return something from a promise, even when the promise fails.\r\n // Useful when we would LIKE the response, but we don't REQUIRE it.\r\n var reflect = function (promise) {\r\n if (!promise) {\r\n return null;\r\n }\r\n return promise.then(\r\n function (req) {\r\n return req;\r\n },\r\n function () {\r\n return null;\r\n });\r\n };\r\n\r\n var getLiveCasinoInfo = function () {\r\n\r\n // If we did not already store the ranked tables request, store it\r\n if (!this.rankedTablesRequest()) {\r\n this.rankedTablesRequest(LiveCasinoApi.getTableRanked());\r\n }\r\n\r\n // If we did not store the users personal tables, store the request for them\r\n if (!this.personalTablesRequest() && this.customerId() && this.settings().HashedId) {\r\n this.personalTablesRequest(LiveCasinoApi.getTablePersonalized({ customerId: this.customerId() }, { 'authorization-token': this.settings().HashedId }));\r\n }\r\n\r\n // Prepare request for all tables data\r\n var tableInfoRequest = LiveCasinoApi.getTableInfo();\r\n\r\n // We will wait for all 3 promises, and continue even if some have failed.\r\n // This way we can sort the tables (as good as we can) even if an API should be down.\r\n Promise.all([reflect(tableInfoRequest), reflect(this.personalTablesRequest()), reflect(this.rankedTablesRequest())]).then(function (response) {\r\n var tables = response[0] ? response[0].tables || [] : [];\r\n var personalTables = response[1] || [];\r\n var rankedTables = response[2] || [];\r\n\r\n if (response[0] && response[0].timestampLocalFormatted) {\r\n this.serverDate(new Date(response[0].timestampLocalFormatted));\r\n }\r\n\r\n // filter tables if mobile, if web or both\r\n tables = tables.filter(function (table) {\r\n return ((table.lobbytable.open && table.lobbytable.operationHours.type === 'FullTime') || table.lobbytable.operationHours.type === 'Bounded') && (table.lobbytable.display === 'on_desktop&mobile' || table.lobbytable.display === this.queryGameType);\r\n }.bind(this));\r\n\r\n if (this.settings().SortType && this.settings().SortType === 'cookie') {\r\n tables = GameFilters.sortTablesByList(tables, personalTables); // Personalized\r\n tables = GameFilters.sortTablesIfTheyAreRanked(tables, rankedTables);\r\n\r\n var cookieTable = LiveCasinoApi.getLastPlayedGameFromStorage();\r\n if (cookieTable) {\r\n var cookieTableList = [{ tableId: cookieTable }];\r\n tables = GameFilters.sortTablesByList(tables, cookieTableList); // Use cookie\r\n }\r\n\r\n tables = GameFilters.sortTablesIfClosed(tables);\r\n } else {\r\n // filter games accordingly to gametypes delivered from cms\r\n tables = tables.filter(function (table) {\r\n return GameFilters.isTableInFilteredGameTypes(table, this.gameTypesToFilter());\r\n }.bind(this));\r\n\r\n // use popular sorting on tables:\r\n if (this.settings().SortType && this.settings().SortType === 'popular') {\r\n tables = GameFilters.sortTablesByList(tables, personalTables); // Personalized\r\n tables = GameFilters.sortTablesIfTheyAreRanked(tables, rankedTables);\r\n tables = GameFilters.sortTablesIfClosed(tables);\r\n } else { // else use lobby sorting\r\n tables = GameFilters.sortTablesByPrice(tables);\r\n tables = GameFilters.sortTablesIfClosed(tables);\r\n tables = GameFilters.sortDanishTablesFirstAndByPrice(tables);\r\n }\r\n }\r\n\r\n this.nudgedCardReplaced(false);\r\n if (this.settings().NudgedCardPositions) {\r\n Object.keys(this.settings().NudgedCardPositions).forEach(function (key, index) {\r\n findAndReplaceNudgedTable(tables, this.settings().NudgedCardPositions[key], index);\r\n }.bind(this));\r\n }\r\n\r\n if (tables) {\r\n this.lobbyData(tables);\r\n m.redraw(true);\r\n\r\n crossfadeCards();\r\n\r\n var hasClosedTable = this.lobbyData().filter(function (table) {\r\n return table.lobbytable.open === false;\r\n }).length > 0;\r\n\r\n if (hasClosedTable && !this.boundIntervalAdded()) {\r\n // if there is a closed table in the tables and its not added, make a redraw each sec\r\n this.boundIntervalAdded(true);\r\n MithrilRedrawEverySecond.start();\r\n }\r\n }\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n LiveCasinoApi.performHealthCheck();\r\n\r\n getLiveCasinoInfo();\r\n\r\n setInterval(function () {\r\n getLiveCasinoInfo();\r\n }, 10000);\r\n },\r\n\r\n view: function (ctrl) {\r\n if (ctrl.lobbyData().length === 0) {\r\n return m.trust(ctrl.loadingElements());\r\n }\r\n\r\n if (ctrl.settings().SortType === 'lobby' && ctrl.lobbyData().length > 0) {\r\n var counterElement = document.querySelector('.counter');\r\n if (counterElement) {\r\n counterElement.innerHTML = '(' + ctrl.lobbyData().length + ')';\r\n }\r\n }\r\n\r\n return [\r\n ctrl.isTablesFilterDisplayed() ? GameCardListFilter(ctrl) : null,\r\n\r\n ctrl.lobbyData() && ctrl.lobbyData().map(function (cardObject, key) {\r\n\r\n // check if the filter can be applied to the tables in the lobby\r\n if ((ctrl.settings().SortType === 'lobby') && (ctrl.settings().GameTypes[0].Title === 'Blackjack')) {\r\n ctrl.isTablesFilterDisplayed(true);\r\n\r\n // to test the filter when there is no table full change 'cardObject.lobbytable.seats' with '0',\r\n // that would reverse the functionality and hide all empty tables\r\n if (cardObject.lobbytable.seatsTaken && cardObject.lobbytable.seats && cardObject.lobbytable.seatsTaken.length === cardObject.lobbytable.seats) {\r\n if (ctrl.withoutFullTables()) {\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if (ctrl.nudgeCardPosition() && (key + ctrl.cardPositionStart()) <= 1) {\r\n return;\r\n }\r\n\r\n if ((!ctrl.cardPositionStart() && !ctrl.cardPositionEnd()) || (key + ctrl.cardPositionStart() < ctrl.cardPositionEnd())) {\r\n return GameCard({\r\n options: cardObject.lobbytable,\r\n ctrl: ctrl,\r\n tableHasCounter: cardObject.lobbytable.operationHours.type === 'Bounded' && cardObject.lobbytable.open === false\r\n });\r\n }\r\n\r\n }),\r\n ctrl.settings().BottomLink ? m('div', { class: 'more-link-container livecasino-grid livecasino-grid--type1' }, [\r\n m('a', { href: ctrl.settings().BottomLink.Url }, ctrl.settings().BottomLink.Text)\r\n ]) : ''\r\n ];\r\n }\r\n };\r\n\r\n route('/', root);\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/GameSpotIframe', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/AvalonComponents/Scripts/Helpers/PageHelper',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/LiveCasinoApi',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/GameVendors/Scripts/Helpers/BalancePooler',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginSSO',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginController',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameSpotIframeHeaderWrapper',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameSpotIframeTemplate',\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten'\r\n], function (m, PageHelper, LiveCasinoApi, Utils, BalancePooler, LoginSSO, LoginController, GameSpotIframeHeaderWrapper, GameSpotIframeTemplate, CrossWindowEvents, Ensighten) {\r\n\r\n var container = document.getElementById('game-launcher-evolution');\r\n if (container) {\r\n var gameSessionApi = null;\r\n var iframeSrc = m.prop(false);\r\n var settings = JSON.parse(container.getAttribute('data-settings'));\r\n var lobbyUrl = m.prop(Utils.getParameter('lobbyUrl') || '');\r\n var userBalance = m.prop(null);\r\n var gameId = null;\r\n var componentSource = settings.componentSource;\r\n var isMobile = (Utils.isMobile() || Utils.isTabletDevice());\r\n var tableName = m.prop(null);\r\n var initHeight = m.prop(false);\r\n\r\n var getTableName = function (tableId) {\r\n LiveCasinoApi.getTableInfo().then(function (lobby) {\r\n lobby?.tables?.forEach(function (table) {\r\n if (table.lobbytable.tableid === tableId) {\r\n tableName(table.lobbytable.name);\r\n }\r\n });\r\n });\r\n };\r\n\r\n if (componentSource === 'game-spot') {\r\n gameId = Utils.getParameter('game') || '-';\r\n var tableId = Utils.getParameter('table_id') || '-';\r\n getTableName(tableId);\r\n\r\n var seat = Utils.getParameter('seat') || '-';\r\n gameSessionApi = function (data) {\r\n\r\n CrossWindowEvents.subscribe('ds.event.balanceUpdated', function (data) {\r\n if (data.balance !== undefined && userBalance() === null) { // if balance is not read yet\r\n userBalance(data.balance);\r\n } else if (userBalance() && data.balance !== undefined && userBalance() !== data.balance) { // if balance is set, and recieved balance is different\r\n var orderId = 'lic-' + (new Date().getTime());\r\n if (tableName()) {\r\n Ensighten.pushPurchaseCompleted(\r\n { id: orderId, totalPrice: 1 },\r\n {\r\n name: 'livecasino',\r\n price: '1',\r\n brand: 'dli_lic',\r\n category: gameId.toLowerCase(),\r\n variant: tableName().replace(/ /g, '_').toLowerCase(),\r\n quantity: 1\r\n }\r\n );\r\n }\r\n userBalance(data.balance);\r\n }\r\n });\r\n\r\n return LiveCasinoApi.getGameSession({ gameId: gameId, tableId: tableId, seat: seat, assertionId: data.assertionId }, { isMobile: isMobile, lobbyUrl: lobbyUrl() });\r\n };\r\n } else if (componentSource === 'game-lobby') {\r\n gameId = Utils.getParameter('game') || 'roulette';\r\n gameSessionApi = function (data) {\r\n return LiveCasinoApi.getGameFallbackLobbySession({ gameId: gameId, assertionId: data.assertionId }, { isMobile: isMobile });\r\n };\r\n }\r\n\r\n var setIframeContainerSizeOnIosMobilePortrait = function () {\r\n var iframeContainer = document.querySelector('.iframe-container');\r\n\r\n if (iframeContainer) {\r\n var mediaQuery = window.matchMedia('(orientation: portrait)');\r\n\r\n if (mediaQuery.matches) {\r\n var innerHeight = window.innerHeight + 30; // compliancebar is 30px high\r\n var scale = innerHeight / window.screen.height;\r\n scale = Math.min(scale, 1); // don't zoom in, only out (if needed)\r\n iframeContainer.style.transform = 'scale(' + scale + ')';\r\n\r\n if (!initHeight()) {\r\n initHeight(innerHeight);\r\n }\r\n\r\n if (innerHeight > initHeight()) {\r\n iframeContainer.style.transform = 'scale(1)';\r\n }\r\n\r\n } else {\r\n iframeContainer.style.transform = 'scale(1)';\r\n }\r\n }\r\n };\r\n\r\n LoginSSO.relay(function (data) {\r\n if (data.assertionId) {\r\n gameSessionApi(data).then(function (data) {\r\n if (tableName()) {\r\n Ensighten.pushProductDetail(\r\n {\r\n name: 'livecasino',\r\n brand: 'dli_lic',\r\n category: gameId.toLowerCase(),\r\n variant: tableName().replace(/ /g, '_').toLowerCase()\r\n }\r\n );\r\n }\r\n iframeSrc(data.entry);\r\n BalancePooler.activate();\r\n m.render(document.getElementsByClassName('iframe-container')[0], GameSpotIframeTemplate(iframeSrc));\r\n m.render(document.getElementsByClassName('panel-header-wrapper')[0], GameSpotIframeHeaderWrapper(lobbyUrl));\r\n if (Utils.isMobile() && Utils.isIOSDevice()) {\r\n setIframeContainerSizeOnIosMobilePortrait();\r\n }\r\n\r\n }, function (data) {\r\n if (data.errors && data.errors[0].code === 'NO_ALIAS_ERROR') {\r\n window.location.href = '/blaa-konto/mine-oplysninger?returnurl=' + encodeURIComponent(location.href.split('#')[0]) + '#/alias';\r\n } else if (data.errors && data.errors[0].code === 'G.0') {\r\n window.location.href = PageHelper.getRootUrl();\r\n }\r\n });\r\n } else {\r\n LoginController.openLogin({\r\n cancelUrl: window.document.referrer ? window.document.referrer : PageHelper.getRootUrl()\r\n });\r\n }\r\n }, false);\r\n\r\n if (Utils.isMobile() && Utils.isIOSDevice()) {\r\n window.addEventListener('resize', setIframeContainerSizeOnIosMobilePortrait);\r\n }\r\n\r\n document.body.setAttribute('data-override-logout-return-url', '/' + window.location.pathname.split('/')[1]);\r\n }\r\n});\r\n\r\n","defineDs(\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/GameInformationSlider',\r\n ['DanskeSpil/Domain/AvalonComponents/Scripts/Slider'],\r\n function (Slider) {\r\n let containers = document.querySelectorAll('.livecasino-gameinformation');\r\n // Map to a new array, because IE11 does not support forEach on NodeList\r\n containers = [].slice.call(containers);\r\n\r\n containers.forEach(function ($elem) {\r\n // Configuration object for a slick slider\r\n var cardConfig = {\r\n swiper: null,\r\n shouldInitialize: function () {\r\n var breakpoint = 769;\r\n return window.matchMedia('(max-width: ' + breakpoint + 'px)').matches;\r\n },\r\n target: $elem.querySelector('.js-game-information-wrapper'),\r\n settings: {\r\n slidesPerView: 'auto',\r\n freeMode: true,\r\n freeModeMomentumRatio: 0.8,\r\n freeModeMomentumVelocityRatio: 0.5,\r\n freeModeMomentumBounceRatio: 0.5,\r\n touchEventsTarget: 'container',\r\n scrollbar: {\r\n el: '.swiper-scrollbar',\r\n draggable: true,\r\n hide: false,\r\n dragSize: '30',\r\n },\r\n },\r\n };\r\n\r\n Slider.addSlider(cardConfig);\r\n });\r\n }\r\n);\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Components/DealersCarousel', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Hammer',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/DealerHelper'\r\n],\r\nfunction (Component, Render, Hammer, DealerHelper) {\r\n // Component:\r\n Component('livecasino-dealers-carousel', [], function (m, route, settings) {\r\n\r\n // Components:\r\n var root = {\r\n controller: function () {\r\n\r\n // Variables:\r\n this.dealersList = m.prop([]);\r\n this.dealersLink = m.prop(settings.dealersLink);\r\n\r\n this.tablesIDsList = m.prop({});\r\n this.gamesTypes = m.prop(settings.gameTypes);\r\n\r\n this.slideDistance = m.prop(0);\r\n this.slideVelocity = m.prop(0);\r\n this.slideDirection = m.prop();\r\n this.inFocusDealer = m.prop();\r\n this.snapPoint = m.prop();\r\n this.deltaDistance = m.prop();\r\n this.amountOfDealers = m.prop(this.dealersList().length);\r\n this.render = m.prop(Render());\r\n\r\n this.currentCarouselItemIndex = m.prop(0);\r\n this.carouselItemsInView = m.prop([]);\r\n this.startPoint = 0;\r\n this.endPoint = 0;\r\n\r\n this.itemsInViewRange = function () {\r\n var itemsInView = [];\r\n this.startPoint = this.currentCarouselItemIndex() - 3;\r\n this.endPoint = this.currentCarouselItemIndex() + 4;\r\n\r\n if (this.startPoint < 0) {\r\n itemsInView.push(this.dealersList().slice(this.amountOfDealers() + this.startPoint, this.amountOfDealers()));\r\n itemsInView.push.apply(itemsInView[0], this.dealersList().slice(0, this.currentCarouselItemIndex()));\r\n } else {\r\n itemsInView.push(this.dealersList().slice(this.startPoint, this.currentCarouselItemIndex()));\r\n }\r\n\r\n if (this.endPoint > this.amountOfDealers()) {\r\n itemsInView.push(this.dealersList().slice(this.currentCarouselItemIndex(), this.amountOfDealers()));\r\n itemsInView.push.apply(itemsInView[1], this.dealersList().slice(0, this.endPoint % this.amountOfDealers()));\r\n } else {\r\n itemsInView.push(this.dealersList().slice(this.currentCarouselItemIndex(), this.endPoint));\r\n }\r\n\r\n this.carouselItemsInView(itemsInView[0].concat(itemsInView[1]));\r\n }.bind(this);\r\n\r\n\r\n this.slideCarouselItems = function (direction) {\r\n return function () {\r\n if (direction === 'next') {\r\n this.currentCarouselItemIndex(this.currentCarouselItemIndex() + 1);\r\n } else {\r\n this.currentCarouselItemIndex(this.currentCarouselItemIndex() - 1);\r\n }\r\n if ((this.currentCarouselItemIndex() % this.amountOfDealers()) < 0) {\r\n this.currentCarouselItemIndex(this.amountOfDealers() + (this.currentCarouselItemIndex() % this.amountOfDealers()));\r\n } else if (this.currentCarouselItemIndex() >= this.amountOfDealers()) {\r\n this.currentCarouselItemIndex(this.currentCarouselItemIndex() % this.amountOfDealers());\r\n }\r\n\r\n this.itemsInViewRange();\r\n }.bind(this);\r\n };\r\n\r\n this.itemClassName = function (index) {\r\n var currentIndex = (this.currentCarouselItemIndex());\r\n var itemIndex = index;\r\n\r\n if ((this.startPoint < 0) && (itemIndex > (currentIndex + 4))) {\r\n itemIndex = itemIndex - this.amountOfDealers();\r\n }\r\n if ((this.endPoint > this.amountOfDealers()) && ((this.endPoint - itemIndex) > this.amountOfDealers())) {\r\n itemIndex = this.amountOfDealers() + itemIndex;\r\n }\r\n\r\n var className = 'dealer-item-wrapper';\r\n\r\n if (itemIndex === (currentIndex - 1)) {\r\n className += ' in-view prev-first';\r\n }\r\n\r\n if (itemIndex === (currentIndex - 2)) {\r\n className += ' in-view prev-second';\r\n }\r\n\r\n if (itemIndex === (currentIndex - 3)) {\r\n className += ' in-view prev-third';\r\n }\r\n\r\n if (itemIndex === currentIndex) {\r\n className += ' in-view current';\r\n }\r\n\r\n if (itemIndex === (currentIndex + 1)) {\r\n className += ' in-view next-first';\r\n }\r\n\r\n if (itemIndex === (currentIndex + 2)) {\r\n className += ' in-view next-second';\r\n }\r\n\r\n if (itemIndex === (currentIndex + 3)) {\r\n className += ' in-view next-third';\r\n }\r\n\r\n return className;\r\n }.bind(this);\r\n\r\n\r\n this.itemStylingWhileSlideing = function ($elem) {\r\n var $parent = $elem.parentElement;\r\n if (this.slideDirection() > 0) {\r\n\r\n if ($parent.classList.contains('current')) {\r\n var alphaPercentage = ((-0.5) + (Math.abs(this.slideDistance()) * (this.snapPoint() / 4400)));\r\n $elem.children[0].style.backgroundColor = 'rgba(0, 0, 0,' + ((alphaPercentage > 0) ? alphaPercentage : 0) + ')';\r\n }\r\n } else {\r\n $elem.children[0].style.backgroundColor = null;\r\n }\r\n }.bind(this);\r\n\r\n\r\n this.carouselInit = function ($carouselWrapper) {\r\n var hammer = new Hammer($carouselWrapper);\r\n var distance = 0;\r\n\r\n hammer.on('panstart', function () {\r\n this.deltaDistance(0);\r\n }.bind(this));\r\n\r\n hammer.on('panleft panright', function (event) {\r\n var delta = event.deltaX;\r\n var direction = event.direction;\r\n distance = this.deltaDistance() + delta;\r\n var velocity = event.velocityX;\r\n\r\n this.slideDirection(direction);\r\n\r\n if (Math.abs(distance) > this.snapPoint()) {\r\n this.deltaDistance(-delta);\r\n\r\n if (direction === 2) {\r\n this.slideCarouselItems('next')();\r\n }\r\n if (direction === 4) {\r\n this.slideCarouselItems('prev')();\r\n }\r\n\r\n }\r\n\r\n this.slideDistance(distance);\r\n this.slideVelocity(Math.abs(velocity * 10));\r\n\r\n m.redraw();\r\n }.bind(this));\r\n\r\n hammer.on('panend pancancel', function () {\r\n this.slideDistance(0);\r\n this.slideVelocity(100);\r\n this.slideDirection(null);\r\n }.bind(this));\r\n\r\n }.bind(this);\r\n\r\n // Build link to the table\r\n this.getLinkToDealerTable = function (dealer) {\r\n var tableUrl = '';\r\n var gameType = null;\r\n var tableId = null;\r\n\r\n if (dealer && dealer.currentTable) {\r\n gameType = dealer.currentTable.gameType;\r\n tableId = dealer.currentTable.tableid;\r\n }\r\n\r\n // Lookup the gametype of the dealers table\r\n var dealerGameType = this.gamesTypes().filter(function (item) {\r\n return item.GameTypeId === gameType;\r\n })[0];\r\n\r\n // Generate url to the table\r\n if (gameType === null || !dealerGameType) {\r\n tableUrl = window.location.origin + this.gamesTypes()[0].Link.Url;\r\n } else {\r\n tableUrl = window.location.origin + dealerGameType.Link.Url + '/bord?table_id=' + tableId + '&game=' + gameType + '&lobbyUrl=' + encodeURIComponent(window.location.origin + dealerGameType.Link.Url);\r\n }\r\n\r\n return tableUrl;\r\n\r\n }.bind(this);\r\n\r\n // Enrich sitecore dealer data with data from evolution gaming\r\n DealerHelper.getEnrichedDealers(settings.dealers, settings.gameTypes).then(function (response) {\r\n\r\n // Set dealer data\r\n this.dealersList(response);\r\n // Set number of dealers\r\n this.amountOfDealers(this.dealersList().length);\r\n this.itemsInViewRange();\r\n m.redraw();\r\n\r\n }.bind(this));\r\n\r\n // Render:\r\n this.render().ready.then(function (nodes) {\r\n var $itemBackground = nodes['carousel-item-background'].$element;\r\n\r\n this.snapPoint(($itemBackground.offsetWidth / 5));\r\n\r\n }.bind(this));\r\n },\r\n\r\n view: function (controller) {\r\n var render = controller.render();\r\n\r\n return m('div', { class: 'livecasino-dealers-carousel-wrapper', config: render.depend('carousel-wrapper') }, [\r\n m('div', { class: 'livecasino-dealers-carousel-inner-wrapper', config: controller.carouselInit }, [\r\n m('div', { class: 'dealers-carousel-background', config: render.depend('carousel-item-background') }),\r\n\r\n m('div', { class: 'dealers-carousel-list-wrapper', style: 'transform: translateX(' + controller.slideDistance() + 'px); transition: transform ' + controller.slideVelocity() + 'ms linear;', config: render.depend('items-wrapper') }, [\r\n\r\n controller.dealersList().map(function (dealer, index) {\r\n if (controller.carouselItemsInView().indexOf(dealer) >= 0) {\r\n if (index === controller.currentCarouselItemIndex()) {\r\n controller.inFocusDealer(dealer);\r\n }\r\n\r\n return m('div', { class: controller.itemClassName(index) }, [\r\n m('div', { class: 'dealer-item-inner-wrapper', config: controller.itemStylingWhileSlideing }, [\r\n m('div', { class: 'dealer-image-wrapper' }, [\r\n m('img', { class: 'dealer-image', src: dealer.Image })\r\n ])\r\n ])\r\n ]);\r\n }\r\n })\r\n ]),\r\n\r\n (controller.carouselItemsInView().length > 0) ? m('div', { class: 'dealers-carousel-foreground-wrapper' }, [\r\n m('div', { class: 'navigation-button active', onclick: controller.slideCarouselItems('prev') }, [\r\n m('svg', { class: 'icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/AvalonLiveCasino/Graphics/SpriteSheets/LiveCasinoIcons.svg#arrow' })\r\n ])\r\n ]),\r\n m('div', { class: 'dealers-carousel-ribbon-wrapper' }, [\r\n m('div', { class: 'ribon-end' }),\r\n m('div', { class: 'ribon-end right-side' }),\r\n m('div', { class: 'ribon-content-wrapper' }, [\r\n m('div', { class: 'dealer-name' }, controller.inFocusDealer().FirstName),\r\n controller.inFocusDealer().online ? m('div', { class: 'dealer-status' }, 'Online på ' + controller.inFocusDealer().currentTable.name) : null\r\n ]),\r\n m('div', { class: 'dealer-cta-button-wrapper' }, [\r\n (controller.inFocusDealer().online) ?\r\n m('a', {\r\n class: 'livecasino-button gold',\r\n href: controller.getLinkToDealerTable(controller.inFocusDealer())\r\n }, [\r\n m('span', 'Gå til ' + controller.inFocusDealer().FirstName.replace(/\\s+$/, '') + 's bord')\r\n ])\r\n : m('a', { class: 'livecasino-button purple', href: controller.dealersLink().Url + '#' + (controller.inFocusDealer().FirstName.replace(/\\s/g, '') + '-' + controller.inFocusDealer().DealerId) }, 'Læs mere om ' + controller.inFocusDealer().FirstName)\r\n ])\r\n ]),\r\n m('div', { class: 'navigation-button next active', onclick: controller.slideCarouselItems('next') }, [\r\n m('svg', { class: 'icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/AvalonLiveCasino/Graphics/SpriteSheets/LiveCasinoIcons.svg#arrow' })\r\n ])\r\n ])\r\n ]) : controller.itemsInViewRange()\r\n ])\r\n ]);\r\n }\r\n };\r\n route('/', root);\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Components/DealerList', [\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/DealerCard',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/LiveCasinoApi',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/DealerHelper',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Resize',\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n],\r\nfunction (DealerCard, LiveCasinoApi, DealerHelper, Resize, Component, LoginCache) {\r\n // Component:\r\n Component('livecasino-dealerlist', [], function (m, route, settings) {\r\n\r\n // Components:\r\n var root = {\r\n controller: function () {\r\n\r\n var self = this;\r\n\r\n this.dealerFromUrlHash = window.location.hash.substr(1) ? window.location.hash.substr(1) : null; // used in DealerCard.js\r\n this.scrolledToDealerInit = m.prop(false);\r\n self.settings = m.prop(settings);\r\n self.customerId = m.prop(LoginCache.getUserObj().customerInfo ? LoginCache.getUserObj().customerInfo.customerId : null);\r\n self.dealers = m.prop([]);\r\n self.cardInfoClicked = m.prop(false);\r\n\r\n // used in GameCard.js\r\n self.openInfo = function (event) {\r\n // disable click for middleband\r\n event.stopPropagation();\r\n self.cardInfoClicked(event.target.id);\r\n\r\n };\r\n\r\n // used in GameCard.js\r\n self.closeInfo = function (event) {\r\n // disable click for middleband\r\n event.stopPropagation();\r\n self.cardInfoClicked(false);\r\n };\r\n\r\n LiveCasinoApi.performHealthCheck();\r\n\r\n // Enrich dealerdata\r\n DealerHelper.getEnrichedDealers(self.settings().Dealers, self.settings().GameTypes).then(function (response) {\r\n self.dealers(response);\r\n m.redraw(true);\r\n });\r\n\r\n Resize(function () {\r\n m.redraw();\r\n });\r\n\r\n },\r\n view: function (ctrl) {\r\n if (ctrl.dealers()) {\r\n return ctrl.dealers().map(function (dealer) {\r\n return DealerCard({ options: dealer, ctrl: ctrl });\r\n });\r\n }\r\n }\r\n\r\n };\r\n\r\n route('/', root);\r\n\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Components/CardShuffle', [], function () {\r\n\r\n var containers = null;\r\n var observer = null;\r\n\r\n var init = function init() {\r\n\r\n if (!window.IntersectionObserver) {\r\n return;\r\n }\r\n\r\n // Get all js-card shuffle elements on the page\r\n containers = document.querySelectorAll('.js-card-shuffle');\r\n\r\n // Options for IntersectionObserver\r\n var options = {\r\n root: null,\r\n rootMargin: '0px 0px 300px 0px', // Make sure the intersection area is bigger than the viewport. So that we can trigger items before they are visible to the user\r\n threshold: 0\r\n };\r\n\r\n // Setup observer on the viewport\r\n observer = new IntersectionObserver(callback, options); // eslint-disable-line compat/compat\r\n\r\n // Initialize the individual shuffles\r\n setupShuffles();\r\n };\r\n\r\n /**\r\n * Locate all shuffle items, and set initial state on them\r\n * That way we make sure they are offset and ready to transition in\r\n */\r\n var setupShuffles = function setupShuffles() {\r\n\r\n // We might have more than one container\r\n containers.forEach(function (container) {\r\n\r\n var items = container.querySelectorAll('.js-card-shuffle-item');\r\n\r\n items.forEach(function (item) {\r\n\r\n // Mark the item as ready to be shuffled in\r\n item.classList.add('transition-shuffle--prepare');\r\n\r\n // Add style transform we can later remove to trigger effect\r\n item.style.transform = 'translate(-50%, 100%)';\r\n\r\n // Add item to the observer, to detect when it is in the viewport\r\n observer.observe(item);\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * Callback that the IntersectingObserver triggers when an item is hit in the viewport\r\n *\r\n * @param {array} entries List of items triggered by the observer\r\n * @param {object} observer The observer itself\r\n */\r\n var callback = function callback(entries, observer) {\r\n\r\n // Start delay for all entries that are hit\r\n var delay = 0;\r\n\r\n entries.forEach(function (entry) {\r\n\r\n var target = entry.target;\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n function transitionFunc(event) {\r\n // Remove animation classes\r\n target.classList.remove('transition-shuffle--running', 'transition-shuffle--animation');\r\n\r\n // Cleanup styling added via JS\r\n target.style.transform = '';\r\n target.style.transitionDelay = '';\r\n\r\n // Cleanup eventlistener and remove the item from the observer\r\n target.removeEventListener('transitionend', transitionFunc, false);\r\n observer.unobserve(target);\r\n }\r\n\r\n // If we are in fact intersecting and should run animation\r\n if (entry.isIntersecting) {\r\n\r\n // Add a delay to the item in question\r\n target.style.transitionDelay = (delay += 100) + 'ms';\r\n\r\n // Wait for an animation frame to trigger our logic\r\n requestAnimationFrame(function () {\r\n\r\n // Remove the offsetting and add animation classes\r\n target.classList.remove('transition-shuffle--prepare');\r\n target.classList.add('transition-shuffle--running', 'transition-shuffle--animation');\r\n // Setup listener to cleanup when transition is done\r\n target.addEventListener('transitionend', transitionFunc, false);\r\n });\r\n }\r\n });\r\n };\r\n\r\n // Initialize logic when document is ready\r\n document.addEventListener('DOMContentLoaded', function () {\r\n\r\n var isDesktop = document.querySelector('body').classList.contains('is-desktop-detected');\r\n var scrollTop = document.querySelector('html').scrollTop;\r\n\r\n // Only run logic if we are on desktop, and the browser window is scrolled all the way to the top\r\n if (isDesktop && scrollTop === 0) {\r\n init();\r\n }\r\n\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/NewsletterSignup',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest'\r\n ],\r\n function (ApiRequest) {\r\n var $permissionSpot = document.querySelector('.permission-spot');\r\n\r\n var registerAccept = function () {\r\n ApiRequest({ url: DS.Config.CONTEXTPREFIX + '/scapi/json/consent/acceptpermissions' });\r\n };\r\n\r\n var getPermissions = function () {\r\n return ApiRequest({\r\n url: DS.Config.CONTEXTPREFIX + '/scapi/json/consent/getpermissions',\r\n requireAuthCookie: true\r\n });\r\n };\r\n\r\n var showSpot = function () {\r\n $permissionSpot.classList.add('permission-spot--show');\r\n };\r\n\r\n var init = function init() {\r\n if ($permissionSpot) {\r\n // Check consent before revealing form\r\n getPermissions().then(function (data) {\r\n if (data.OperationSucces && !(data.PermissionAccepted || data.EmailPermission)) {\r\n showSpot();\r\n }\r\n });\r\n\r\n var $button = $permissionSpot.querySelector('.livecasino-button');\r\n var $text = $permissionSpot.querySelector('.completion-text');\r\n\r\n $button.addEventListener('click', function () {\r\n $button.classList.add('livecasino-button--fade-out');\r\n $text.classList.add('completion-text--fade-in');\r\n registerAccept();\r\n });\r\n }\r\n };\r\n\r\n // Do not run regular init logic if we are in Experience Editor mode\r\n if (document.querySelector('.mode-edit')) {\r\n // Make sure the spot is visible in the editor\r\n $permissionSpot && showSpot();\r\n } else {\r\n init();\r\n }\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonComponents/Scripts/Components/HeroLiveCasinoGames',\r\n [\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameCard',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/GameCardListFilter',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/LiveCasinoApi',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/MithrilRedrawEverySecond',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Carousel',\r\n 'DanskeSpil/Framework/TimeUtils/Scripts/TimeUtils',\r\n ],\r\n function (GameCard, GameCardListFilter, LiveCasinoApi, LoginCache, Component, Utils, MithrilRedrawEverySecond, Carousel, TimeUtils) {\r\n\r\n Component('hero-livecasino-games', [], function (m, route, settings, ignoreProperty, element) {\r\n\r\n var root = {\r\n controller: function () {\r\n this.settings = m.prop(settings);\r\n this.lobbyData = m.prop([]); // Holds table data once its fetched\r\n this.serverDate = m.prop(TimeUtils.getServerDateTime());\r\n this.queryGameType = (Utils.isMobile() || Utils.isTabletDevice()) ? 'on_mobile' : 'on_desktop';\r\n this.nudgeCardPosition = m.prop(LoginCache.getUserObj().customerInfo && this.settings().NudgeCardPosition);\r\n this.customerId = m.prop(LoginCache.getUserObj().customerInfo ? LoginCache.getUserObj().customerInfo.customerId : null);\r\n this.nudgedCardReplaced = m.prop(false);\r\n this.cardPositionStart = m.prop(0);\r\n this.boundIntervalAdded = m.prop(false);\r\n this.isTablesFilterDisplayed = m.prop(false);\r\n this.withoutFullTables = m.prop(false);\r\n this.rankedTablesRequest = m.prop(null);\r\n this.personalTablesRequest = m.prop(null);\r\n\r\n if (this.nudgeCardPosition() && settings.NumberOfCards !== 1) {\r\n this.cardPositionStart(1);\r\n }\r\n\r\n var loadingElements = Array.prototype.slice.call(element.children)\r\n .map(function (el) {\r\n return el.outerHTML;\r\n }).join('');\r\n\r\n this.loadingElements = m.prop(loadingElements);\r\n\r\n this.cardPositionEnd = m.prop(this.nudgeCardPosition() ? this.settings().NumberOfCards + 2 : this.settings().NumberOfCards);\r\n this.cardInfoClicked = m.prop(false);\r\n\r\n /*\r\n Nudged card table ids comes from sitecore, that is a list of tableids and its view position\r\n the tableid from sitecore is replaced at the defined position, by pushing in the table at the position (table.splice)\r\n */\r\n var findAndReplaceNudgedTable = function (tables, tableid, replaceIndex) {\r\n if (this.nudgeCardPosition()) {\r\n // logged in enabled then nudge index.\r\n replaceIndex = replaceIndex + 1;\r\n }\r\n var foundInPosition = false;\r\n var tableFoundInData = false;\r\n\r\n // only proceed if we have table ids.\r\n if (tableid) {\r\n this.nudgedCardReplaced(false);\r\n tables.forEach(function (table, index) {\r\n if (table.lobbytable.tableid === tableid) {\r\n tableFoundInData = true;\r\n if (index === replaceIndex) {\r\n foundInPosition = true;\r\n }\r\n }\r\n });\r\n\r\n if (tableFoundInData) {\r\n if (!foundInPosition) {\r\n tables.forEach(function (table) {\r\n // only set nudged table to a position if it is not inside the amount numberOfCards to view\r\n if (!this.nudgedCardReplaced() && table.lobbytable.tableid === tableid) {\r\n tables.splice(replaceIndex, 0, table); // replace card on nudged position\r\n this.nudgedCardReplaced(true);\r\n }\r\n }.bind(this));\r\n }\r\n }\r\n }\r\n\r\n }.bind(this);\r\n\r\n this.initCarousel = function ($element, isNew) {\r\n if (!isNew) {\r\n var settings = {\r\n withDots: true,\r\n withArrows: true,\r\n wrapAround: true,\r\n notMobile: true,\r\n };\r\n Carousel($element, settings);\r\n setTimeout(function () {\r\n $element.classList.add('hero-livecasino-games__content--smooth');\r\n }, 200);\r\n }\r\n }.bind(this);\r\n\r\n this.openInfo = function (event) {\r\n event.stopPropagation();\r\n this.cardInfoClicked(event.target.id);\r\n\r\n }.bind(this);\r\n\r\n this.closeInfo = function (event) {\r\n event.stopPropagation();\r\n this.cardInfoClicked(false);\r\n }.bind(this);\r\n\r\n var crossfadeCards = function () {\r\n var date = new Date();\r\n var datestring = date.getHours() + '' + date.getMinutes() + '' + parseInt(date.getSeconds() / 10, 10);\r\n\r\n var gameCards = document.querySelectorAll('.hero-livecasino-games .livecasino-gamecard');\r\n\r\n Array.prototype.forEach.call(gameCards, function (elem) {\r\n var imageBase = elem.querySelector('.image-base');\r\n var imageCrossfade = elem.querySelector('.image-crossfade');\r\n\r\n if (imageBase && imageCrossfade) {\r\n imageBase.setAttribute('style', imageCrossfade.getAttribute('style'));\r\n imageCrossfade.classList.remove('fade');\r\n\r\n var preload = new Image();\r\n preload.onload = function () {\r\n // fade when image loaded/cached\r\n imageCrossfade.style.backgroundImage = 'url(' + preload.src + ')';\r\n imageCrossfade.classList.add('fade');\r\n };\r\n preload.src = imageCrossfade.getAttribute('data-baseimage') + '?' + datestring;\r\n }\r\n });\r\n };\r\n\r\n // This function will always return something from a promise, even when the promise fails.\r\n // Useful when we would LIKE the response, but we don't REQUIRE it.\r\n var reflect = function (promise) {\r\n if (!promise) {\r\n return null;\r\n }\r\n return promise.then(\r\n function (req) {\r\n return req;\r\n },\r\n function () {\r\n return null;\r\n });\r\n };\r\n\r\n var getLiveCasinoInfo = function () {\r\n\r\n // If we did not already store the ranked tables request, store it\r\n if (!this.rankedTablesRequest()) {\r\n this.rankedTablesRequest(LiveCasinoApi.getTableRanked());\r\n }\r\n\r\n // If we did not store the users personal tables, store the request for them\r\n if (!this.personalTablesRequest() && this.customerId() && this.settings().HashedId) {\r\n this.personalTablesRequest(LiveCasinoApi.getTablePersonalized({ customerId: this.customerId() }, { 'authorization-token': this.settings().HashedId }));\r\n }\r\n\r\n // Prepare request for all tables data\r\n var tableInfoRequest = LiveCasinoApi.getTableInfo();\r\n\r\n // We will wait for all 3 promises, and continue even if some have failed.\r\n // This way we can sort the tables (as good as we can) even if an API should be down.\r\n reflect(tableInfoRequest).then(function (response) {\r\n var tables = response ? response.tables || [] : [];\r\n\r\n if (response && response.timestampLocalFormatted) {\r\n this.serverDate(new Date(response.timestampLocalFormatted));\r\n }\r\n\r\n this.nudgedCardReplaced(false);\r\n if (this.settings().NudgedCardPositions) {\r\n Object.keys(this.settings().NudgedCardPositions).forEach(function (key, index) {\r\n findAndReplaceNudgedTable(tables, this.settings().NudgedCardPositions[key], index);\r\n }.bind(this));\r\n }\r\n\r\n if (tables) {\r\n this.lobbyData(tables);\r\n m.redraw(true);\r\n\r\n crossfadeCards();\r\n\r\n var hasClosedTable = this.lobbyData().filter(function (table) {\r\n return !table.lobbytable.open;\r\n }).length > 0;\r\n\r\n if (hasClosedTable && !this.boundIntervalAdded()) {\r\n // if there is a closed table in the tables and its not added, make a redraw each sec\r\n this.boundIntervalAdded(true);\r\n MithrilRedrawEverySecond.start();\r\n }\r\n }\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n LiveCasinoApi.performHealthCheck();\r\n\r\n getLiveCasinoInfo();\r\n\r\n setInterval(function () {\r\n getLiveCasinoInfo();\r\n }, 10000);\r\n },\r\n\r\n view: function (ctrl) {\r\n if (ctrl.lobbyData().length === 0) {\r\n return m.trust(ctrl.loadingElements());\r\n }\r\n\r\n if (ctrl.settings().SortType === 'lobby' && ctrl.lobbyData().length > 0) {\r\n var counterElement = document.querySelector('.counter');\r\n if (counterElement) {\r\n counterElement.innerHTML = '(' + ctrl.lobbyData().length + ')';\r\n }\r\n }\r\n\r\n return m('div', { class: 'hero-livecasino-games__content', config: ctrl.initCarousel }, [\r\n m('div', { class: 'hero-livecasino-games__outer-wrapper' }, [\r\n m('div', { class: 'hero-livecasino-games__inner-wrapper' }, [\r\n\r\n ctrl.isTablesFilterDisplayed() ? GameCardListFilter(ctrl) : null,\r\n ctrl.lobbyData() && ctrl.lobbyData().map(function (cardObject, key) {\r\n if (ctrl.nudgeCardPosition() && (key + ctrl.cardPositionStart()) <= 1) {\r\n return;\r\n }\r\n\r\n if ((!ctrl.cardPositionStart() && !ctrl.cardPositionEnd()) || (key + ctrl.cardPositionStart() < ctrl.cardPositionEnd())) {\r\n return GameCard({\r\n options: cardObject.lobbytable,\r\n ctrl: ctrl,\r\n tableHasCounter: cardObject.lobbytable.operationHours.type === 'Bounded' && !cardObject.lobbytable.open,\r\n ribbon: true\r\n });\r\n }\r\n }),\r\n ctrl.settings().BottomLink ? m('div', { class: 'more-link-container livecasino-grid livecasino-grid--type1' }, [\r\n m('a', { href: ctrl.settings().BottomLink.Url }, ctrl.settings().BottomLink.Text)\r\n ]) : ''\r\n ])\r\n ])\r\n ]);\r\n }\r\n };\r\n\r\n route('/', root);\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Models/LuckySpinPermissionModel', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Core/Model'\r\n], function (m, Model) {\r\n return Model('LuckySpinPermissionModel', function (options) {\r\n this.header = options.header;\r\n this.subAnimationText = options.subAnimationText;\r\n this.permissionText = options.permissionText;\r\n this.lottieFile = options.lottieFile;\r\n this.confirm = options.confirm;\r\n this.reject = options.reject;\r\n this.successText = options.successText;\r\n this.errorText = options.errorText;\r\n this.closeConfirmationOverlayCta = options.closeConfirmationOverlayCta;\r\n this.closeConfirmationOverlayDelay = options.closeConfirmationOverlayDelay;\r\n this.hasAcceptedPermissions = m.prop(false);\r\n this.hasDismissedPopup = m.prop(false);\r\n this.hasPermissionsBeenLoaded = m.prop(false);\r\n this.displayedCount = m.prop(0);\r\n this.hasBeenDelayed = m.prop(false);\r\n this.isDisplaying = m.prop(false);\r\n this.hasUpdatedDisplayCount = false;\r\n\r\n const retriggerTime = options.retriggerTime.split(':');\r\n const firstRevisitTriggerTime = new Date();\r\n firstRevisitTriggerTime.setHours(retriggerTime[0]);\r\n firstRevisitTriggerTime.setMinutes(retriggerTime[1]);\r\n firstRevisitTriggerTime.setSeconds(0);\r\n const delay = options.delay;\r\n const storageKey = 'DS_LUCKY_SPIN_PERMISSIONS';\r\n\r\n const retriggerPermission = JSON.parse(localStorage.getItem(storageKey) ?? '{}');\r\n const updateLocalStorage = () => {\r\n localStorage.setItem(storageKey, JSON.stringify(retriggerPermission));\r\n };\r\n\r\n // The PermissionPopup should only be displayed twice and reset after 30 days\r\n if (!retriggerPermission.validUntil || retriggerPermission.validUntil > Date.now()) {\r\n // Initialize the localStorage object\r\n retriggerPermission.validUntil = new Date();\r\n retriggerPermission.validUntil.setDate(retriggerPermission.validUntil.getDate() + 30);\r\n retriggerPermission.nextPermissionTriggerTime = firstRevisitTriggerTime;\r\n retriggerPermission.displayedCount = this.displayedCount();\r\n updateLocalStorage();\r\n } else {\r\n this.displayedCount(retriggerPermission.displayedCount);\r\n retriggerPermission.nextPermissionTriggerTime = new Date(retriggerPermission.nextPermissionTriggerTime);\r\n retriggerPermission.validUntil = new Date(retriggerPermission.validUntil);\r\n }\r\n\r\n this.updateDisplayCount = () => {\r\n if (this.hasUpdatedDisplayCount) return;\r\n this.hasUpdatedDisplayCount = true;\r\n this.displayedCount(this.displayedCount() + 1);\r\n retriggerPermission.displayedCount = this.displayedCount();\r\n updateLocalStorage();\r\n };\r\n\r\n this.show = (now = new Date()) => {\r\n // If it's already displaying, return true.\r\n if (this.isDisplaying()) return true;\r\n\r\n // Check if the permissions haven't been accepted.\r\n const permissionsNotAccepted = !this.hasAcceptedPermissions();\r\n\r\n // Determine if the permission needs to be retriggered based on the displayed count and the next trigger time.\r\n const shouldRetriggerPermission = retriggerPermission.displayedCount === 0\r\n || (retriggerPermission.displayedCount < 2 && retriggerPermission.nextPermissionTriggerTime < now);\r\n\r\n // Ensure the popup hasn't been dismissed by the user.\r\n const popupNotDismissed = !this.hasDismissedPopup();\r\n\r\n // Combine all conditions.\r\n return permissionsNotAccepted && shouldRetriggerPermission && popupNotDismissed;\r\n };\r\n this.startDelay = () => {\r\n setTimeout(() => {\r\n this.hasBeenDelayed(true);\r\n m.redraw();\r\n }, delay * 1000);\r\n\r\n };\r\n\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/LuckySpinApi',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest',\r\n ],\r\n function (ApiRequest) {\r\n\r\n // Variables:\r\n var url = '/DLI/scapi/livecasino/luckynumber';\r\n\r\n function set(luckyNumbers) {\r\n return ApiRequest({\r\n url: url,\r\n method: 'POST',\r\n data: {\r\n luckyNumbers\r\n }\r\n });\r\n }\r\n\r\n function get() {\r\n return ApiRequest({\r\n url: url,\r\n method: 'GET',\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n }\r\n\r\n function getPermissions() {\r\n return ApiRequest({\r\n url: '/dli/scapi/json/consent/getpermissions',\r\n method: 'GET'\r\n });\r\n }\r\n\r\n function setPermissions() {\r\n return ApiRequest({\r\n method: 'GET',\r\n url: '/dli/scapi/json/consent/acceptpermissions',\r\n extract: function (xhr) {\r\n return xhr.status;\r\n }\r\n });\r\n }\r\n\r\n function getWinningNumber() {\r\n return ApiRequest({\r\n method: 'GET',\r\n url: url + '/winner',\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n }\r\n\r\n // Public functions:\r\n return {\r\n set,\r\n get,\r\n getPermissions,\r\n setPermissions,\r\n getWinningNumber,\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/LuckySpinSpinner', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n],\r\nfunction (m) {\r\n return function () {\r\n return m('.lucky-spin__poker-chip-outher-container', [\r\n m('.lucky-spin__poker-chip-container.rotate-animation', [\r\n m('span.lucky-spin__poker-chip-end-face.top-face', [\r\n m('span.inner-end-face')\r\n ]),\r\n (function () {\r\n var spans = [];\r\n\r\n for (var i = 0; i < 64; i++) {\r\n spans.push(m('span.lucky-spin__poker-chip-side-face'));\r\n }\r\n\r\n return spans;\r\n })(),\r\n m('span.lucky-spin__poker-chip-end-face.bottom-face',\r\n m('span.inner-end-face'))\r\n ])\r\n ]);\r\n };\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/LuckySpinLoadingScreen', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/LuckySpinSpinner'\r\n],\r\nfunction (m, Spinner) {\r\n return function (loadingTexts, ignoreUpdateAction, loadingTimeBegin) {\r\n var showTextAndCta = (loadingTimeBegin + (loadingTexts.timeoutInSeconds * 1000)) - Date.now() < 0;\r\n return m('.lucky-spin__loading', [\r\n m('.lucky-spin__loading-spinner-wrapper', Spinner()),\r\n m('.lucky-spin__loading-header', showTextAndCta ? loadingTexts.header : loadingTexts.headerBeforeTimeout),\r\n showTextAndCta ? m('.lucky-spin__loading-text', m.trust(loadingTexts.text)) : null,\r\n showTextAndCta ? m('.lucky-spin__loading-cta', {\r\n onclick: function () {\r\n location.reload();\r\n }\r\n }, loadingTexts.ctaText) : null\r\n ]);\r\n };\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/LottiePlayer', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Common/Framework/ScriptLibraries/Scripts/LottiePlayer',\r\n], (m) => {\r\n return ({ src, cssClass = '', speed = 1, controls = false, autoplay = true, count = 1 }) => {\r\n const useLottieFile = customElements.get('lottie-player') && !!src;\r\n if (!useLottieFile) return null;\r\n\r\n const loop = count > 1;\r\n const onLottieRendered = (element) => {\r\n if (typeof element.play === 'function') {\r\n // we need to use setTimeout in order to wait for the element to be shown before triggering play()\r\n setTimeout(() => element.play, 0);\r\n }\r\n };\r\n\r\n return m('lottie-player', {\r\n config: onLottieRendered,\r\n class: cssClass,\r\n src,\r\n speed,\r\n count,\r\n loop,\r\n controls,\r\n autoplay\r\n });\r\n };\r\n});\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Components/LuckySpinPermissionPopup',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/LottiePlayer',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/LuckySpinApi',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/LuckySpinSpinner'\r\n ], function (m, Ensighten, Render, LottiePlayer, Api, Spinner) {\r\n const render = Render();\r\n return {\r\n controller: function (model) {\r\n const lottieJson = '{\"v\":\"4.8.0\",\"meta\":{\"g\":\"LottieFiles AE 1.0.0\",\"a\":\"\",\"k\":\"\",\"d\":\"\",\"tc\":\"\"},\"fr\":30,\"ip\":0,\"op\":210,\"w\":500,\"h\":250,\"nm\":\"PAPERPLANE_final\",\"ddd\":0,\"assets\":[],\"layers\":[{\"ddd\":0,\"ind\":1,\"ty\":4,\"nm\":\"paperplane1 Outlines\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":34,\"ix\":10},\"p\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.25,\"y\":0.84},\"o\":{\"x\":0.195,\"y\":0},\"t\":0,\"s\":[-70,94,0],\"to\":[218,236,0],\"ti\":[182.532,1.707,0]},{\"i\":{\"x\":0.979,\"y\":1},\"o\":{\"x\":0.638,\"y\":0.149},\"t\":30,\"s\":[209.999,54,0],\"to\":[-203.999,14,0],\"ti\":[-194,226,0]},{\"t\":60,\"s\":[390,108,0]}],\"ix\":2},\"a\":{\"a\":0,\"k\":[250,250,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[61.942,61.942,100],\"ix\":6}},\"ao\":1,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"t\":0,\"s\":[{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-70.008,24.897],[-45.902,55.865],[-53.812,24.76],[63.76,-50.985]],\"c\":true}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"t\":21,\"s\":[{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-53.208,5.668],[-81.353,26.253],[-47.367,20.775],[63.76,-50.985]],\"c\":true}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"t\":47,\"s\":[{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-66.582,20.06],[-53.953,51.981],[-51.177,22.869],[63.76,-50.985]],\"c\":true}]},{\"t\":60,\"s\":[{\"i\":[[0,0],[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0],[0,0]],\"v\":[[-63.76,11.741],[-63.74,50.985],[-50.89,21.575],[63.76,-50.985]],\"c\":true}]}],\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.923967787799,0.923964257334,0.923968266506,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"bm\":0,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[271.731,258.941],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 1\",\"np\":2,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"t\":0,\"s\":[{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-3.955,-11.52],[3.955,19.585],[14.47,-12.126]],\"c\":true}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"t\":21,\"s\":[{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[2.49,-15.505],[-31.496,-10.027],[9.555,1.522]],\"c\":true}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"t\":47,\"s\":[{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-1.32,-13.411],[-4.096,15.701],[16.285,-10.642]],\"c\":true}]},{\"t\":60,\"s\":[{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-1.033,-14.705],[-13.883,14.705],[13.883,-3.873]],\"c\":true}]}],\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[0.765237307081,0.765234554515,0.765237785788,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"bm\":0,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[221.873,295.221],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 2\",\"np\":2,\"cix\":2,\"bm\":0,\"ix\":2,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"t\":0,\"s\":[{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-60.247,16.704],[57.326,-59.04],[17.188,14.154]],\"c\":true}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"t\":21,\"s\":[{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-53.802,12.719],[57.326,-59.04],[-26.704,65.204]],\"c\":true}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"t\":47,\"s\":[{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-57.612,14.814],[57.326,-59.04],[11.828,21.921]],\"c\":true}]},{\"t\":60,\"s\":[{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-57.325,13.52],[57.326,-59.04],[5.368,59.041]],\"c\":true}]}],\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[1,0.999998863071,1,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"bm\":0,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[278.165,266.996],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 3\",\"np\":2,\"cix\":2,\"bm\":0,\"ix\":3,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"t\":0,\"s\":[{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-97.311,52.263],[-48.278,44.519],[85.491,-31.363]],\"c\":true}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"t\":21,\"s\":[{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-56.017,-17.862],[-31.478,25.289],[85.491,-31.363]],\"c\":true}]},{\"i\":{\"x\":0.833,\"y\":0.833},\"o\":{\"x\":0.167,\"y\":0.167},\"t\":47,\"s\":[{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-92.816,38.137],[-44.851,39.683],[85.491,-31.363]],\"c\":true}]},{\"t\":60,\"s\":[{\"i\":[[0,0],[0,0],[0,0]],\"o\":[[0,0],[0,0],[0,0]],\"v\":[[-85.491,7.376],[-42.03,31.363],[85.491,-31.363]],\"c\":true}]}],\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"fl\",\"c\":{\"a\":0,\"k\":[1,0.999998863071,1,1],\"ix\":4},\"o\":{\"a\":0,\"k\":100,\"ix\":5},\"r\":1,\"bm\":0,\"nm\":\"Fill 1\",\"mn\":\"ADBE Vector Graphic - Fill\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[250,239.319],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Group 4\",\"np\":2,\"cix\":2,\"bm\":0,\"ix\":4,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":0,\"op\":211,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":2,\"ty\":4,\"nm\":\"Shape Layer 1\",\"sr\":1,\"ks\":{\"o\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.833],\"y\":[0.833]},\"o\":{\"x\":[0.167],\"y\":[0.167]},\"t\":0,\"s\":[100]},{\"t\":63,\"s\":[41]}],\"ix\":11},\"r\":{\"a\":0,\"k\":0,\"ix\":10},\"p\":{\"a\":0,\"k\":[250,125,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[-146.138,-147.864],[152.809,3.068],[-152,302]],\"o\":[[254,257],[-248.999,-5],[134.212,-266.658]],\"v\":[[-320,-31],[-22.001,-81],[152,-29]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":0,\"s\":[0]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":27,\"s\":[43.465]},{\"i\":{\"x\":[0.667],\"y\":[0.411]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":41,\"s\":[54.926]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0.267]},\"t\":49,\"s\":[63.366]},{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":54,\"s\":[75]},{\"t\":61,\"s\":[91]}],\"ix\":1},\"e\":{\"a\":0,\"k\":0,\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[1,1,1,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":5,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"d\":[{\"n\":\"d\",\"nm\":\"dash\",\"v\":{\"a\":0,\"k\":0,\"ix\":1}},{\"n\":\"g\",\"nm\":\"gap\",\"v\":{\"a\":0,\"k\":10,\"ix\":2}},{\"n\":\"o\",\"nm\":\"offset\",\"v\":{\"a\":0,\"k\":0,\"ix\":7}}],\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":-0.144,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 2\",\"np\":4,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false}],\"ip\":0,\"op\":211,\"st\":0,\"bm\":0}],\"markers\":[]}';\r\n const waitingForEloqua = m.prop(false);\r\n const successfullySentPermissions = m.prop(false);\r\n const permissionsSent = m.prop(false);\r\n\r\n render.ready.then(() => {\r\n document.querySelector('.lucky-spin').classList.add('lucky-spin--overlay');\r\n Ensighten.pushVirtualPage('marketing_permission', 'livecasino/spil/lykkespinnet/marketing_permission');\r\n model.isDisplaying(true);\r\n model.updateDisplayCount();\r\n });\r\n\r\n const onPermissionAccept = () => {\r\n permissionsSent(true);\r\n waitingForEloqua(true);\r\n Api.setPermissions().then((status) => {\r\n waitingForEloqua(false);\r\n successfullySentPermissions(status === 200);\r\n m.redraw();\r\n setTimeout(() => {\r\n onPermissionClose();\r\n }, model.closeConfirmationOverlayDelay * 1000);\r\n }).catch((e) => console.error(e));\r\n };\r\n\r\n const onPermissionClose = () => {\r\n model.isDisplaying(false);\r\n model.hasDismissedPopup(true);\r\n document.querySelector('.lucky-spin').classList.remove('lucky-spin--overlay');\r\n\r\n m.redraw();\r\n };\r\n\r\n const clickOutsideHandler = (ev) => {\r\n const clickedElement = ev.target;\r\n // \"--overlay\" is only active when permission popup is shown\r\n if (clickedElement.classList.contains('lucky-spin--overlay')) {\r\n Ensighten.pushGaEvent('permission', 'popup_closed_outside', 'livecasino');\r\n document.removeEventListener('click', clickOutsideHandler);\r\n onPermissionClose();\r\n }\r\n };\r\n\r\n document.addEventListener('click', clickOutsideHandler);\r\n\r\n model.startDelay();\r\n\r\n return {\r\n lottieJson,\r\n onPermissionAccept,\r\n onPermissionClose,\r\n model,\r\n waitingForEloqua,\r\n successfullySentPermissions,\r\n permissionsSent\r\n };\r\n },\r\n\r\n view: function ({\r\n lottieJson,\r\n onPermissionAccept,\r\n onPermissionClose,\r\n model,\r\n waitingForEloqua,\r\n successfullySentPermissions,\r\n permissionsSent\r\n }) {\r\n const { header, subAnimationText, permissionText, confirm, reject, hasBeenDelayed, successText, errorText, closeConfirmationOverlayCta } = model;\r\n\r\n if (waitingForEloqua()) {\r\n return m('.lucky-spin__permission', m('.lucky-spin__permission-spinner-wrapper', Spinner()));\r\n }\r\n\r\n if (permissionsSent()) {\r\n return m('.lucky-spin__permission', [\r\n m('.lucky-spin__permission-close', {\r\n onclick: function () {\r\n onPermissionClose();\r\n }.bind(this)\r\n }, 'X'),\r\n m('.lucky-spin__permission-header.lucky-spin__permission-header--large', successfullySentPermissions() ? successText : errorText),\r\n m('.lucky-spin__permission-button-wrapper', [\r\n m('.lucky-spin__permission-button.lucky-spin__permission-button--secondary', {\r\n onclick: function () {\r\n onPermissionClose();\r\n }\r\n }, closeConfirmationOverlayCta),\r\n ])\r\n ]);\r\n }\r\n\r\n if (!hasBeenDelayed()) {\r\n return m('div');\r\n }\r\n\r\n return m('.lucky-spin__permission', {\r\n config: render.depend('permissionPopup')\r\n }, [\r\n m('.lucky-spin__permission-close', {\r\n onclick: function () {\r\n Ensighten.pushGaEvent('permission', 'popup_closed_cross', 'livecasino');\r\n onPermissionClose();\r\n }.bind(this)\r\n }, 'X'),\r\n m('.lucky-spin__permission-header', header),\r\n LottiePlayer({ src: lottieJson, cssClass: 'lucky-spin__permission-lottie' }),\r\n m('.lucky-spin__permission-sub-animation', subAnimationText),\r\n m('.lucky-spin__permission-text', m.trust(permissionText)),\r\n m('.lucky-spin__permission-button-wrapper', [\r\n m('.lucky-spin__permission-button.lucky-spin__permission-button--secondary', {\r\n onclick: function () {\r\n Ensighten.pushGaEvent('permission', 'popup_closed_no', 'livecasino');\r\n onPermissionClose();\r\n }\r\n }, reject),\r\n m('.lucky-spin__permission-button.lucky-spin__permission-button--primary', {\r\n onclick: function () {\r\n Ensighten.pushGaEvent('permission', 'popup_closed_yes', 'livecasino');\r\n onPermissionAccept();\r\n }\r\n }, confirm),\r\n ]),\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Components/LuckySpinLobby',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginController',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/LuckySpinLoadingScreen',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Components/LuckySpinPermissionPopup',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/LuckySpinLobbyContent'\r\n ], function (m, LoginController, Ensighten, LoadingScreen, PermissionPopup, Content) {\r\n\r\n return {\r\n controller: function (args) {\r\n // Variables\r\n\r\n const {\r\n lobby,\r\n drawTime,\r\n numberCookie,\r\n getGameState,\r\n constants,\r\n getNumberColor,\r\n isLoading,\r\n isLoggedIn,\r\n loadingTimeBegin,\r\n registerNumber,\r\n loadingTexts,\r\n winningNumbers,\r\n chipCount,\r\n streamLink,\r\n } = args;\r\n\r\n const numberAlreadyExists = () => m.route.param('numberAlreadyChosen') === 'already-chosen';\r\n let videoAdded = false;\r\n let streamPlayer = null;\r\n let isTracked = false;\r\n\r\n // Functions\r\n const streamIsRendered = () => {\r\n const video = document.querySelector('#lykkespin-stream');\r\n\r\n if (!videoAdded) {\r\n include('https://cdn.jsdelivr.net/npm/hls.js@1', () => {\r\n if (window.Hls.isSupported()) {\r\n streamPlayer = new window.Hls({});\r\n streamPlayer.loadSource(streamLink);\r\n streamPlayer.attachMedia(video);\r\n videoAdded = true;\r\n } else if (video.canPlayType('application/vnd.apple.mpegurl')) {\r\n video.src = streamLink;\r\n videoAdded = true;\r\n }\r\n });\r\n }\r\n };\r\n\r\n const handleGameOpenCtaClick = () => {\r\n Ensighten.pushGaEvent('quiz', 'start', 'lykkespin');\r\n\r\n const route = numberCookie()?.valid ? '/' : '/table';\r\n m.route(route);\r\n };\r\n\r\n const pushVirtualPage = (name) => {\r\n !isTracked ? Ensighten.pushVirtualPage(name, 'livecasino/spil/lykkespinnet/' + name) : null;\r\n isTracked = true;\r\n };\r\n\r\n const onPageRendered = (ignoreElement, isInit) => {\r\n if (!isInit) {\r\n var loginText = document.querySelector('.lucky-spin__lobby-content-text span.login-text');\r\n if (loginText) {\r\n loginText.addEventListener('click', function () {\r\n LoginController.openLogin();\r\n });\r\n }\r\n }\r\n };\r\n\r\n return {\r\n ...args,\r\n LoadingScreen,\r\n numberCookie,\r\n streamIsRendered,\r\n onPageRendered,\r\n numberAlreadyExists,\r\n getGameState,\r\n isLoading,\r\n constants,\r\n lobby,\r\n loadingTexts,\r\n registerNumber,\r\n pushVirtualPage,\r\n getNumberColor,\r\n winningNumbers,\r\n chipCount,\r\n handleGameOpenCtaClick,\r\n loadingTimeBegin,\r\n drawTime,\r\n isLoggedIn,\r\n streamLink,\r\n };\r\n },\r\n\r\n view: function (controller, { permissionModel }) {\r\n const {\r\n LoadingScreen,\r\n streamIsRendered,\r\n numberCookie,\r\n onPageRendered,\r\n getGameState,\r\n isLoading,\r\n constants,\r\n numberAlreadyExists,\r\n lobby,\r\n loadingTexts,\r\n registerNumber,\r\n loadingTimeBegin,\r\n drawTime,\r\n isLoggedIn,\r\n } = controller;\r\n if (isLoading()) {\r\n return LoadingScreen(loadingTexts, registerNumber, loadingTimeBegin());\r\n }\r\n\r\n const gameState = getGameState();\r\n\r\n return m('.lucky-spin__lobby', {\r\n config: onPageRendered,\r\n class:\r\n 'lucky-spin__lobby--is-' + (gameState === constants.OPEN ? 'open' : gameState === constants.CLOSED ? 'closed' : 'ended')\r\n }, [\r\n permissionModel.show() && isLoggedIn() && numberCookie()?.valid ? m(PermissionPopup, permissionModel) : null,\r\n m('.lucky-spin__lobby-player', {\r\n config: streamIsRendered\r\n }, [\r\n m('.lucky-spin__lobby-player-overlay', lobby.open.streamOverlayText.replace('{DRAW}', drawTime.split(':')[0])),\r\n m('video.lucky-spin__lobby-vid[playsinline][autoplay]', {\r\n id: 'lykkespin-stream',\r\n controls: true,\r\n autoplay: true,\r\n muted: true\r\n })\r\n ]),\r\n (function () {\r\n if (gameState === constants.ENDED) {\r\n if (isLoggedIn()) {\r\n return Content.whenClosed(controller);\r\n } else {\r\n return Content.whenClosedAndNoNumber(controller);\r\n }\r\n }\r\n\r\n if (gameState === constants.CLOSED) {\r\n if (numberCookie()?.valid) {\r\n return Content.whenNumberChosen(controller);\r\n }\r\n if (isLoggedIn()) {\r\n if (numberCookie()?.valid) {\r\n return Content.whenNumberChosen(controller);\r\n } else {\r\n return Content.whenClosed(controller);\r\n }\r\n } else {\r\n return Content.whenClosedAndNotLoggedIn(controller);\r\n }\r\n }\r\n\r\n if (gameState === constants.OPEN) {\r\n if (numberAlreadyExists()) {\r\n return Content.whenOpenAndOtherNumberIsInEloqua(controller);\r\n }\r\n\r\n if (numberCookie()?.valid) {\r\n return Content.whenNumberChosen(controller);\r\n }\r\n\r\n return Content.whenOpenAndNoNumbers(controller);\r\n }\r\n })(),\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Components/LuckySpinResult',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/LottiePlayer',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/LuckySpinLobbyContent'\r\n ], function (m, Ensighten, LottiePlayer, Content) {\r\n return {\r\n controller: function (args) {\r\n const numberCookie = args.numberCookie;\r\n if (!numberCookie()?.valid) m.route('/');\r\n\r\n const result = args.result;\r\n const chosenNumbers = numberCookie().numbers;\r\n const winningNumber = args.winningNumbers[0].number;\r\n const campaignSpotDOM = args.campaignSpotDOM;\r\n const getNumberColor = args.getNumberColor;\r\n const fireworksLottieJson = '{\"v\":\"4.8.0\",\"meta\":{\"g\":\"LottieFiles AE 1.0.0\",\"a\":\"\",\"k\":\"\",\"d\":\"\",\"tc\":\"\"},\"fr\":30,\"ip\":0,\"op\":150,\"w\":500,\"h\":500,\"nm\":\"Fyrværkeri\",\"ddd\":0,\"assets\":[],\"layers\":[{\"ddd\":0,\"ind\":1,\"ty\":4,\"nm\":\"Pre-firework\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":0,\"ix\":10},\"p\":{\"a\":0,\"k\":[244,248,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[-30,52]],\"o\":[[0,0],[30,-52]],\"v\":[[-79,33],[1,17]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.768627464771,0.654901981354,0.427450984716,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":1,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":0,\"s\":[0]},{\"t\":17,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":1,\"s\":[35]},{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.167],\"y\":[0]},\"t\":12,\"s\":[99]},{\"t\":17,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":2,\"ty\":4,\"nm\":\"big boom\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":54,\"ix\":10},\"p\":{\"a\":1,\"k\":[{\"i\":{\"x\":0.667,\"y\":1},\"o\":{\"x\":0.333,\"y\":0},\"t\":21,\"s\":[255,263,0],\"to\":[1.866,-1.711,0],\"ti\":[-2.565,2.351,0]},{\"t\":45,\"s\":[275.522,239.438,0]}],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,1]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0]},\"t\":20,\"s\":[30,30,100]},{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,1]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0]},\"t\":42,\"s\":[185.462,185.462,100]},{\"t\":46,\"s\":[209,209,100]}],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0]],\"o\":[[0,0],[0,0]],\"v\":[[-3,-4],[-3,-49]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.768627464771,0.654901981354,0.427450984716,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":20,\"s\":[0]},{\"t\":33,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":27,\"s\":[0]},{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":35,\"s\":[78]},{\"t\":46,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"rp\",\"c\":{\"a\":0,\"k\":11,\"ix\":1},\"o\":{\"a\":0,\"k\":0,\"ix\":2},\"m\":1,\"ix\":3,\"tr\":{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,16],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":65,\"ix\":4},\"so\":{\"a\":0,\"k\":100,\"ix\":5},\"eo\":{\"a\":0,\"k\":100,\"ix\":6},\"nm\":\"Transform\"},\"nm\":\"Repeater 1\",\"mn\":\"ADBE Vector Filter - Repeater\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":3,\"ty\":4,\"nm\":\"small boom\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":0,\"ix\":10},\"p\":{\"a\":0,\"k\":[250,250,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0]],\"o\":[[0,0],[0,0]],\"v\":[[-3,-4],[-3,-49]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.92549020052,0.86274510622,0.658823549747,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":20,\"s\":[0]},{\"t\":45,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":27,\"s\":[0]},{\"t\":47,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"rp\",\"c\":{\"a\":0,\"k\":11,\"ix\":1},\"o\":{\"a\":0,\"k\":0,\"ix\":2},\"m\":1,\"ix\":3,\"tr\":{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,16],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":65,\"ix\":4},\"so\":{\"a\":0,\"k\":100,\"ix\":5},\"eo\":{\"a\":0,\"k\":100,\"ix\":6},\"nm\":\"Transform\"},\"nm\":\"Repeater 1\",\"mn\":\"ADBE Vector Filter - Repeater\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":4,\"ty\":4,\"nm\":\"single 2\",\"sr\":1,\"ks\":{\"o\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":52,\"s\":[100]},{\"t\":67,\"s\":[40]}],\"ix\":11},\"r\":{\"a\":0,\"k\":-74.302,\"ix\":10},\"p\":{\"a\":0,\"k\":[102,133,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,1]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0]},\"t\":87,\"s\":[100,100,100]},{\"t\":111,\"s\":[145,145,100]}],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0]],\"o\":[[0,0],[0,0]],\"v\":[[-3,-4],[-3,-49]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.835294127464,0.749019622803,0.521568655968,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":40,\"s\":[0]},{\"t\":52,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":44,\"s\":[0]},{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.167],\"y\":[0]},\"t\":60,\"s\":[95]},{\"t\":68,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"rp\",\"c\":{\"a\":0,\"k\":11,\"ix\":1},\"o\":{\"a\":0,\"k\":0,\"ix\":2},\"m\":1,\"ix\":3,\"tr\":{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,16],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":65,\"ix\":4},\"so\":{\"a\":0,\"k\":100,\"ix\":5},\"eo\":{\"a\":0,\"k\":100,\"ix\":6},\"nm\":\"Transform\"},\"nm\":\"Repeater 1\",\"mn\":\"ADBE Vector Filter - Repeater\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":5,\"ty\":4,\"nm\":\"single 4\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-74.302,\"ix\":10},\"p\":{\"a\":0,\"k\":[106,135,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[64,64,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0]],\"o\":[[0,0],[0,0]],\"v\":[[-3,-4],[-3,-49]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.835294127464,0.749019622803,0.521568655968,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":40,\"s\":[0]},{\"t\":65,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":44,\"s\":[0]},{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.167],\"y\":[0]},\"t\":73,\"s\":[95]},{\"t\":77,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"rp\",\"c\":{\"a\":0,\"k\":11,\"ix\":1},\"o\":{\"a\":0,\"k\":0,\"ix\":2},\"m\":1,\"ix\":3,\"tr\":{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,16],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":65,\"ix\":4},\"so\":{\"a\":0,\"k\":100,\"ix\":5},\"eo\":{\"a\":0,\"k\":100,\"ix\":6},\"nm\":\"Transform\"},\"nm\":\"Repeater 1\",\"mn\":\"ADBE Vector Filter - Repeater\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":6,\"ty\":4,\"nm\":\"single 6\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-74.302,\"ix\":10},\"p\":{\"a\":0,\"k\":[298,381,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,1]},\"o\":{\"x\":[0.167,0.167,0.167],\"y\":[0,0,0]},\"t\":88,\"s\":[144,144,100]},{\"t\":123,\"s\":[149,149,100]}],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0]],\"o\":[[0,0],[0,0]],\"v\":[[-3,-4],[-3,-49]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.890196084976,0.815686285496,0.588235318661,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":93,\"s\":[0]},{\"t\":102,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":95,\"s\":[0]},{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.167],\"y\":[0]},\"t\":104,\"s\":[95]},{\"t\":114,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"rp\",\"c\":{\"a\":0,\"k\":11,\"ix\":1},\"o\":{\"a\":0,\"k\":0,\"ix\":2},\"m\":1,\"ix\":3,\"tr\":{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,16],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":65,\"ix\":4},\"so\":{\"a\":0,\"k\":100,\"ix\":5},\"eo\":{\"a\":0,\"k\":100,\"ix\":6},\"nm\":\"Transform\"},\"nm\":\"Repeater 1\",\"mn\":\"ADBE Vector Filter - Repeater\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":7,\"ty\":4,\"nm\":\"single 5\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-74.302,\"ix\":10},\"p\":{\"a\":0,\"k\":[122,332,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,1]},\"o\":{\"x\":[0.167,0.167,0.167],\"y\":[0,0,0]},\"t\":52,\"s\":[144,144,100]},{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,1]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0]},\"t\":87,\"s\":[100,100,100]},{\"t\":111,\"s\":[145,145,100]}],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0]],\"o\":[[0,0],[0,0]],\"v\":[[-3,-4],[-3,-49]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.890196084976,0.815686285496,0.588235318661,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":40,\"s\":[0]},{\"t\":49,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":42,\"s\":[0]},{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.167],\"y\":[0]},\"t\":51,\"s\":[95]},{\"t\":66,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"rp\",\"c\":{\"a\":0,\"k\":11,\"ix\":1},\"o\":{\"a\":0,\"k\":0,\"ix\":2},\"m\":1,\"ix\":3,\"tr\":{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,16],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":65,\"ix\":4},\"so\":{\"a\":0,\"k\":100,\"ix\":5},\"eo\":{\"a\":0,\"k\":100,\"ix\":6},\"nm\":\"Transform\"},\"nm\":\"Repeater 1\",\"mn\":\"ADBE Vector Filter - Repeater\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":8,\"ty\":4,\"nm\":\"single 3\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-74.302,\"ix\":10},\"p\":{\"a\":0,\"k\":[399,296,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,1]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0]},\"t\":87,\"s\":[100,100,100]},{\"t\":111,\"s\":[145,145,100]}],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0]],\"o\":[[0,0],[0,0]],\"v\":[[-3,-4],[-3,-49]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.768627464771,0.654901981354,0.427450984716,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":40,\"s\":[0]},{\"t\":49,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":44,\"s\":[0]},{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.167],\"y\":[0]},\"t\":57,\"s\":[95]},{\"t\":64,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"rp\",\"c\":{\"a\":0,\"k\":11,\"ix\":1},\"o\":{\"a\":0,\"k\":0,\"ix\":2},\"m\":1,\"ix\":3,\"tr\":{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,16],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":65,\"ix\":4},\"so\":{\"a\":0,\"k\":100,\"ix\":5},\"eo\":{\"a\":0,\"k\":100,\"ix\":6},\"nm\":\"Transform\"},\"nm\":\"Repeater 1\",\"mn\":\"ADBE Vector Filter - Repeater\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":9,\"ty\":4,\"nm\":\"Pre-firework 2\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":0,\"ix\":10},\"p\":{\"a\":0,\"k\":[369,209,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[-30,52]],\"o\":[[0,0],[30,-52]],\"v\":[[-79,33],[1,17]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.768627464771,0.654901981354,0.427450984716,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":1,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":67,\"s\":[0]},{\"t\":84,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":67,\"s\":[0]},{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.167],\"y\":[0]},\"t\":79,\"s\":[99]},{\"t\":84,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":10,\"ty\":4,\"nm\":\"Pre-firework 3\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":0,\"ix\":10},\"p\":{\"a\":0,\"k\":[162,221,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[-100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[-30,52]],\"o\":[[0,0],[30,-52]],\"v\":[[-79,33],[1,17]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.768627464771,0.654901981354,0.427450984716,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":1,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":67,\"s\":[0]},{\"t\":84,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":67,\"s\":[0]},{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.167],\"y\":[0]},\"t\":79,\"s\":[99]},{\"t\":84,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":11,\"ty\":4,\"nm\":\"big final single\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-74.302,\"ix\":10},\"p\":{\"a\":0,\"k\":[352,122,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[139.954,139.954,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0]],\"o\":[[0,0],[0,0]],\"v\":[[-3,-4],[-3,-49]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.890196084976,0.815686285496,0.588235318661,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":107,\"s\":[0]},{\"t\":114,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":111,\"s\":[0]},{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.167],\"y\":[0]},\"t\":122,\"s\":[95]},{\"t\":130,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"rp\",\"c\":{\"a\":0,\"k\":11,\"ix\":1},\"o\":{\"a\":0,\"k\":0,\"ix\":2},\"m\":1,\"ix\":3,\"tr\":{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,16],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":65,\"ix\":4},\"so\":{\"a\":0,\"k\":100,\"ix\":5},\"eo\":{\"a\":0,\"k\":100,\"ix\":6},\"nm\":\"Transform\"},\"nm\":\"Repeater 1\",\"mn\":\"ADBE Vector Filter - Repeater\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":12,\"ty\":4,\"nm\":\"big final single 2\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-74.302,\"ix\":10},\"p\":{\"a\":0,\"k\":[140,265,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,1]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0]},\"t\":120,\"s\":[70,70,100]},{\"t\":144,\"s\":[70,70,100]}],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0]],\"o\":[[0,0],[0,0]],\"v\":[[-3,-4],[-3,-49]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.768627464771,0.654901981354,0.427450984716,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":120,\"s\":[0]},{\"t\":130,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":124,\"s\":[0]},{\"i\":{\"x\":[0.833],\"y\":[1]},\"o\":{\"x\":[0.167],\"y\":[0]},\"t\":138,\"s\":[95]},{\"t\":146,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"rp\",\"c\":{\"a\":0,\"k\":11,\"ix\":1},\"o\":{\"a\":0,\"k\":0,\"ix\":2},\"m\":1,\"ix\":3,\"tr\":{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,16],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":65,\"ix\":4},\"so\":{\"a\":0,\"k\":100,\"ix\":5},\"eo\":{\"a\":0,\"k\":100,\"ix\":6},\"nm\":\"Transform\"},\"nm\":\"Repeater 1\",\"mn\":\"ADBE Vector Filter - Repeater\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":13,\"ty\":4,\"nm\":\"big boom 3\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-74.302,\"ix\":10},\"p\":{\"a\":0,\"k\":[148,233,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,1]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0]},\"t\":87,\"s\":[100,100,100]},{\"t\":111,\"s\":[145,145,100]}],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0]],\"o\":[[0,0],[0,0]],\"v\":[[-3,-4],[-3,-49]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.768627464771,0.654901981354,0.427450984716,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":90,\"s\":[0]},{\"t\":115,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":94,\"s\":[0]},{\"t\":119,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"rp\",\"c\":{\"a\":0,\"k\":11,\"ix\":1},\"o\":{\"a\":0,\"k\":0,\"ix\":2},\"m\":1,\"ix\":3,\"tr\":{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,16],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":65,\"ix\":4},\"so\":{\"a\":0,\"k\":100,\"ix\":5},\"eo\":{\"a\":0,\"k\":100,\"ix\":6},\"nm\":\"Transform\"},\"nm\":\"Repeater 1\",\"mn\":\"ADBE Vector Filter - Repeater\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":14,\"ty\":4,\"nm\":\"big boom 2\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":-74.302,\"ix\":10},\"p\":{\"a\":0,\"k\":[148,233,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667,0.667,0.667],\"y\":[1,1,1]},\"o\":{\"x\":[0.333,0.333,0.333],\"y\":[0,0,0]},\"t\":87,\"s\":[100,100,100]},{\"t\":111,\"s\":[150,150,100]}],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0]],\"o\":[[0,0],[0,0]],\"v\":[[-3,-4],[-3,-49]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.768627464771,0.654901981354,0.427450984716,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":86,\"s\":[0]},{\"t\":111,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":87,\"s\":[0]},{\"t\":112,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"rp\",\"c\":{\"a\":0,\"k\":11,\"ix\":1},\"o\":{\"a\":0,\"k\":0,\"ix\":2},\"m\":1,\"ix\":3,\"tr\":{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,16],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":65,\"ix\":4},\"so\":{\"a\":0,\"k\":100,\"ix\":5},\"eo\":{\"a\":0,\"k\":100,\"ix\":6},\"nm\":\"Transform\"},\"nm\":\"Repeater 1\",\"mn\":\"ADBE Vector Filter - Repeater\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0},{\"ddd\":0,\"ind\":15,\"ty\":4,\"nm\":\"boom 3\",\"sr\":1,\"ks\":{\"o\":{\"a\":0,\"k\":100,\"ix\":11},\"r\":{\"a\":0,\"k\":0,\"ix\":10},\"p\":{\"a\":0,\"k\":[374,209,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100,100],\"ix\":6}},\"ao\":0,\"shapes\":[{\"ty\":\"gr\",\"it\":[{\"ind\":0,\"ty\":\"sh\",\"ix\":1,\"ks\":{\"a\":0,\"k\":{\"i\":[[0,0],[0,0]],\"o\":[[0,0],[0,0]],\"v\":[[-3,-4],[-3,-49]],\"c\":false},\"ix\":2},\"nm\":\"Path 1\",\"mn\":\"ADBE Vector Shape - Group\",\"hd\":false},{\"ty\":\"st\",\"c\":{\"a\":0,\"k\":[0.890196084976,0.815686285496,0.588235318661,1],\"ix\":3},\"o\":{\"a\":0,\"k\":100,\"ix\":4},\"w\":{\"a\":0,\"k\":3,\"ix\":5},\"lc\":2,\"lj\":1,\"ml\":4,\"bm\":0,\"nm\":\"Stroke 1\",\"mn\":\"ADBE Vector Graphic - Stroke\",\"hd\":false},{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,0],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":0,\"ix\":6},\"o\":{\"a\":0,\"k\":100,\"ix\":7},\"sk\":{\"a\":0,\"k\":0,\"ix\":4},\"sa\":{\"a\":0,\"k\":0,\"ix\":5},\"nm\":\"Transform\"}],\"nm\":\"Shape 1\",\"np\":3,\"cix\":2,\"bm\":0,\"ix\":1,\"mn\":\"ADBE Vector Group\",\"hd\":false},{\"ty\":\"tm\",\"s\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":86,\"s\":[0]},{\"t\":98,\"s\":[100]}],\"ix\":1},\"e\":{\"a\":1,\"k\":[{\"i\":{\"x\":[0.667],\"y\":[1]},\"o\":{\"x\":[0.333],\"y\":[0]},\"t\":93,\"s\":[0]},{\"t\":100,\"s\":[100]}],\"ix\":2},\"o\":{\"a\":0,\"k\":0,\"ix\":3},\"m\":1,\"ix\":2,\"nm\":\"Trim Paths 1\",\"mn\":\"ADBE Vector Filter - Trim\",\"hd\":false},{\"ty\":\"rp\",\"c\":{\"a\":0,\"k\":11,\"ix\":1},\"o\":{\"a\":0,\"k\":0,\"ix\":2},\"m\":1,\"ix\":3,\"tr\":{\"ty\":\"tr\",\"p\":{\"a\":0,\"k\":[0,0],\"ix\":2},\"a\":{\"a\":0,\"k\":[0,16],\"ix\":1},\"s\":{\"a\":0,\"k\":[100,100],\"ix\":3},\"r\":{\"a\":0,\"k\":65,\"ix\":4},\"so\":{\"a\":0,\"k\":100,\"ix\":5},\"eo\":{\"a\":0,\"k\":100,\"ix\":6},\"nm\":\"Transform\"},\"nm\":\"Repeater 1\",\"mn\":\"ADBE Vector Filter - Repeater\",\"hd\":false}],\"ip\":0,\"op\":150,\"st\":0,\"bm\":0}],\"markers\":[]}';\r\n const didPlayerWin = () => {\r\n return chosenNumbers.some(function (number) {\r\n return number === winningNumber;\r\n });\r\n };\r\n\r\n Ensighten.pushVirtualPage((didPlayerWin() ? 'vinder' : 'ikke_vinder'), 'livecasino/spil/lykkespinnet/' + (didPlayerWin() ? 'vinder' : 'ikke_vinder'));\r\n\r\n return { ...args, fireworksLottieJson, result, didPlayerWin, chosenNumbers, getNumberColor, winningNumber, campaignSpotDOM };\r\n },\r\n\r\n view: function ({ fireworksLottieJson, result, didPlayerWin, chosenNumbers, getNumberColor, winningNumber, campaignSpot }) {\r\n\r\n return m('.lucky-spin__result', [\r\n didPlayerWin() ? LottiePlayer({ src: fireworksLottieJson, cssClass: 'lucky-spin__result-background-animation', count: 2 }) : null,\r\n m('.lucky-spin__result-header', didPlayerWin() ? result.headerWin : result.headerLost),\r\n m('.lucky-spin__result-text', m.trust(didPlayerWin() ? result.subHeaderWin.replace('{NUMBER}', chosenNumbers.join(', ')) : result.subHeaderLost.replace('{NUMBER}', chosenNumbers.join(', ')))),\r\n m('.lucky-spin__number.lucky-spin__number--border.lucky-spin__number--' + getNumberColor(winningNumber), winningNumber),\r\n m('.lucky-spin__result-text', didPlayerWin() ? m.trust(result.subNumberWin) : m.trust(result.subNumberLost)),\r\n Content.campaignSpotDOM(campaignSpot, true)\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/Components/LuckySpinTable',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Templates/LuckySpinLoadingScreen',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n ], function (m, LoggedInOrOut, LoadingScreen, Ensighten) {\r\n\r\n return {\r\n controller: function (args) {\r\n // Variables\r\n this.table = args.table;\r\n this.numberColorMapping = args.numberColorMapping;\r\n this.getNumberColor = args.getNumberColor;\r\n this.constants = args.constants;\r\n this.chosenNumbers = args.chosenNumbers;\r\n this.winningNumbers = args.winningNumbers;\r\n this.getGameState = args.getGameState;\r\n this.isMobile = args.isMobile;\r\n this.setNumberCookie = args.setNumberCookie;\r\n this.loadingScreenSettings = args.loadingScreenSettings;\r\n this.registerNumber = args.registerNumber;\r\n this.chipDragging = null;\r\n this.chips = [];\r\n this.chipMoveOrder = [];\r\n this.hasSubmitError = false;\r\n this.isLoading = args.isLoading;\r\n this.loadingTimeBegin = args.loadingTimeBegin;\r\n this.loadingScreen = LoadingScreen;\r\n this.showPermissionPopup = args.showPermissionPopup;\r\n this.showScrollTriggerUp = false;\r\n this.showScrollTriggerDown = true;\r\n this.isDragging = false;\r\n this.isLoggedIn = args.isLoggedIn;\r\n const numberCookie = args.numberCookie;\r\n let shouldScrollDown = false;\r\n let shouldScrollUp = false;\r\n let isScrolling = false;\r\n let multiplier = 1;\r\n\r\n Ensighten.pushVirtualPage('table', 'livecasino/spil/lykkespinnet/table');\r\n\r\n // *** Coin movement ***\r\n this.onStepRendered = function (ignoreElement, isInitialized) {\r\n if (!isInitialized) {\r\n // Init vars\r\n this.chips = document.querySelectorAll('.lucky-spin__table-chip');\r\n var chipPlaceholders = document.querySelectorAll('.lucky-spin__table-chip-placeholder');\r\n var tableWrapper = document.querySelector('.lucky-spin__table-wrapper');\r\n var tableHeader = document.querySelector('.lucky-spin__table-header');\r\n var chipStartingOffset = {\r\n x: tableHeader.getBoundingClientRect().x - tableWrapper.getBoundingClientRect().x - 12,\r\n y: tableHeader.getBoundingClientRect().y - tableWrapper.getBoundingClientRect().y - 10\r\n };\r\n\r\n this.chips.forEach(function (chip, index) {\r\n this.chipMoveOrder.push(index);\r\n var number = this.chosenNumbers[index];\r\n var numberElement = document.querySelector('.lucky-spin__number--' + number);\r\n snap({\r\n x: !numberElement ? chipPlaceholders[index].offsetLeft + chipStartingOffset.x : numberElement.offsetLeft,\r\n y: !numberElement ? chipPlaceholders[index].offsetTop + chipStartingOffset.y : numberElement.offsetTop,\r\n }, chip);\r\n }.bind(this));\r\n\r\n document.querySelectorAll('.lucky-spin__table-numbers-inner .lucky-spin__number').forEach(function (numberElement, number) {\r\n numberElement.addEventListener('click', function () {\r\n if (this.chosenNumbers.indexOf(number) > -1) return;\r\n\r\n var closestChipIndex = !isAllChipsPlaced() ? this.chipMoveOrder.shift() : this.findClosestChipIndex(numberElement);\r\n this.chosenNumbers[closestChipIndex] = number;\r\n\r\n snap({\r\n x: numberElement.offsetLeft + (this.isMobile() && number === 0 ? (numberElement.clientWidth / 2) - (this.chips[0].clientWidth / 2) : 0),\r\n y: numberElement.offsetTop + (!this.isMobile() && number === 0 ? (numberElement.clientHeight / 2) - (this.chips[0].clientHeight / 2) : 0)\r\n }, this.chips[closestChipIndex]);\r\n addToMoveOrder(closestChipIndex);\r\n this.hasSubmitError = false;\r\n }.bind(this));\r\n }.bind(this));\r\n\r\n this.chips.forEach(function (chip, index) {\r\n chip.addEventListener('touchstart', function () {\r\n this.chipDragging = index;\r\n this.isDragging = true;\r\n chip.style.transitionDuration = '0s';\r\n chip.style.zIndex = '10';\r\n }.bind(this));\r\n\r\n chip.addEventListener('touchend', function () {\r\n chip.style.transitionDuration = '0.2s';\r\n chip.style.zIndex = '0';\r\n this.isDragging = false;\r\n shouldScrollDown = false;\r\n shouldScrollUp = false;\r\n multiplier = 1;\r\n snapToClosest();\r\n }.bind(this));\r\n\r\n chip.addEventListener('mousedown', function () {\r\n this.chipDragging = index;\r\n this.isDragging = true;\r\n chip.style.transitionDuration = '0s';\r\n chip.style.zIndex = '10';\r\n }.bind(this));\r\n\r\n chip.addEventListener('mouseup', function () {\r\n chip.style.transitionDuration = '0.2s';\r\n chip.style.zIndex = '0';\r\n this.isDragging = false;\r\n shouldScrollDown = false;\r\n shouldScrollUp = false;\r\n snapToClosest(true);\r\n }.bind(this));\r\n }.bind(this));\r\n\r\n document.addEventListener('touchmove', function (event) {\r\n var chip = this.chips[this.chipDragging];\r\n if (chip && this.isDragging) {\r\n event.preventDefault();\r\n var latestTouch = event.touches[event.touches.length - 1];\r\n if (scrollUpOrDown(latestTouch) === 'down') {\r\n shouldScrollDown = true;\r\n } else if (scrollUpOrDown(latestTouch) === 'up') {\r\n shouldScrollUp = true;\r\n } else {\r\n shouldScrollUp = false;\r\n shouldScrollDown = false;\r\n }\r\n chip.style.left = (latestTouch.clientX - (chip.clientWidth / 2)) - tableWrapper.getBoundingClientRect().x + 'px';\r\n chip.style.top = (latestTouch.clientY - (chip.clientHeight / 2)) - tableWrapper.getBoundingClientRect().y + 'px';\r\n }\r\n }.bind(this), { passive: false });\r\n\r\n document.addEventListener('mousemove', function (event) {\r\n var chip = this.chips[this.chipDragging];\r\n if (chip && this.isDragging) {\r\n event.preventDefault();\r\n chip.style.left = (event.clientX - (chip.clientWidth / 2)) - tableWrapper.getBoundingClientRect().x + 'px';\r\n chip.style.top = (event.clientY - (chip.clientHeight / 2)) - tableWrapper.getBoundingClientRect().y + 'px';\r\n }\r\n }.bind(this), { passive: false });\r\n var lastKnownScrollPosition = window.scrollY;\r\n\r\n document.addEventListener('scroll', function () {\r\n var currentScrollPosition = window.scrollY;\r\n var scrollDownTrigger = document.querySelector('.lucky-spin__hidden-scroll-trigger--down');\r\n var scrollDownTriggerPosition = scrollDownTrigger.getBoundingClientRect();\r\n var scrollUpTrigger = document.querySelector('.lucky-spin__hidden-scroll-trigger--up');\r\n var scrollUpTriggerPosition = scrollUpTrigger.getBoundingClientRect();\r\n var globalFooterPosition = document.querySelector('footer.js-global-footer').getBoundingClientRect();\r\n var numberZeroPosition = document.querySelector('.lucky-spin__number--0').getBoundingClientRect();\r\n var numberZeroIsInViewPort = numberZeroPosition.top >= 115;\r\n var globalFooterIsInViewPort = globalFooterPosition.top <= window.innerHeight;\r\n\r\n this.showScrollTriggerUp = !numberZeroIsInViewPort;\r\n this.showScrollTriggerDown = !globalFooterIsInViewPort;\r\n\r\n if (!isScrolling) {\r\n window.requestAnimationFrame(function () {\r\n if (this.isDragging) {\r\n var chip = this.chips[this.chipDragging];\r\n var offsetBottom = (chip.getBoundingClientRect().y + (chip.getBoundingClientRect().height / 2)) - scrollDownTriggerPosition.y;\r\n var offsetTop = (chip.getBoundingClientRect().y + (chip.getBoundingClientRect().height / 2)) - scrollUpTriggerPosition.bottom;\r\n multiplier = Math.floor(((shouldScrollDown ? offsetBottom : offsetTop) / (shouldScrollDown ? scrollDownTriggerPosition.height : scrollUpTriggerPosition.height)) * 10);\r\n if (shouldScrollDown) {\r\n multiplier = multiplier < 1 ? 1 : multiplier;\r\n } else if (shouldScrollUp) {\r\n multiplier = multiplier > -1 ? -1 : multiplier;\r\n }\r\n\r\n chip.style.top = (parseInt(chip.style.top, 10) + (currentScrollPosition - lastKnownScrollPosition)) + 'px';\r\n }\r\n isScrolling = false;\r\n lastKnownScrollPosition = currentScrollPosition;\r\n }.bind(this));\r\n\r\n isScrolling = true;\r\n }\r\n }.bind(this));\r\n }\r\n }.bind(this);\r\n\r\n var snap = function (target, chip) {\r\n chip.style.left = target.x + 'px';\r\n chip.style.top = target.y + 'px';\r\n\r\n scrollToCtaIfAllChipsIsPlaced();\r\n };\r\n\r\n var scrollUpOrDown = function (latestTouch) {\r\n if (document.elementsFromPoint(latestTouch.clientX, latestTouch.clientY).some(function (element) {\r\n return element.classList[1] === 'lucky-spin__hidden-scroll-trigger--up';\r\n })) {\r\n return 'up';\r\n } else if (document.elementsFromPoint(latestTouch.clientX, latestTouch.clientY).some(function (element) {\r\n return element.classList[1] === 'lucky-spin__hidden-scroll-trigger--down';\r\n })) {\r\n return 'down';\r\n }\r\n\r\n return false;\r\n };\r\n\r\n setInterval(function () {\r\n if (this.isDragging && (shouldScrollDown || shouldScrollUp)) {\r\n window.scrollBy({\r\n top: multiplier,\r\n behavior: 'auto'\r\n });\r\n }\r\n }.bind(this), 10);\r\n\r\n this.findClosestChipIndex = function (number) {\r\n var numberPosition = {\r\n x: number.offsetLeft,\r\n y: number.offsetTop,\r\n };\r\n\r\n var closestChipIndex = null;\r\n var shortestDistance = Number.MAX_VALUE;\r\n this.chips.forEach(function (chip, index) {\r\n var chipPosition = {\r\n x: chip.offsetLeft,\r\n y: chip.offsetTop,\r\n };\r\n\r\n var distance = Math.sqrt(\r\n Math.pow(numberPosition.x - chipPosition.x, 2) +\r\n Math.pow(numberPosition.y - chipPosition.y, 2)\r\n );\r\n\r\n if (distance < shortestDistance) {\r\n shortestDistance = distance;\r\n closestChipIndex = index;\r\n }\r\n }.bind(this));\r\n\r\n return closestChipIndex;\r\n }.bind(this);\r\n\r\n var addToMoveOrder = function (n) {\r\n var exists = this.chipMoveOrder.indexOf(n);\r\n if (exists > -1) {\r\n this.chipMoveOrder.splice(exists, 1);\r\n }\r\n this.chipMoveOrder.push(n);\r\n }.bind(this);\r\n\r\n var snapToClosest = function (isDesktop) {\r\n var chip = this.chips[this.chipDragging];\r\n if (!chip) return;\r\n\r\n var chipCenter = {\r\n x: chip.offsetLeft + (chip.clientWidth / 2),\r\n y: chip.offsetTop + (chip.clientHeight / 2)\r\n };\r\n\r\n var closest;\r\n var shortestDistance = Number.MAX_VALUE;\r\n document.querySelectorAll('.lucky-spin__number.lucky-spin__number-table').forEach(function (number, index) {\r\n var numberCenter = {\r\n x: number.offsetLeft + (number.clientWidth / 2),\r\n y: number.offsetTop + (number.clientHeight / 2)\r\n };\r\n\r\n var distance = Math.sqrt(\r\n Math.pow(chipCenter.x - numberCenter.x, 2) +\r\n Math.pow(chipCenter.y - numberCenter.y, 2)\r\n );\r\n\r\n if (distance < shortestDistance\r\n && (this.chosenNumbers.every(function (c) {\r\n return c !== Number(number.innerText);\r\n })\r\n || this.chosenNumbers[this.chipDragging] === Number(number.innerText))) {\r\n closest = {\r\n x: number.offsetLeft + (index === 0 && !isDesktop ? (number.clientWidth / 3) : 0),\r\n y: number.offsetTop + (index === 0 && isDesktop ? (number.clientHeight / 3) : 0),\r\n number: Number(number.innerText)\r\n };\r\n shortestDistance = distance;\r\n }\r\n\r\n }.bind(this));\r\n this.chosenNumbers[this.chipDragging] = closest.number;\r\n snap(closest, chip);\r\n m.redraw();\r\n }.bind(this);\r\n\r\n var isAllChipsPlaced = function () {\r\n return this.chosenNumbers.every(function (number) {\r\n return !isNaN(number);\r\n });\r\n }.bind(this);\r\n\r\n var scrollToCtaIfAllChipsIsPlaced = function () {\r\n if (isAllChipsPlaced()) {\r\n document.querySelector('.lucky-spin__chosen-number-overlay-cta').scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'end'\r\n });\r\n }\r\n }.bind(this);\r\n\r\n // *** Logic ***\r\n this.handleConfirmClick = function () {\r\n if (!isAllChipsPlaced()) {\r\n this.hasSubmitError = true;\r\n return;\r\n }\r\n\r\n if (this.getGameState() !== this.constants.OPEN) {\r\n m.route('/');\r\n return;\r\n }\r\n\r\n this.setNumberCookie(this.chosenNumbers);\r\n LoggedInOrOut.init(this.isLoggedIn(), this.registerNumber);\r\n\r\n }.bind(this);\r\n\r\n const init = function () {\r\n if (this.isLoggedIn() && numberCookie() && !numberCookie().valid) {\r\n this.registerNumber();\r\n }\r\n }.bind(this);\r\n init();\r\n },\r\n\r\n view: function (controller) {\r\n if (controller.isLoading()) {\r\n return controller.loadingScreen(controller.loadingScreenSettings, controller.registerNumber, controller.loadingTimeBegin());\r\n }\r\n\r\n var table = controller.table;\r\n return m('.lucky-spin__table-page', {\r\n config: controller.onStepRendered\r\n }, [\r\n m('.lucky-spin__table-page-header', table.header),\r\n m('.lucky-spin__table-page-text', table.subHeader),\r\n m('.lucky-spin__table-wrapper', [\r\n controller.chosenNumbers.map(function (ignore, index) {\r\n return m('.lucky-spin__table-chip.lucky-spin__table-chip--' + index);\r\n }),\r\n m('.lucky-spin__table-header.lucky-spin__table-header', [\r\n m('.lucky-spin__table-text-wrapper', [\r\n m('.lucky-spin__table-title', controller.chosenNumbers.length === 1 ? table.chipTextSingular : table.chipTextMultiple.replace('{CHIPS}', controller.chosenNumbers.length)),\r\n m('.lucky-spin__table-text', table.subChipText)\r\n ]),\r\n m('.lucky-spin__table-chip-placeholder-wrapper', controller.chosenNumbers.map(function () {\r\n return m('.lucky-spin__table-chip-placeholder');\r\n })),\r\n ]),\r\n controller.winningNumbers.length > 0 ? m('.lucky-spin__table-previous-numbers-wrapper', [\r\n m('.lucky-spin__table-previous-numbers-header', table.previousWinningNumbers),\r\n m('.lucky-spin__table-previous-numbers', controller.winningNumbers.map(function (number) {\r\n return m('.lucky-spin__number.lucky-spin__number--border.lucky-spin__number--' + controller.getNumberColor(number.number), number.number);\r\n }).slice(0, 8))\r\n ]) : m('.lucky-spin__table-spacer'),\r\n\r\n m('.lucky-spin__table', [\r\n m('.lucky-spin__inner-table-wrapper', [\r\n m('.lucky-spin__table-numbers',\r\n m('.lucky-spin__table-numbers-inner', [...Array(37)].map((ignore, i) => m(`.lucky-spin__number.lucky-spin__number-table.lucky-spin__number--${controller.getNumberColor(i)}.lucky-spin__number--${i}`, i)))\r\n )\r\n ])\r\n ])\r\n ]),\r\n m('.lucky-spin__hidden-scroll-trigger.lucky-spin__hidden-scroll-trigger--up', {\r\n class: controller.showScrollTriggerUp && controller.isDragging ? 'lucky-spin__hidden-scroll-trigger--active' : ''\r\n }),\r\n m('.lucky-spin__hidden-scroll-trigger.lucky-spin__hidden-scroll-trigger--down', {\r\n class: controller.showScrollTriggerDown && controller.isDragging ? 'lucky-spin__hidden-scroll-trigger--active' : ''\r\n }),\r\n m('.lucky-spin__chosen-number-overlay', {\r\n class: [\r\n controller.chosenNumbers.some(function (number) {\r\n return !isNaN(number);\r\n }) ? 'lucky-spin__chosen-number-overlay--show' : '',\r\n controller.hasSubmitError ? 'lucky-spin__chosen-number-overlay--has-error' : ''\r\n ].join(' ')\r\n }, [\r\n m('.lucky-spin__chosen-number-overlay-inner', [\r\n m('.lucky-spin__chosen-number-wrapper', [\r\n m('.lucky-spin__chosen-number-inner-wrapper', controller.chosenNumbers.map(function (number) {\r\n return m('.lucky-spin__number.lucky-spin__number--border', {\r\n class: !isNaN(number) ? 'lucky-spin__number--' + controller.getNumberColor(number) : ''\r\n }, (!isNaN(number) ? number : ''));\r\n })),\r\n m('.lucky-spin__chosen-number-overlay-error', table.missingNumbersErrorMessage.replace('{CHIPS}', controller.chosenNumbers.length))\r\n ]),\r\n m('.lucky-spin__chosen-number-overlay-cta.livecasino-button.gold', {\r\n onclick: controller.handleConfirmClick\r\n }, m('span', table.confirmCtaText)),\r\n\r\n ]),\r\n ])\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/LuckySpinHeader',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n ],\r\n function (Utils) {\r\n var header = document.querySelector('.js-lucky-spin-header');\r\n\r\n if (header) {\r\n var numberColorMapping = {\r\n red: [1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36],\r\n black: [2, 4, 6, 8, 10, 11, 13, 15, 17, 20, 22, 24, 26, 28, 29, 31, 33, 35]\r\n };\r\n\r\n // Update countdown\r\n var drawTimeString = header.attributes['data-live'].value;\r\n var showCountdown = header.attributes['data-show-countdown'].value;\r\n var now = new Date();\r\n var drawDate = new Date();\r\n drawDate.setHours(drawTimeString.split(':')[0]);\r\n drawDate.setMinutes(drawTimeString.split(':')[1]);\r\n drawDate.setSeconds(0);\r\n\r\n // 'undefined' if key exists without a value - 'null' if key does not exists\r\n var showTermsAndConditions = Utils.getParameter('show-tac') === 'undefined';\r\n if (showTermsAndConditions) toggleOverlay();\r\n\r\n if (showCountdown === 'False') {\r\n document.querySelector('.lucky-spin__header-live').classList.add('lucky-spin__header-live--hidden');\r\n }\r\n\r\n if (now > drawDate) {\r\n drawDate.setDate(drawDate.getDate() + 1);\r\n }\r\n\r\n var timeComponent = document.querySelector('.js-live-time');\r\n\r\n setInterval(function () {\r\n var diff = drawDate.getTime() - Date.now();\r\n var hours = Math.floor(diff / 1000 / 60 / 60);\r\n var minutes = Math.floor((diff / 1000 / 60) - (hours * 60));\r\n var seconds = Math.floor((diff / 1000) - (hours * 60 * 60) - (minutes * 60));\r\n var countDownString = prepend(hours) + ':' + prepend(minutes) + ':' + prepend(seconds);\r\n var now = new Date();\r\n if (now > drawDate) {\r\n countDownString = '00:00:00';\r\n }\r\n timeComponent.innerHTML = countDownString;\r\n\r\n }, 100);\r\n\r\n // Toggle overlay\r\n document.querySelectorAll('.js-luckyspin-overlay-toggle').forEach(function (element) {\r\n element.addEventListener('click', function () {\r\n toggleOverlay();\r\n });\r\n });\r\n\r\n const clickOutsideHandler = (ev) => {\r\n const headerOverlay = document.querySelector('.lucky-spin__header-overlay.lucky-spin__header-overlay--show');\r\n const clickedElement = ev.target;\r\n if (headerOverlay && clickedElement.classList.contains('lucky-spin--overlay')) {\r\n toggleOverlay(false);\r\n }\r\n };\r\n document.addEventListener('click', clickOutsideHandler);\r\n\r\n // Handle tab-click\r\n var rulesWrapper = document.querySelector('.js-wrapper-rules');\r\n var winningNumbersWrapper = document.querySelector('.js-wrapper-winning-numbers');\r\n var rulesTab = document.querySelector('.js-rules-tab');\r\n var winningNumbersTab = document.querySelector('.js-winning-numbers-tab');\r\n\r\n rulesTab.addEventListener('click', function () {\r\n rulesTab.classList.add('lucky-spin__header-overlay-tab--active');\r\n rulesWrapper.classList.add('lucky-spin__header-overlay-wrapper--active');\r\n winningNumbersTab.classList.remove('lucky-spin__header-overlay-tab--active');\r\n winningNumbersWrapper.classList.remove('lucky-spin__header-overlay-wrapper--active');\r\n });\r\n winningNumbersTab.addEventListener('click', function () {\r\n rulesTab.classList.remove('lucky-spin__header-overlay-tab--active');\r\n rulesWrapper.classList.remove('lucky-spin__header-overlay-wrapper--active');\r\n winningNumbersTab.classList.add('lucky-spin__header-overlay-tab--active');\r\n winningNumbersWrapper.classList.add('lucky-spin__header-overlay-wrapper--active');\r\n });\r\n\r\n header.querySelectorAll('.lucky-spin__number').forEach(function (number) {\r\n number.classList.add('lucky-spin__number--' + getNumberColor(Number(number.innerHTML)));\r\n });\r\n }\r\n\r\n function toggleOverlay(force = undefined) {\r\n var headerContent = document.querySelector('.lucky-spin__header-content');\r\n var headerOverlay = document.querySelector('.lucky-spin__header-overlay');\r\n var page = document.querySelector('.lucky-spin');\r\n\r\n headerContent.classList.toggle('lucky-spin__header-content--hide', force);\r\n headerOverlay.classList.toggle('lucky-spin__header-overlay--show', force);\r\n page.classList.toggle('lucky-spin--overlay', force);\r\n }\r\n\r\n function getNumberColor(number) {\r\n return number === 0 ? 'green' : numberColorMapping.red.indexOf(number) > -1 ? 'red' : 'black';\r\n }\r\n\r\n function prepend(time) {\r\n return ('0' + time).slice(-2);\r\n }\r\n }\r\n);\r\n","defineDs('DanskeSpil/Domain/AvalonLiveCasino/Scripts/LuckySpin',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Models/LuckySpinPermissionModel',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Helpers/LuckySpinApi',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Components/LuckySpinLobby',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Components/LuckySpinTable',\r\n 'DanskeSpil/Domain/AvalonLiveCasino/Scripts/Components/LuckySpinResult',\r\n ], function (Component, Event, Ensighten, LoginCache, LuckySpinPermissionModel, Api, Lobby, Table, Result) {\r\n\r\n this.controller = function (m, ignoreRoute, settings) {\r\n const {\r\n winningNumbers,\r\n permissionPopup,\r\n luckySpinSettings\r\n } = settings;\r\n const { drawTime, chipCount, closeMinutesBeforeDraw, streamLink } = luckySpinSettings;\r\n const constants = {\r\n LOCAL_STORAGE_NAME: 'luckyspinNumber',\r\n CLOSED: 'closed',\r\n ENDED: 'ended',\r\n OPEN: 'open',\r\n };\r\n Object.freeze(constants);\r\n\r\n // Variables\r\n const permissionModel = new LuckySpinPermissionModel(permissionPopup);\r\n const isLoggedIn = () => LoginCache.isLoggedIn() || !!document.querySelector('body.is-logged-in');\r\n const isMobile = () => document.querySelector('body.is-mobile-detected') || document.querySelector('.is-tablet-detected') || false;\r\n const isLoading = m.prop(false);\r\n const loadingTimeBegin = m.prop(0);\r\n const showPermissionPopup = m.prop(false);\r\n const drawTimeString = drawTime.split(':');\r\n const drawDate = new Date();\r\n drawDate.setHours(drawTimeString[0]);\r\n drawDate.setMinutes(drawTimeString[1]);\r\n drawDate.setSeconds(0);\r\n\r\n let chosenNumbers = [...Array(chipCount)];\r\n\r\n const numberColorMapping = {\r\n red: [1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36],\r\n black: [2, 4, 6, 8, 10, 11, 13, 15, 17, 20, 22, 24, 26, 28, 29, 31, 33, 35]\r\n };\r\n\r\n // Functions\r\n const preloadPermissions = async () => {\r\n try {\r\n const response = await Api.getPermissions();\r\n\r\n if (response.OperationSucces) {\r\n permissionModel.hasPermissionsBeenLoaded(true);\r\n permissionModel.hasAcceptedPermissions(response.PermissionAccepted);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n const preloadEloquaNumbers = async () => {\r\n try {\r\n const response = await Api.get();\r\n if (response?.operationSuccess && response.luckyNumbers) {\r\n setNumberCookie(response.luckyNumbers, true);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n const preload = async () => {\r\n await Promise.all([preloadEloquaNumbers(), preloadPermissions()]);\r\n };\r\n\r\n if (isLoggedIn()) {\r\n // If the user is logged in, preload data\r\n preload();\r\n } else {\r\n // If not logged in, wait for 'pageload-auth-synced' event\r\n Event.subscribe('pageload-auth-synced', async () => {\r\n if (isLoggedIn()) {\r\n // If the user is logged in when the event occurs, preload data\r\n preload();\r\n }\r\n });\r\n }\r\n\r\n const getGameState = () => {\r\n if (isTodaysNumberInSitecore() && drawDate.getTime() < Date.now() && numberCookie()?.valid) return constants.ENDED;\r\n if (drawIsClosed()) return constants.CLOSED;\r\n return constants.OPEN;\r\n };\r\n\r\n const drawIsClosed = () => {\r\n const drawTimeInMilliseconds = drawDate.getTime();\r\n const minutesBeforeInMilliseconds = closeMinutesBeforeDraw * 60 * 1000;\r\n const drawClosesAt = drawTimeInMilliseconds - minutesBeforeInMilliseconds;\r\n const now = Date.now();\r\n return now > drawClosesAt;\r\n };\r\n\r\n const getNumberColor = (number) => {\r\n return number === 0 ? 'green' : numberColorMapping.red.indexOf(number) > -1 ? 'red' : 'black';\r\n };\r\n\r\n const setNumberCookie = (numbers, valid = false) => {\r\n const expire = new Date();\r\n expire.setHours(23);\r\n expire.setMinutes(0);\r\n expire.setSeconds(0);\r\n expire.setMilliseconds(0);\r\n const storageObj = {\r\n numbers,\r\n expire: expire.toString(),\r\n valid\r\n };\r\n\r\n localStorage.setItem(constants.LOCAL_STORAGE_NAME, JSON.stringify(storageObj));\r\n };\r\n\r\n const numberCookie = () => {\r\n const storageObj = localStorage.getItem(constants.LOCAL_STORAGE_NAME);\r\n if (!storageObj) return false;\r\n\r\n const numberCookieData = JSON.parse(storageObj);\r\n numberCookieData.expire = new Date(numberCookieData.expire);\r\n\r\n if (numberCookieData.expire < Date.now()) {\r\n localStorage.removeItem(constants.LOCAL_STORAGE_NAME);\r\n return false;\r\n\r\n }\r\n chosenNumbers = numberCookieData.numbers;\r\n return numberCookieData;\r\n };\r\n numberCookie();\r\n\r\n const registerNumber = () => {\r\n isLoading(true);\r\n loadingTimeBegin(Date.now());\r\n Api.set(chosenNumbers)\r\n .then(function () {\r\n Ensighten.pushGaEvent('quiz', 'slut', 'lykkespinnet', chosenNumbers[0]);\r\n setNumberCookie(chosenNumbers, true);\r\n isLoading(false);\r\n m.route('/');\r\n })\r\n .catch(function (error) {\r\n console.warn(error);\r\n if (error?.Message === 'Luckynumber already exist') {\r\n Api.get().then(function (response) {\r\n chosenNumbers = response.luckyNumbers;\r\n setNumberCookie(chosenNumbers, true);\r\n m.route('/already-chosen');\r\n });\r\n } else {\r\n m.route('/');\r\n }\r\n isLoading(false);\r\n });\r\n };\r\n\r\n const isTodaysNumberInSitecore = () => {\r\n const now = new Date();\r\n return winningNumbers.filter(function (number) {\r\n return now.toDateString() === new Date(number.date).toDateString();\r\n }).length > 0;\r\n };\r\n\r\n const loadWinningNumberInterval = setInterval(async () => {\r\n if (drawDate.getTime() < Date.now()) {\r\n try {\r\n const res = await Api.getWinningNumber();\r\n if (res.isWinningNumberFound) {\r\n winningNumbers.unshift({\r\n date: res.number.date,\r\n number: res.number.number,\r\n });\r\n clearInterval(loadWinningNumberInterval);\r\n if (numberCookie()?.valid) {\r\n m.route('/result');\r\n }\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n }, 5000);\r\n\r\n const firstRoute = () => {\r\n if (getGameState() === constants.ENDED && numberCookie()?.valid) {\r\n setTimeout(function () {\r\n m.route('/result');\r\n }, 0);\r\n }\r\n };\r\n firstRoute();\r\n\r\n return {\r\n ...settings,\r\n winningNumbers,\r\n isLoading,\r\n drawTime,\r\n showPermissionPopup,\r\n drawDate,\r\n constants,\r\n preloadEloquaNumbers,\r\n chosenNumbers,\r\n chipCount,\r\n streamLink,\r\n isLoggedIn,\r\n numberCookie,\r\n isMobile,\r\n permissionModel,\r\n getGameState,\r\n drawIsClosed,\r\n getNumberColor,\r\n loadingTimeBegin,\r\n setNumberCookie,\r\n registerNumber\r\n };\r\n };\r\n\r\n Component('LuckySpin', function (m, ignoreRoute, settings, ignoredProperty, element) {\r\n const rootctrl = new this.controller(m, ignoreRoute, settings, ignoredProperty, element);\r\n\r\n m.route.mode = 'hash';\r\n m.route(element, '/', {\r\n '/': m.component(Lobby, rootctrl),\r\n '/:numberAlreadyChosen': m.component(Lobby, rootctrl),\r\n '/table': m.component(Table, rootctrl),\r\n '/result': m.component(Result, rootctrl)\r\n });\r\n }.bind(this));\r\n\r\n return this;\r\n });\r\n","defineDs('DanskeSpil/Framework/FlipClock/Scripts/FlipClock', [\r\n 'DanskeSpil/Framework/TimeUtils/Scripts/TimeUtils',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/DOMUtils',\r\n], function (TimeUtils, Utils, DOMUtils) {\r\n\r\n var resizeClocks = function () {\r\n if (document.querySelector('.js-flip-clock')) {\r\n Utils.logDeprecated('Framework/FlipClock/Scripts/FlipClock.js - .js-flip-clock found'); // Added by MIPE 2022-08-04\r\n }\r\n\r\n document.querySelectorAll('.js-flip-clock').forEach(function ($clock) {\r\n var breakPoints = $clock.dataset['breakPoints'];\r\n var parentWidth = $clock.parentNode.getBoundingClientRect().width;\r\n var invertColors = $clock.dataset['invertColor'];\r\n\r\n $clock.classList.remove('flip-clock--xsmall', 'flip-clock--small', 'flip-clock--default', 'flip-clock--large', 'flip-clock--xlarge', 'flip-clock--invert');\r\n\r\n if (invertColors === 'True') {\r\n $clock.classList.add('flip-clock--invert');\r\n }\r\n\r\n if (breakPoints.xlarge && parentWidth >= breakPoints.xlarge) {\r\n $clock.classList.add('flip-clock--xlarge');\r\n } else if (breakPoints.large && parentWidth >= breakPoints.large) {\r\n $clock.classList.add('flip-clock--large');\r\n } else if (breakPoints.default && parentWidth >= breakPoints.default) {\r\n $clock.classList.add('flip-clock--default');\r\n } else if (breakPoints.small && parentWidth >= breakPoints.small) {\r\n $clock.classList.add('flip-clock--small');\r\n } else {\r\n $clock.classList.add('flip-clock--xsmall');\r\n }\r\n });\r\n };\r\n\r\n var domCounter = function ($clock, counter, val) {\r\n var ul = $clock.querySelectorAll('ul')[counter];\r\n\r\n var beforeVal = ul.querySelector('.before .js-up')?.textContent ?? '';\r\n var valUp;\r\n var valDown = val;\r\n\r\n if (counter === 0) {\r\n // days\r\n if (val > 99) {\r\n valUp = 99;\r\n valDown = 99;\r\n } else {\r\n valUp = val === 99 ? 99 : val + 1;\r\n }\r\n } else if (counter === 1) {\r\n // hours\r\n valUp = val === 23 ? 0 : val + 1;\r\n } else {\r\n // mins and secs\r\n valUp = val === 59 ? 0 : val + 1;\r\n }\r\n\r\n // prefix with zero for value 0-9\r\n valUp = ('0' + valUp).slice(-2);\r\n valDown = ('0' + valDown).slice(-2);\r\n\r\n if (beforeVal !== valUp) {\r\n var $flipper = ul.querySelector('li.active');\r\n\r\n const $jsUpActive = ul.querySelector('.active .js-up');\r\n const $jsDownActive = ul.querySelector('.active .js-down');\r\n const $jsUpBefore = ul.querySelector('.before .js-up');\r\n const $jsDownBefore = ul.querySelector('.before .js-down');\r\n\r\n if ($jsUpActive && $jsDownActive && $jsUpBefore && $jsDownBefore) {\r\n $jsUpActive.textContent = valUp;\r\n $jsDownActive.textContent = valUp;\r\n $jsUpBefore.textContent = valDown;\r\n $jsDownBefore.textContent = valDown;\r\n }\r\n\r\n if (!$flipper?.innerHTML) {\r\n $flipper = ul.querySelectorAll('li')[0];\r\n $flipper.classList.add('before');\r\n $flipper.classList.remove('active');\r\n $flipper.nextElementSibling.classList.add('active');\r\n } else if ($flipper.nextElementSibling === null) {\r\n ul.querySelectorAll('li')?.forEach(($el) => {\r\n $el.classList.remove('before');\r\n });\r\n $flipper.classList.add('before');\r\n $flipper.classList.remove('active');\r\n $flipper = ul.querySelectorAll('li')[0];\r\n $flipper.classList.add('active');\r\n $flipper.closest('.flip-clock').classList.add('play');\r\n } else {\r\n ul.querySelectorAll('li')?.forEach(($el) => {\r\n $el.classList.remove('before');\r\n });\r\n $flipper.classList.add('before');\r\n $flipper.classList.remove('active');\r\n $flipper.nextElementSibling.classList.add('active');\r\n $flipper.closest('.flip-clock').classList.add('play');\r\n }\r\n }\r\n };\r\n\r\n var flipPlay = function ($clock) {\r\n var deadline = new Date(parseInt($clock.dataset['endDate'], 10));\r\n var diff = new Date(deadline) - TimeUtils.getServerDateTime();\r\n var t = TimeUtils.getCompoundTimeObject(diff);\r\n domCounter($clock, 3, t.secs);\r\n domCounter($clock, 2, t.mins);\r\n domCounter($clock, 1, t.hours);\r\n domCounter($clock, 0, t.days);\r\n };\r\n\r\n var init = function () {\r\n document.querySelectorAll('.js-flip-clock').forEach(function ($clock) {\r\n const parser = new DOMParser();\r\n const flipClock = parser.parseFromString('', 'text/html').body.firstChild;\r\n\r\n $clock.appendChild(flipClock.cloneNode(true));\r\n $clock.appendChild(flipClock.cloneNode(true));\r\n $clock.appendChild(flipClock.cloneNode(true));\r\n $clock.appendChild(flipClock.cloneNode(true));\r\n\r\n setInterval(function () {\r\n flipPlay($clock);\r\n }, 1000);\r\n });\r\n\r\n resizeClocks();\r\n\r\n window.addEventListener('resize', () => {\r\n setTimeout(resizeClocks, 100);\r\n });\r\n };\r\n\r\n DOMUtils.ready(function () {\r\n init();\r\n });\r\n\r\n});\r\n","defineDs('DanskeSpil/Framework/AppUniverse/Scripts/AppUniverse/Helpers/AppDictionary',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Dictionary'\r\n ],\r\n function (Dictionary) {\r\n return new Dictionary('/AppUniverse');\r\n });\r\n","defineDs('DanskeSpil/Framework/AppUniverse/Scripts/AppUniverse/Components/VersionSelector',\r\n [\r\n 'Common/Framework/EventHandling/Scripts/OutsideClick',\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render'\r\n ],\r\n function (OutsideClick, m, Render) {\r\n\r\n // Template:\r\n var VersionSelector = function (controller) {\r\n // Variables:\r\n var render = Render();\r\n\r\n // Functions:\r\n var toggleSelector = function (state) {\r\n controller.property('toggleSelector', {\r\n name: 'device',\r\n state: state || !controller.property('toggleSelector')['state']\r\n });\r\n };\r\n\r\n var selectOption = function (option) {\r\n controller.selectedOption = option;\r\n controller.deviceSelectorUpdate(option);\r\n controller.property('swipperInit', false);\r\n toggleSelector(false);\r\n\r\n };\r\n\r\n var isActiveOption = function () {\r\n return controller.optionsList &&\r\n controller.optionsList.length &&\r\n controller.property('toggleSelector')['name'] === 'device' &&\r\n controller.property('toggleSelector')['state'];\r\n };\r\n\r\n var selectorDOM = function (label) {\r\n var placeHolderText = controller.selectedOption.displayName || controller.selectedOption;\r\n\r\n return m('.selector-wrapper', [\r\n m('span.selector-label', label),\r\n m('.options-wrapper', {\r\n class: isActiveOption() ? 'active' : '',\r\n config: render.depend('options-wrapper')\r\n }, [\r\n m('.options-placeholder-wrapper', {\r\n onclick: function () {\r\n toggleSelector();\r\n }\r\n }, [\r\n m('span.placeholder-text', placeHolderText),\r\n m('span.placeholder-icon')\r\n ]),\r\n m('.options-list-wrapper',\r\n controller.optionsList.map(function (option) {\r\n if (option.name) {\r\n return m('.option-item-wrapper', {\r\n class: controller.selectedOption === option ? 'selected' : '',\r\n onclick: function () {\r\n selectOption(option);\r\n }\r\n }, [\r\n m('span.option-item-text', option.displayName),\r\n m('span.option-item-icon')\r\n ]);\r\n }\r\n })\r\n )\r\n ])\r\n ]);\r\n };\r\n\r\n // Render:\r\n render.ready.then(function (nodes) {\r\n var optionsWrapper = nodes['options-wrapper'];\r\n if (optionsWrapper) {\r\n var option = optionsWrapper;\r\n if (option.$element.classList.contains('active')) {\r\n OutsideClick(option.$element, option.context, function () {\r\n if (option.$element.classList.contains('active')) {\r\n controller.property('toggleSelector')['state'] = false;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n // Return:\r\n return m('.app-installation-guide__version-selector',\r\n {\r\n config: render.depend('app-installation-guide__version-selector')\r\n },\r\n controller.deviceSelectorLabel() ? selectorDOM(controller.deviceSelectorLabel()) : null);\r\n };\r\n\r\n // Public functions:\r\n return VersionSelector;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n return function ({ title, text, footerElements, style, activate = true }) {\r\n return m('.tutorial-footer', {\r\n class: activate ? '' : 'tutorial-footer--disable'\r\n },\r\n m('.tutorial-footer-inner', [\r\n m('.tutorial-footer__text-wrapper', [\r\n m('.tutorial-footer__title', { style }, title),\r\n m('.tutorial-footer__text', m.trust(text))\r\n ]),\r\n m('.tutorial-footer__footerElement', footerElements ? footerElements.map(function (footerElement) {\r\n return m('.tutorial-footer__footerElement-wrapper', [\r\n m('.tutorial-footer__footerElement-image-wrapper',\r\n m('img.tutorial-footer__footerElement-image', {\r\n src: footerElement.image\r\n })\r\n ),\r\n m('a.tutorial-footer__footerElement-text-wrapper', {\r\n href: footerElement.helpLink.Url\r\n }, [\r\n m('.tutorial-footer__footerElement-title', footerElement.title),\r\n m('.tutorial-footer__footerElement-text', footerElement.helpLink.Text)\r\n ]),\r\n ]);\r\n }) : null)\r\n ])\r\n );\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n return function (settings) {\r\n var currentUrl = m.route.param('tutorial');\r\n return settings.mostVisitedList.length > 0 ? m('.tutorial-navbar', [\r\n m('.tutorial-navbar-label', settings.mostVisitedLabel),\r\n m('.tutorial-navbar-cave',\r\n m('.tutorial-navbar-cave-inner')\r\n ),\r\n m('.tutorial-navbar-container', {\r\n onscroll: function (event) {\r\n var container = event.target;\r\n var cave = document.querySelector('.tutorial-navbar-cave');\r\n if (container.scrollLeft) cave.classList.add('tutorial-navbar-cave--open');\r\n else cave.classList.remove('tutorial-navbar-cave--open');\r\n }\r\n }, [\r\n m('.tutorial-navbar-navs', settings.mostVisitedList.map(function (tutorial) {\r\n return m('a.tutorial-navbar-nav', {\r\n class: currentUrl === tutorial.safeTitle ? 'tutorial-navbar-nav--hide' : '',\r\n href: tutorial.urlPrefix + '/' + tutorial.safeTitle,\r\n config: m.route\r\n }, tutorial.title);\r\n }))\r\n ])\r\n ]) : null;\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n return function ({ title, style, isButtonVisible = true, activate = true, onclick = () => {} }) {\r\n return m('.tutorial__hero', {\r\n class: activate ? '' : 'tutorial__hero--disable'\r\n }, [\r\n isButtonVisible ? m('a.tutorial__hero-arrow', {\r\n href: '/',\r\n config: m.route,\r\n onclick\r\n }) : null,\r\n m('.tutorial__hero-title', { style }, m.trust(title)),\r\n ]);\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialSearchBar',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n return function (controller) {\r\n\r\n var updateSearchQuery = function (value) {\r\n controller.searchQuery(value);\r\n controller.filteredTutorials(controller.allTutorials.filter(matchTutorialTitleWithSearchQuery));\r\n }.bind(this);\r\n\r\n var collapseCategories = function () {\r\n document.querySelectorAll('.tutorial__category--show').forEach(function (category) {\r\n category.classList.remove('tutorial__category--show');\r\n });\r\n }.bind(this);\r\n\r\n var matchTutorialTitleWithSearchQuery = function (tutorial) {\r\n if (!controller.searchQuery()) return false;\r\n\r\n var textToSearch = tutorial.title + tutorial.subtitle;\r\n if (tutorial.urlPrefix === '/simple' && tutorial.richText) {\r\n var firstOpeningParagraphTagIndex = tutorial.richText.indexOf('

');\r\n var lastClosingParagraphTagIndex = tutorial.richText.lastIndexOf('

');\r\n var searchableRichText = tutorial.richText.slice(firstOpeningParagraphTagIndex, lastClosingParagraphTagIndex);\r\n searchableRichText = searchableRichText.replace(/(<([^>]+)>)/gi, '');\r\n textToSearch += searchableRichText;\r\n } else if (tutorial.elements) {\r\n textToSearch += tutorial.elements.map(function (element) {\r\n return element.title + element.text.replace(/(<([^>]+)>)/gi, '');\r\n }).join('');\r\n } else if (tutorial.urlPrefix === '/avalon' && tutorial.content) {\r\n var content = tutorial.content.outerHTML;\r\n var firstOpeningDivTagIndex = content.indexOf('');\r\n var searchableText = content.slice(firstOpeningDivTagIndex, lastClosingDivTagIndex);\r\n searchableText = searchableText.replace(/(<([^>]+)>)/gi, '');\r\n textToSearch += searchableText;\r\n }\r\n\r\n return controller.searchQuery().trim().split(' ').every(function (word) {\r\n return new RegExp('(?=.*' + word + ')', 'gmi').test(textToSearch);\r\n });\r\n }.bind(this);\r\n\r\n return m('.tutorial__searchbar', [\r\n m('svg.tutorial__searchbar-loop', {\r\n height: '20', width: '20', xmlns: 'http://www.w3.org/2000/svg'\r\n }, [\r\n m('g', [\r\n m('circle', {\r\n cx: '12', cy: '9', r: '7'\r\n }),\r\n m('path', {\r\n d: 'm7 14.5 -6 6'\r\n }),\r\n ])\r\n ]),\r\n m('input.tutorial__searchbar-input', {\r\n oninput: function (event) {\r\n if (event.target.value.length > -1) {\r\n updateSearchQuery(event.target.value);\r\n collapseCategories();\r\n }\r\n },\r\n value: controller.searchQuery(),\r\n placeholder: controller.searchBarPlaceholder\r\n }),\r\n m('.tutorial__searchbar-clear', {\r\n onclick: () => {\r\n controller.searchQuery('');\r\n }\r\n })\r\n ]);\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialFrontpage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialSearchBar',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, TutorialFooter, Navigation, Searchbar, Hero) {\r\n\r\n return {\r\n controller: function (args) {\r\n window.scrollTo(0, 0);\r\n\r\n this.categories = args.settings.categories;\r\n this.headerImage = args.settings.headerImage;\r\n this.searchQuery = args.searchQuery;\r\n this.tutorials = args.tutorials;\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.filteredTutorials = args.filteredTutorials;\r\n this.relatedHelpText = args.settings.relatedHelpText;\r\n this.frontpageHeroTitle = args.settings.frontpageHeroTitle;\r\n this.categories.forEach(function (category) {\r\n category.jointList = category.slideTutorials.concat(category.avalonTutorials).concat(category.richTextTutorials).concat(category.tipsSystemTutorial);\r\n category.jointList.forEach(function (tutorial) {\r\n tutorial['category'] = category.category;\r\n });\r\n });\r\n this.nullResultHelpText = args.settings.nullResultHelpText;\r\n this.searchResultNull = args.settings.searchResultNull;\r\n this.searchBarPlaceholder = args.settings.searchBarPlaceholder;\r\n this.mostVisitedLabel = args.settings.mostVisitedLabel;\r\n this.mostVisitedList = args.settings.mostVisitedList;\r\n this.latestSearches = args.settings.latestSearches;\r\n this.footerSettings = args.footerSettings;\r\n this.jointList = args.jointList;\r\n this.allTutorials = args.allTutorials;\r\n\r\n // Toggles the html class that shows tutorial categories\r\n this.categoryClickHandler = function (event) {\r\n event.currentTarget.classList.toggle('tutorial__category--show');\r\n };\r\n\r\n // Shows tutorial columns depending on if they're filtered or not\r\n this.showTutorialCategories = function (tutorials, isFiltered) {\r\n return tutorials.map(function (tutorial) {\r\n return m('a.tutorial__category-tutorials-wrapper', {\r\n onclick: function (event) {\r\n this.saveToLocalStorage(event.currentTarget.id, tutorial.image?.Source ?? '');\r\n }.bind(this),\r\n class: isFiltered ? 'tutorial__category-tutorials-wrapper--filtered' : '',\r\n href: tutorial.urlPrefix + '/' + tutorial.safeTitle,\r\n config: m.route,\r\n id: tutorial.title\r\n }, [\r\n m('.tutorial__category-tutorials-image-wrapper', [\r\n m('img.tutorial__category-tutorials-image', {\r\n src: (isFiltered ? (tutorial.imageFiltered?.Source ?? '') : (tutorial.image?.Source ?? ''))\r\n })\r\n ]),\r\n m('.tutorial__category-tutorials-text-wrapper', [\r\n m('.tutorial__category-tutorials-title', { style: this.titleCssStyle }, isFiltered\r\n ? m.trust(tutorial.title.replace(new RegExp(this.searchQuery(), 'ig'), function (match) {\r\n return '' + match + '';\r\n }.bind(this)))\r\n : m.trust(tutorial.title)),\r\n m('.tutorial__category-tutorials-text', tutorial.subtitle)\r\n ]),\r\n m('.tutorial__category-tutorials-arrow')\r\n ]);\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n // Gets saved tutorials the user has clicked on in an array\r\n this.getFromLocalStorage = function () {\r\n return JSON.parse(localStorage.getItem('tutorial-latest-searched')) || [];\r\n };\r\n\r\n // Saves the 5 newest tutorials the user clicks on in an array in local storage and checks if it's already saved\r\n this.saveToLocalStorage = function (title, image) {\r\n var currentLocalStorage = this.getFromLocalStorage();\r\n currentLocalStorage = currentLocalStorage.reduce(function (acc, storage) {\r\n if (storage.title !== title) acc.push(storage);\r\n return acc;\r\n }, []);\r\n var storage = { title: title, image: image };\r\n currentLocalStorage.push(storage);\r\n currentLocalStorage.slice(-5);\r\n localStorage.setItem('tutorial-latest-searched', JSON.stringify(currentLocalStorage));\r\n }.bind(this);\r\n\r\n // Gets tutorials in same category\r\n this.matchRelatedTutorialsWithFilteredTutorials = function () {\r\n var filtratedTutorialsCategories = [];\r\n this.filteredTutorials().forEach(function (tutorial) {\r\n filtratedTutorialsCategories.push(tutorial.category);\r\n });\r\n var x = this.categories.filter(function (category) {\r\n return filtratedTutorialsCategories.includes(category.category);\r\n });\r\n var y = x.map(function (category) {\r\n return this.showTutorialCategories(category.jointList.filter(function (tutorial) {\r\n return this.filteredTutorials().every(function (filteredTutorial) {\r\n return filteredTutorial.title !== tutorial.title;\r\n });\r\n }.bind(this)));\r\n }.bind(this));\r\n return y;\r\n }.bind(this);\r\n\r\n this.getCategoryDOM = function (category) {\r\n return m('.tutorial__category', {\r\n onclick: this.categoryClickHandler\r\n }, [\r\n m('.tutorial__category-wrapper', [\r\n m('.tutorial__category-text-wrapper', [\r\n m('.tutorial__category-title', { style: this.titleCssStyle }, category.title),\r\n m('.tutorial__category-label', category.subtitle),\r\n ]),\r\n m('.tutorial__category-cross')\r\n ]),\r\n m('.tutorial__category-tutorials', this.showTutorialCategories(category.jointList))\r\n ]);\r\n }.bind(this);\r\n\r\n this.getTutorialDOM = function (tutorial) {\r\n return m('a.tutorial__category', {\r\n href: tutorial.urlPrefix + '/' + tutorial.safeTitle,\r\n config: m.route,\r\n }, [\r\n m('.tutorial__category-wrapper.tutorial__category-wrapper--tutorial', [\r\n m('.tutorial__category-text-wrapper', [\r\n m('.tutorial__category-title', { style: this.titleCssStyle }, m.trust(tutorial.title)),\r\n m('.tutorial__category-label', tutorial.subtitle),\r\n ]),\r\n m('.tutorial__category-tutorials-arrow')\r\n ])\r\n ]);\r\n }.bind(this);\r\n },\r\n\r\n view: function (controller) {\r\n return m('.tutorial-frontpage', {\r\n config: controller.onStepRendered\r\n }, [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n m('.tutorial-frontpage__hero', [\r\n Hero({ title: controller.frontpageHeroTitle, style: controller.titleCssStyle, isButtonVisible: !!controller.searchQuery(), onclick: () => controller.searchQuery('') }),\r\n Searchbar(controller)\r\n ]),\r\n m('.tutorial__frontpage-wrapper',\r\n m('.tutorial__content-box.tutorial__frontpage-inner-wrapper.tutorial__frontpage-animation', {\r\n class: controller.searchQuery() ? 'tutorial__frontpage-inner-wrapper--hide' : ''\r\n },\r\n [\r\n m('.tutorial__categories', controller.jointList.map(function (entry) {\r\n return !entry.hasOwnProperty('urlPrefix') ? controller.getCategoryDOM(entry) : controller.getTutorialDOM(entry);\r\n })),\r\n controller.mostVisitedList.length > 0\r\n ? m('.tutorial__most-visited',\r\n m('.tutorial__most-visited-title', { style: controller.titleCssStyle }, controller.mostVisitedLabel),\r\n controller.mostVisitedList.map(function (tutorial) {\r\n return m('a.tutorial__most-visited-wrapper', {\r\n href: tutorial.urlPrefix + '/' + tutorial.safeTitle,\r\n config: m.route\r\n },\r\n m('.tutorial__most-visited-element-wrapper', [\r\n m('.tutorial__most-visited-element-image-wrapper',\r\n m('img.tutorial__most-visited-element-image', {\r\n src: tutorial.image?.Source ?? ''\r\n })\r\n ),\r\n m('.tutorial__most-visited-element-text-wrapper', [\r\n m('.tutorial__most-visited-element-title', { style: controller.titleCssStyle }, m.trust(tutorial.title)),\r\n m('.tutorial__most-visited-element-text', tutorial.subtitle),\r\n ]),\r\n m('.tutorial__most-visited-element-arrow')\r\n ])\r\n );\r\n }))\r\n : null\r\n ]),\r\n controller.filteredTutorials().length > 0\r\n ? m('.tutorial__search-result.tutorial__frontpage-animation', {\r\n class: controller.searchQuery() ? 'tutorial__search-result--show' : '',\r\n },\r\n [\r\n m('.tutorial__search-result-wrapper', [\r\n controller.showTutorialCategories(controller.filteredTutorials(), true),\r\n ]),\r\n m('.tutorial__content-box.tutorial__search-result-related-wrapper', [\r\n m('.tutorial__search-result-related-inner-wrapper', [\r\n m('.tutorial__search-result-related-help-text', controller.relatedHelpText),\r\n m('.tutorial__search-result-related-help-categories', controller.matchRelatedTutorialsWithFilteredTutorials())\r\n ]),\r\n ]),\r\n ])\r\n : m('.tutorial__search-result-null-wrapper.tutorial__frontpage-animation', {\r\n class: controller.searchQuery() ? 'tutorial__search-result-null-wrapper--show' : ''\r\n },\r\n m('.tutorial__search-result-null-inner-wrapper', [\r\n m('.tutorial__search-result-null-title', { style: controller.titleCssStyle }, controller.searchResultNull),\r\n m('.tutorial__search-result-null-search-query', '\\'' + controller.searchQuery() + '\\''),\r\n m('.tutorial__search-result-null-text', m.trust(controller.nullResultHelpText)),\r\n controller.getFromLocalStorage().length > 0 ?\r\n m('.tutorial__search-last-visited-wrapper', [\r\n m('.tutorial__search-last-visited-title', { style: controller.titleCssStyle }, controller.latestSearches),\r\n m('.tutorial__search-last-visited-element-wrapper', controller.getFromLocalStorage().map(function (storage) {\r\n return m('a.tutorial__search-last-visited-element-innerwrapper', {\r\n href: storage.urlPrefix + storage.title,\r\n config: m.route\r\n }, [\r\n m('img.tutorial__search-last-visited-element-image', {\r\n src: storage.image\r\n }),\r\n m('.tutorial__search-last-visited-element-title', { style: controller.titleCssStyle }, storage.title)\r\n ]);\r\n }).slice(-5)\r\n )\r\n ]) : null\r\n ]))),\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialAvalonPage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, TutorialFooter, Navigation, Hero) {\r\n\r\n return {\r\n controller: function (args) {\r\n window.scrollTo(0, 0);\r\n\r\n this.safeTitle = decodeURI(m.route.param('tutorial'));\r\n this.mostVisitedLabel = args.mostVisitedLabel;\r\n this.mostVisitedList = args.mostVisitedList;\r\n this.footerSettings = args.footerSettings;\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.getTextWithHighligt = args.getTextWithHighligt;\r\n this.tutorial = args.allTutorials.filter(function (tutorial) {\r\n return tutorial.safeTitle === this.safeTitle;\r\n }.bind(this))[0];\r\n this.avalonContent = null;\r\n\r\n this.onRender = function () {\r\n var contentWithoutComments = this.tutorial.content?.outerHTML?.replace(//g, '') ?? '';\r\n this.avalonContent = m.trust(this.getTextWithHighligt(contentWithoutComments));\r\n\r\n setTimeout(function () {\r\n m.redraw();\r\n }, 0);\r\n }.bind(this);\r\n },\r\n\r\n view: function (controller) {\r\n return m('.tutorial__avalon', [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n Hero({ title: controller.tutorial.title, style: controller.titleCssStyle, activate: controller.tutorial.activateHeader }),\r\n m('.tutorial__content-box.tutorial__avalon-content', {\r\n class: [\r\n controller.tutorial.useFullWidth ? 'tutorial__content-box--full-width' : '',\r\n controller.tutorial.useFullWidth && !controller.tutorial.activateHeader ? 'tutorial__content-box--no-radius' : ''\r\n ].join(' '),\r\n config: controller.onRender\r\n }, controller.avalonContent),\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, activate: controller.tutorial.activateFooter, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialSlidepage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'Common/Framework/ScriptLibraries/Scripts/TinySlider',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, Render, TinySlider, TutorialFooter, Navigation, Hero) {\r\n var render = Render();\r\n\r\n return {\r\n controller: function (args) {\r\n window.scrollTo(0, 0);\r\n\r\n this.safeTutorialName = decodeURI(m.route.param('tutorial'));\r\n this.tutorial = args.allTutorials.filter(function (entry) {\r\n return entry.safeTitle === this.safeTutorialName;\r\n }.bind(this))[0];\r\n\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.mostVisitedList = args.mostVisitedList;\r\n this.mostVisitedLabel = args.mostVisitedLabel;\r\n this.heroTitle = args.settings.heroTitle;\r\n this.heroText = args.settings.heroText;\r\n this.elementsCount = this.tutorial.elements.length;\r\n this.slidepageRelatedHelpTitle = args.settings.slidepageRelatedHelpTitle;\r\n this.relatedHelpTutorials = this.tutorial.relatedHelpTutorials;\r\n this.heroImage = this.tutorial.heroImage;\r\n this.actionButton = this.tutorial.actionButton;\r\n this.footerSettings = args.footerSettings;\r\n this.searchQuery = args.searchQuery;\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.activeSlide = 0;\r\n this.showPrevArrow = m.prop(false);\r\n this.showNextArrow = m.prop(true);\r\n this.isSliderActive = false;\r\n this.desktopSlider = null;\r\n this.vimeoReady = false;\r\n this.vimeoPlayers = [];\r\n this.getTextWithHighligt = args.getTextWithHighligt;\r\n\r\n this.addPlayers = function () {\r\n document.querySelectorAll('.slidepage__slider--desktop iframe').forEach(function (iframe, i) {\r\n var player = new window.Vimeo.Player(iframe);\r\n if (i !== 0) {\r\n player.isPlaying = false;\r\n player.pause();\r\n }\r\n this.vimeoPlayers.push(player);\r\n }.bind(this));\r\n };\r\n\r\n this.onStepRendered = function (ignoredElement, isInitialized) {\r\n if (!isInitialized) {\r\n this.isSliderActive = true;\r\n this.desktopSlider = TinySlider({\r\n container: '.slidepage__slider--desktop',\r\n center: true,\r\n controlsContainer: '.slidepage__controls',\r\n prevButton: '.slidepage__arrow--prev',\r\n nextButton: '.slidepage__arrow--next',\r\n loop: false,\r\n nav: false,\r\n responsive: {\r\n 768: {\r\n gutter: 100,\r\n fixedWidth: 730,\r\n },\r\n 1024: {\r\n gutter: 350,\r\n fixedWidth: 730,\r\n },\r\n 1440: {\r\n gutter: 220,\r\n fixedWidth: 900,\r\n }\r\n }\r\n });\r\n\r\n this.desktopSlider.events.on('indexChanged', function (event) {\r\n document.querySelector('.slidepage__current-slide').innerHTML = event.displayIndex > 9 ? event.displayIndex : '0' + event.displayIndex;\r\n var items = document.querySelectorAll('.slidepage__slider--desktop .slidepage__steps');\r\n var itemNumber = event.displayIndex - 1; // index er 1-baseret - itemNumber 0.\r\n\r\n items.forEach(function (item, index) {\r\n item.classList[index === itemNumber ? 'remove' : 'add']('slidepage__steps--fade');\r\n });\r\n\r\n this.vimeoPlayers.forEach(function (player, index) {\r\n if (index === itemNumber) {\r\n if (!player.isPlaying) {\r\n var interval = setInterval(function () {\r\n player.play().then(function () {\r\n player.isPlaying = true;\r\n });\r\n if (player.isPlaying) {\r\n clearInterval(interval);\r\n }\r\n }, 500);\r\n }\r\n } else {\r\n player.pause().then(function () {\r\n player.isPlaying = false;\r\n player.setCurrentTime(0);\r\n });\r\n }\r\n });\r\n\r\n if (itemNumber === 0) {\r\n // First slide\r\n this.showPrevArrow(false);\r\n this.showNextArrow(true);\r\n } else if (itemNumber === items.length - 1) {\r\n // Last slide\r\n this.showPrevArrow(true);\r\n this.showNextArrow(false);\r\n } else {\r\n // All other slides\r\n this.showPrevArrow(true);\r\n this.showNextArrow(true);\r\n }\r\n m.redraw(true);\r\n }.bind(this));\r\n\r\n m.redraw(true);\r\n\r\n var mobileSliders = document.querySelectorAll('.slidepage__slider--mobile');\r\n mobileSliders.forEach(function (slider) {\r\n var tns = TinySlider({\r\n container: slider.querySelector('.slidepage__steps'),\r\n navContainer: slider.querySelector('.slidepage__radio-buttons'),\r\n controls: false,\r\n loop: false,\r\n fixedWidth: 240,\r\n edgePadding: 40,\r\n mouseDrag: true,\r\n });\r\n\r\n tns.events.on('indexChanged', function (event) {\r\n var steps = slider.querySelectorAll('.slidepage__step');\r\n if (event.displayIndex === 1) {\r\n steps[0].classList.add('slidepage__step--selected');\r\n steps[1].classList.remove('slidepage__step--selected');\r\n } else {\r\n steps[1].classList.add('slidepage__step--selected');\r\n steps[0].classList.remove('slidepage__step--selected');\r\n }\r\n });\r\n });\r\n }\r\n }.bind(this);\r\n\r\n render.ready.then(function () {\r\n if (!this.vimeoReady) {\r\n include('https://player.vimeo.com/api/player.js', function () {\r\n this.vimeoReady = true;\r\n this.addPlayers();\r\n }.bind(this));\r\n }\r\n }.bind(this));\r\n },\r\n\r\n view: function (controller) {\r\n return m('.slidepage', { config: render.depend('container') }, [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n Hero({ title: controller.tutorial.title, style: controller.titleCssStyle }),\r\n m('.tutorial__content-box.slidepage__content.slidepage__content--mobile',\r\n controller.tutorial.elements.map(function (element, i) {\r\n return m('.slidepage__slider.slidepage__slider--mobile',\r\n {\r\n config: render.depend('mobileContainer')\r\n },\r\n m('.slidepage__steps',\r\n m('.slidepage__step.slidepage__step-description.slidepage__step--selected',\r\n m('.slidepage__step-text-wrapper', [\r\n m('.slidepage__step-header', { style: controller.titleCssStyle }, element.title),\r\n m('.slidepage__step-text', m.trust(controller.getTextWithHighligt(element.text))),\r\n m('.slidepage__step-number', ('0' + (i + 1)).slice(-2)),\r\n i === 0 ? m('.slidepage__step-help-wrapper', [\r\n m('.slidepage__step-help-circle'),\r\n m('.slidepage__step-help-text', element.footerHelpText)\r\n ]) : null,\r\n ])\r\n ),\r\n element.mobileVideo ? m('iframe.slidepage__step.slidepage__step-illustration', {\r\n src: element.mobileVideo,\r\n allowFullScreen: true\r\n }) : null\r\n ),\r\n m('.slidepage__radio-buttons', [\r\n m('.slidepage__radio'),\r\n m('.slidepage__radio')\r\n ])\r\n );\r\n }),\r\n controller.actionButton.Url && controller.actionButton.Title\r\n ? m('a.slidepage__action-button-wrapper', {\r\n href: controller.actionButton.Url\r\n }, m('.slidepage__action-button', controller.actionButton.Title))\r\n : null\r\n ),\r\n m('.tutorial__content-box.slidepage__content.slidepage__content--desktop',\r\n m('.slidepage__slider.slidepage__slider--desktop', {\r\n config: controller.onStepRendered,\r\n class: !controller.isSliderActive ? 'slidepage__slider--loading' : '',\r\n }, controller.tutorial.elements.map(function (element, i) {\r\n return m('.slidepage__steps',\r\n {\r\n class: i !== 0 ? 'slidepage__steps--fade' : ''\r\n },\r\n m('.slidepage__step.slidepage__step-description',\r\n m('.slidepage__step-text-wrapper', [\r\n m('.slidepage__step-header', { style: controller.titleCssStyle }, element.title),\r\n m('.slidepage__step-text', m.trust(controller.getTextWithHighligt(element.text))),\r\n m('.slidepage__step-number', ('0' + (i + 1)).slice(-2))\r\n ])\r\n ),\r\n element.desktopVideo ? m('iframe.slidepage__step.slidepage__step-illustration', {\r\n src: element.desktopVideo\r\n }) : null\r\n );\r\n })),\r\n m('.slidepage__controls', [\r\n m('.slidepage__arrow.slidepage__arrow--prev', {\r\n class: !controller.showPrevArrow() ? 'slidepage__arrow--hide' : ''\r\n }),\r\n m('.slidepage__slide-counter',\r\n m('.slidepage__current-slide', '01'),\r\n m('.slidepage__separator', '/'),\r\n m('.slidepage__number-of-slides', controller.elementsCount < 10 ? '0' + controller.elementsCount : controller.elementsCount.toString())\r\n ),\r\n m('.slidepage__arrow.slidepage__arrow--next', {\r\n class: !controller.showNextArrow() ? 'slidepage__arrow--hide' : ''\r\n })\r\n ]),\r\n controller.actionButton.Url && controller.actionButton.Title\r\n ?\r\n m('a.slidepage__action-button-wrapper', {\r\n href: controller.actionButton.Url\r\n }, m('.slidepage__action-button', controller.actionButton.Title))\r\n : null\r\n ),\r\n controller.relatedHelpTutorials.length > 0 ?\r\n m('.slidepage__related-help',\r\n m('.slidepage__related-help-title', { style: controller.titleCssStyle }, controller.slidepageRelatedHelpTitle),\r\n m('.slidepage__related-help-wrapper',\r\n controller.relatedHelpTutorials.map(function (tutorial) {\r\n return m('a.slidepage__related-help-wrapper-block', {\r\n href: `/${tutorial.urlPrefix}/${tutorial.safeTitle}`,\r\n config: m.route\r\n }, [\r\n m('.slidepage__related-help-image-wrapper',\r\n m('img.slidepage__related-help-image', {\r\n src: tutorial.image\r\n })\r\n ),\r\n m('.slidepage__related-help-text-wrapper', [\r\n m('.slidepage__related-help-element-title', { style: controller.titleCssStyle }, tutorial.title),\r\n m('.slidepage__related-help-element-text', tutorial.text)\r\n ]),\r\n m('.slidepage__related-help-arrow')\r\n ]);\r\n })\r\n )\r\n ) : null,\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialTipsSystemPage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Templates/Overlay',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/ModalDialog',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, Overlay, ModalDialog, TutorialFooter, Navigation, Hero) {\r\n\r\n return {\r\n controller: function (args) {\r\n // Variables\r\n this.consts = {\r\n R: 'r',\r\n U: 'u',\r\n DESCRIPTION: 'description',\r\n GUARANTEE: 'guarantee',\r\n KEY: 'systemKey'\r\n };\r\n Object.freeze(this.consts);\r\n\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.safeTitle = decodeURI(m.route.param('tutorial'));\r\n this.mostVisitedLabel = args.mostVisitedLabel;\r\n this.mostVisitedList = args.mostVisitedList;\r\n this.footerSettings = args.footerSettings;\r\n this.tutorial = args.tipsSystemTutorial[0];\r\n this.systems = {\r\n r: {},\r\n u: {}\r\n };\r\n this.selectedSystem = this.consts.R;\r\n this.selectedCombination = null;\r\n this.dropdownOpen = false;\r\n this.selectedTable = this.consts.DESCRIPTION;\r\n\r\n window.scrollTo(0, 0);\r\n\r\n this.tutorial.rSystemFolder.tipsSystems.forEach(function (system) {\r\n this.systems.r[system.name] = system;\r\n }.bind(this));\r\n this.tutorial.uSystemFolder.tipsSystems.forEach(function (system) {\r\n this.systems.u[system.name] = system;\r\n }.bind(this));\r\n\r\n this.showOverlay = function () {\r\n new Overlay(new ModalDialog([\r\n m('.tutorial-overlay', [\r\n m('.tutorial-overlay__title', { style: this.titleCssStyle }, this.tutorial.popupHeader),\r\n m('.tutorial-overlay__text', m.trust(this.tutorial.popupText)),\r\n m('img.tutorial-overlay__image', {\r\n src: this.tutorial.popupImage.Source,\r\n alt: this.tutorial.popupImage.AlternameText\r\n })\r\n ])\r\n ], {\r\n buttons: []\r\n })).show();\r\n }.bind(this);\r\n\r\n },\r\n\r\n view: function (controller) {\r\n return m('.tutorial-tips', [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n Hero({ title: controller.tutorial.title, style: controller.titleCssStyle }),\r\n m('.tutorial__content-box.tutorial-tips__content', [\r\n m('.tutorial-tips__content-inner', [\r\n m('.tutorial-tips__header', { style: controller.titleCssStyle }, controller.tutorial.firstHeader),\r\n m('.tutorial-tips__button-wrapper', [\r\n m('.tutorial-tips__button', {\r\n class: controller.selectedSystem === controller.consts.R ? 'tutorial-tips__button--selected' : '',\r\n onclick: function () {\r\n controller.selectedSystem = controller.consts.R;\r\n controller.selectedCombination = null;\r\n }\r\n }, controller.tutorial.rSystemButtonText),\r\n m('.tutorial-tips__button', {\r\n class: controller.selectedSystem === controller.consts.U ? 'tutorial-tips__button--selected' : '',\r\n onclick: function () {\r\n controller.selectedSystem = controller.consts.U;\r\n controller.selectedCombination = null;\r\n }\r\n }, controller.tutorial.uSystemButtonText)\r\n ]),\r\n m('.tutorial-tips__read-more', m.trust(controller.tutorial.subButtonsText)),\r\n m('.tutorial-tips__header', { style: controller.titleCssStyle }, [\r\n controller.tutorial.secondHeader,\r\n m('span.tutorial-tips__popup-trigger', {\r\n onclick: controller.showOverlay\r\n }, '?')\r\n ]),\r\n m('.tutorial-tips__dropdown', {\r\n class: [\r\n controller.dropdownOpen ? 'tutorial-tips__dropdown--open' : '',\r\n controller.selectedCombination ? 'tutorial-tips__dropdown--selected' : ''\r\n ].join(' ').trim(),\r\n onclick: function () {\r\n controller.dropdownOpen = !controller.dropdownOpen;\r\n }\r\n }, [\r\n m('.tutorial-tips__label', controller.selectedCombination || 'KOMBINATION'),\r\n m('.tutorial-tips__dropdown-content', Object.keys(controller.systems[controller.selectedSystem]).map(function (combinationKey) {\r\n return m('.tutorial-tips__combination-key', {\r\n id: combinationKey,\r\n class: combinationKey === controller.selectedCombination ? 'tutorial-tips__combination-key--selected' : '',\r\n onclick: function (event) {\r\n if (controller.selectedCombination === event.currentTarget.id) {\r\n controller.selectedCombination = null;\r\n } else {\r\n controller.selectedCombination = event.currentTarget.id;\r\n }\r\n window.scrollTo(0, 0);\r\n }\r\n }, combinationKey);\r\n }))\r\n ])\r\n ]),\r\n\r\n controller.selectedCombination ? m('.tutorial-tips__table-wrapper', [\r\n m('.tutorial-tips__table-selectors', [\r\n m('.tutorial-tips__table-selector', {\r\n class: controller.selectedTable === controller.consts.DESCRIPTION ? 'tutorial-tips__table-selector--active' : '',\r\n onclick: function () {\r\n controller.selectedTable = controller.consts.DESCRIPTION;\r\n }\r\n }, 'BESKRIVELSE'),\r\n m('.tutorial-tips__table-selector', {\r\n class: controller.selectedTable === controller.consts.GUARANTEE ? 'tutorial-tips__table-selector--active' : '',\r\n onclick: function () {\r\n controller.selectedTable = controller.consts.GUARANTEE;\r\n }\r\n }, 'GARANTI'),\r\n m('.tutorial-tips__table-selector', {\r\n class: controller.selectedTable === controller.consts.KEY ? 'tutorial-tips__table-selector--active' : '',\r\n onclick: function () {\r\n controller.selectedTable = controller.consts.KEY;\r\n }\r\n }, 'NØGLE')\r\n ]),\r\n m('.tutorial-tips__table', {\r\n class: 'tutorial-tips__table--' + controller.selectedTable\r\n }, [\r\n controller.selectedTable === controller.consts.DESCRIPTION ? m('.tutorial-tips__table-title', controller.selectedCombination) : null,\r\n m.trust(controller.systems[controller.selectedSystem][controller.selectedCombination][controller.selectedTable])\r\n ])\r\n ]) : null,\r\n ]),\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialSimplePage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialFooter',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialNavigation',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Components/TutorialHero'\r\n ], function (m, TutorialFooter, Navigation, Hero) {\r\n\r\n return {\r\n controller: function (args) {\r\n window.scrollTo(0, 0);\r\n\r\n this.safeTutorialName = decodeURI(m.route.param('tutorial'));\r\n this.mostVisitedLabel = args.mostVisitedLabel;\r\n this.mostVisitedList = args.mostVisitedList;\r\n this.footerSettings = args.footerSettings;\r\n this.titleCssStyle = args.titleCssStyle;\r\n this.getTextWithHighligt = args.getTextWithHighligt;\r\n this.tutorial = args.allTutorials.filter(function (entry) {\r\n return entry.safeTitle === this.safeTutorialName;\r\n }.bind(this))[0];\r\n },\r\n\r\n view: function (controller) {\r\n return m('.tutorial__simple', [\r\n Navigation(controller), // eslint-disable-line compat/compat\r\n Hero({ title: controller.tutorial.title, style: controller.titleCssStyle, activate: controller.tutorial.activateHeader }),\r\n m('.tutorial__content-box.tutorial__simple-content', {\r\n class: [\r\n controller.tutorial.useFullWidth ? 'tutorial__content-box--full-width' : '',\r\n controller.tutorial.useFullWidth && !controller.tutorial.activateHeader ? 'tutorial__content-box--no-radius' : ''\r\n ].join(' ')\r\n },\r\n m.trust(controller.getTextWithHighligt(controller.tutorial.richText))),\r\n controller.footerSettings ? TutorialFooter({ style: controller.titleCssStyle, activate: controller.tutorial.activateFooter, ...controller.footerSettings }) : null\r\n ]);\r\n }\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Tutorial/Scripts/Tutorial.js',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialFrontpage',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialSlidepage',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialSimplePage',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialAvalonPage',\r\n 'DanskeSpil/Domain/Tutorial/Scripts/Pages/TutorialTipsSystemPage',\r\n ], function (Component, TutorialFrontpage, TutorialSlidepage, TutorialSimplePage, TutorialAvalonPage, TutorialTipsSystemPage) {\r\n\r\n Component('tutorial', function (m, ignoredRoute, settings, ignoredProperty, element) {\r\n\r\n var controller = function () {\r\n this.settings = settings;\r\n this.footerSettings = settings.footer;\r\n this.mostVisitedLabel = settings.mostVisitedLabel;\r\n this.searchQuery = m.prop('');\r\n this.filteredTutorials = m.prop([]);\r\n this.mostVisitedList = settings.mostVisitedList;\r\n this.titleCssStyle = settings.titleCssStyle;\r\n\r\n this.categories = settings.categories;\r\n this.slideTutorials = settings.slideTutorials;\r\n this.avalonTutorials = settings.avalonTutorials;\r\n this.tipsSystemTutorial = settings.tipsSystemTutorial;\r\n this.richTextTutorials = settings.richTextTutorials;\r\n\r\n this.jointList = this.categories.concat(this.slideTutorials).concat(this.richTextTutorials).concat(this.avalonTutorials).concat(this.tipsSystemTutorial).sort(function (a, b) {\r\n return a.order - b.order;\r\n });\r\n this.allTutorials = this.categories.reduce(function (accumulator, category) {\r\n accumulator = accumulator.concat(category.slideTutorials).concat(category.richTextTutorials).concat(category.avalonTutorials).concat(category.tipsSystemTutorial);\r\n return accumulator;\r\n }, []).concat(this.slideTutorials).concat(this.avalonTutorials).concat(this.tipsSystemTutorial).concat(this.richTextTutorials);\r\n\r\n // Populate avalon-tutorials with content from DOM\r\n this.allTutorials.forEach(function (tutorial) {\r\n if (tutorial.urlPrefix !== '/avalon') return;\r\n\r\n var content = document.getElementById(tutorial.id);\r\n\r\n if (content) {\r\n tutorial.content = content.cloneNode(true);\r\n content.id = content.id + '-added-to-js';\r\n tutorial.content.classList.remove('u-hidden');\r\n }\r\n });\r\n\r\n this.getTextWithHighligt = function (text) {\r\n var finalText = text;\r\n if (!this.searchQuery()) return finalText;\r\n\r\n var openingTags = Array.from(text.matchAll(new RegExp('|', 'gi'))).map(function (match) {\r\n return match.index;\r\n });\r\n\r\n if (openingTags.length === 0) openingTags.push(-1);\r\n if (closingTags.length === 0) closingTags.push(-1);\r\n\r\n var searchRegexPrep = this.searchQuery().split(' ').join('|');\r\n var searchRegex = new RegExp(searchRegexPrep, 'gmi');\r\n\r\n var match;\r\n var indexOffset = 0;\r\n while ((match = searchRegex.exec(text)) !== null) {\r\n\r\n var closestPreviousOpeningTag = openingTags.reduce(function (prev, current, index) {\r\n var closest = Math.abs(current - match.index) < Math.abs(prev.val - match.index) && current <= match.index ? current : prev.val;\r\n var isNew = closest !== prev.val;\r\n return { val: closest, index: isNew ? index : prev.index };\r\n }, { val: -1, index: -1 });\r\n\r\n if ((match.index < closestPreviousOpeningTag.val || match.index > closingTags[closestPreviousOpeningTag.index]) || closestPreviousOpeningTag.val === -1) {\r\n finalText = finalText.slice(0, match.index + indexOffset) + '' + match[0] + '' + finalText.slice(match.index + match[0].length + indexOffset);\r\n indexOffset += ''.length;\r\n }\r\n }\r\n\r\n return finalText;\r\n }.bind(this);\r\n };\r\n\r\n var rootctrl = new controller();\r\n\r\n m.route.mode = 'hash';\r\n m.route(element, '/', {\r\n '/': m.component(TutorialFrontpage, rootctrl),\r\n '/slide/:tutorial': m.component(TutorialSlidepage, rootctrl),\r\n '/richtext/:tutorial': m.component(TutorialSimplePage, rootctrl),\r\n '/avalon/:tutorial': m.component(TutorialAvalonPage, rootctrl),\r\n '/tipssystem/:ignore': m.component(TutorialTipsSystemPage, rootctrl),\r\n });\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/ContentHub/Scripts/EloquaForm', [\r\n 'DanskeSpil/Domain/ContentHub/Scripts/Helpers/ContentHubApi',\r\n], function (Api) {\r\n const form = document.querySelector('.eloqua-form');\r\n if (!form) return;\r\n\r\n const cta = form.querySelector('.eloqua-form__cta');\r\n if (!cta) return;\r\n\r\n const inputFields = form.querySelectorAll('.eloqua-form__form-group input');\r\n const selectFields = form.querySelectorAll('.eloqua-form__form-group select');\r\n\r\n const validateEmail = (email) => {\r\n // Validation from https://emailregex.com/\r\n return /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/.test(email);\r\n };\r\n\r\n const getFieldValues = () => {\r\n const id = form.getAttribute('data-form-id');\r\n const fieldValues = [...inputFields, ...selectFields]\r\n .filter(({ id, value }) => id && value)\r\n .map(({ type, id, checked, value }) => {\r\n\r\n if (type === 'checkbox') {\r\n return {\r\n id,\r\n value: checked ? 1 : 0\r\n };\r\n }\r\n\r\n return {\r\n id,\r\n value\r\n };\r\n });\r\n\r\n return { id, fieldValues };\r\n };\r\n\r\n const getContext = () => {\r\n return form.getAttribute('data-form-context') || 'dli';\r\n };\r\n\r\n const initialize = () => {\r\n cta.addEventListener('click', async (ev) => {\r\n\r\n ev.preventDefault();\r\n let canSubmit = true;\r\n\r\n inputFields.forEach((input) => {\r\n let inputIsValid = input.checkValidity();\r\n\r\n if (input.type === 'email' && inputIsValid) {\r\n // Make sure our email input field contains a domain.\r\n inputIsValid = validateEmail(input.value);\r\n }\r\n\r\n if (!inputIsValid) {\r\n canSubmit = false;\r\n }\r\n\r\n input.parentElement.classList.toggle('eloqua-form__field--error', !inputIsValid);\r\n });\r\n\r\n selectFields.forEach((select) => {\r\n let selectIsValid = select.checkValidity();\r\n\r\n if (!selectIsValid) {\r\n canSubmit = false;\r\n }\r\n\r\n select.parentElement.classList.toggle('eloqua-form__field--error', !selectIsValid);\r\n });\r\n\r\n if (!canSubmit) return;\r\n\r\n await Api.sendCampaignForm(getFieldValues(), getContext());\r\n window.scrollTo(0, 0);\r\n form.classList.add('eloqua-form--submitted');\r\n });\r\n };\r\n\r\n initialize();\r\n\r\n});\r\n"]}